Visual C++ 2013 Silent install and MSI

You can download the Visual C++ 2013 Redist editon and take a peak at how to deploy this prerequisite software.

If running executing the file with a /? you will receive the prompt below;

vcredis_x86.exe /?

SNAGHTML2e8eeacf

/install / repair and /uninstall will perform its respective action. /layout will extract the vcredist_x86.exe to the folder specified. No idea what the purpose is for that one?

If you install this manually there will be three log-files created in %TEMP%. They have a prefix of; dd_vcredist_x86

Reading the log-files shows us that the MSI-files will be extracted in a GUID-location in this folder;

C:\ProgramData\Package Cache\

ProductCode for Minimum; {13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}

ProductCode for Additional:{F8CFEB22-A2E7-3971-9EDA-4B11EDEFC185}

A sample command-line to install them;

vcredist_x86.exe /install /quiet /norestart /log %TEMP%\vcredist_2013_x86.log

If you want to deploy the MSI-files you can use the same property as documented for VC++ Redist 2012;

ADDEPLOY=1

Deploy Internet Explorer 11

All you need to successfully deploy Internet Explorer 11

 

Plan, Customize and Build with the IEAK 11
http://technet.microsoft.com/library/dn338134.aspx

IEAK
http://www.microsoft.com/en-us/download/details.aspx?id=40903

Troubleshooting a failed installation of Internet Explorer 11
http://support.microsoft.com/kb/2872074

IE 11 FAQ for IT Pros
http://technet.microsoft.com/library/dn268945.aspx

Prerequisite updates for IE11
http://support.microsoft.com/kb/2847882

Log-file for the installation;
%WINDIR%\IE11_main.log

Experts2Experts Virtualization Conference

E2EVC Virtualization Conference

Join me and quite a few of the virtualization community in Rome for a weekend of interesting sessions and great discussions. E2E Virtualization Conference allows for a chance to meet up lots of great people out there willing to share everything they have encountered in the most relaxed conference for Virtualization specialists.

During the weekend of 1 – 3 November the hotel ROMA CITTA H10 will be full of us geeks that non-biased can discuss (for the 10th year around) the in’s and out’s of the technology out there in the end-user computing market.

The schedule is packed with sessions starting at eight in the morning and ending at just before seven o’clock at night.

Internet Explorer 10 fails to install

As I am still running Windows 7 simply due to the lack of time to update my main computer, beeing able to update to to Internet Explorer 10 was simply a great opportunity to improve my experience on browsing the web. Unfortunately the installation experience failed miserably. The install wizard looped through in no-time at all, restarted Internet Explorer. No error, unfortunately – no Internet Explorer 10 either.

To customize the experience for deploying it to an enterprise you can use the Internet Explorer Administration Kit. A more detailed explanation of howto provide it via an image is also available via Technet.

Lets continue with the installation issue… first of all, I  verified that all prerequisites were installed. This could easily be done by visiting a already available knowledgebase article that states all the prerequisites and provides easy to access links for all of them. Unfortunately this did not alter the behavior in anyway and the next article up is Troubleshooting a failed installation of Internet Explorer 10. The article did provide some general insights, but none of the steps did provide any alteration of the behavior – it seems to more provide content with an end-user in mind then an IT administrator. There, lets review the Technet article Troubleshooting Internet Explorer 10.

The following is listed in the article;

If Setup fails, you can troubleshoot errors by using the Setup log files:

  • IE10_main.log
  • IE10_NR_Setup.log
  • IE10_uninst.log
  • cbs*.log
  • WU_IE10_LangPacks.log

Great! Lets start digesting! I could only locate the IE10_main.log within C:\Windows

Here is a cut out of the log that seemed interesting;

image

Whats so special about the above? C:\Windows\sysnative is not a folder I have ever seen.

The first command-line looks like this;

00:03.214: ERROR:   Unable to create process ‘C:\Windows\SysNative\dism.exe /online /add-package /packagepath:C:\Windows\TEMP\IE147AE.tmp\IE10-neutral.Extracted.cab /quiet /norestart’, errorID = 0x00000000 (0)

The above tells me;

  • It installs Internet Explorer 10 using DISM
  • It extracts all files necessary to a specific sub-folder within c:\windows\temp\
  • I can most likely install this on my own

I restarted the installer, located the temp-folder and extracted all the files. I simply copied the entire lot to c:\windows\temp to ease my next step. This is what the folder looks like;

image

I removed the c:\windows\sysnative and the sub-folder from temp to get the following commands;

dism.exe /online /add-package /packagepath:C:\Windows\TEMP\IE10-neutral.Extracted.cab /quiet /norestart

dism.exe /online /add-package /packagepath:C:\Windows\TEMP\Spelling_en\Windows6.2-KB2764916-x86.cab /quiet /norestart

dism.exe /online /add-package /packagepath:C:\Windows\TEMP\Hyphenation_en\Windows6.2-KB2764913-x86.cab /quiet /norestart

The packages installed and after a reboot – finally!

image

Keyboard Layouts–cleanup the languagebar

Want to get rid of excess language settings? In an European environment it can be quite nasty and if your organization truly spans across the globe – multiple settings can conflict. Here is to set the record straight and cleanup things properly from a default / mandatory profile along with some major HKLM cleanup to smoothly offer the right keyboard layout for users.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{0000897b-83df-4b96-be07-0fb58b01c4a4}\LanguageProfile\0x00000000\{0001bea3-ed56-483d-a2e2-aeae25577436}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{03B5835F-F03C-411B-9CE2-AA23E1171E36}\LanguageProfile\0x00000411\{A76C93D9-5523-4E90-AAFA-4DB112F9AC76}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{241A9AFE-5045-43a8-9F86-1B5E3814095C}\LanguageProfile\0x00000404\{0AEC109C-7E96-11D4-B2EF-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{241A9AFE-5045-43a8-9F86-1B5E3814095C}\LanguageProfile\0x00000404\{0B883BA0-C1C7-11D4-87F9-0080C882687E}]

“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{241A9AFE-5045-43a8-9F86-1B5E3814095C}\LanguageProfile\0x00000404\{B2F9C502-1742-11D4-9790-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{241A9AFE-5045-43a8-9F86-1B5E3814095C}\LanguageProfile\0x00000404\{F3BA907A-6C7E-11D4-97FA-0080C882687E}]

“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{3FC47A08-E5C9-4BCA-A2C7-BC9A282AED14}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{3FC47A08-E5C9-4BCA-A2C7-BC9A282AED14}\LanguageProfile\0x00000804\{F3BA9077-6C7E-11D4-97FA-0080C882687E}]

“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{3FC47A08-E5C9-4BCA-A2C7-BC9A282AED14}\LanguageProfile\0x00000804\{FA550B04-5AD7-411f-A5AC-CA038EC515D7}]

“Enable”=dword:00000000

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{4518B9B5-7112-4855-B64F-2EC0DD2831E6}\LanguageProfile\0x00000411\{54EDCC94-1524-4bb1-9FB7-7BABE4F4CA64}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404\{0B883BA0-C1C7-11D4-87F9-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404\{4BDF9F03-C7D3-11D4-B2AB-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404\{6024B45F-5C54-11D4-B921-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404\{761309DE-317A-11D4-9B5D-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404\{B2F9C502-1742-11D4-9790-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{531FDEBF-9B4C-4A43-A2AA-960E8FCDC732}\LanguageProfile\0x00000404\{F3BA907A-6C7E-11D4-97FA-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}\LanguageProfile\0x00000804\{F3BA9077-6C7E-11D4-97FA-0080C882687E}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}\LanguageProfile\0x00000804\{FCA121D2-8C6D-41fb-B2DE-A2AD110D4820}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{A028AE76-01B1-46C2-99C4-ACD9858AE02F}\LanguageProfile\0x00000412\{B5FE1F02-D5F2-4445-9C03-C568F23C99A1}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{AE43355F-D71A-4E19-BB94-C23CCBF88F74}\LanguageProfile\0x00000412\{48878C45-93F9-4aaf-A6A1-272CD863C4F5}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000404\{037B2C25-480C-4D7F-B027-D6CA6B69788A}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000404\{D38EFF65-AA46-4FD5-91A7-67845FB02F5B}]

“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x0000045e]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x0000045e\{8F96574E-C86C-4bd6-9666-3F7327D4CBE8}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000478\{409C8376-007B-4357-AE8E-26316EE3FB0D}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000804]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000804\{54FC610E-6ABD-4685-9DDD-A130BDF1B170}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000804\{733B4D81-3BC3-4132-B91A-E9CDD5E2BFC9}]
“Enable”=dword:00000000

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CTF\TIP\{E429B25A-E5D3-4D1F-9BE3-0C608477E3A1}\LanguageProfile\0x00000804\{EF63706D-31C4-490E-9DBB-BD150ADC454B}]
“Enable”=dword:00000000

 

Looking at the user profile there can be several places in which configuration can be found.

Primary key for keyboard settings;

image

The language bar configuration can be seen under HKCU\Software\Microsoft\CTF and three places below this registry key contains configuration relating to what will be seen in the actual language bar. They are all expanded below.

image

Deploy the App-V 5 client with SCCM 2012

Application Virtualization 5 can be deployed with SCCM 2012 quite easily, but there are some prerequisites that needs to be sorted out and as a good practice several Visual C++ needs to be natively deployed. First of all – we need to collect all the prerequisites

Windows Management Framework 3.0
Visual C++ 2005 SP1 ATL Security Update
Visual C++ 2005 SP1 MFC Security Update
Visual C++ 2008 SP1
Visual C++ 2008 SP1 ATL Security Update
Visual C++ 2008 SP1 MFC Security Update
Visual C++ 2010 SP1
Visual C++ 2012
.NET Framework 4.5
Microsoft Security Advisor: Insecure library loading could allow remote execution

Next step is to extract all MSIs and / or any MSU files. Using 7zip most of the above executable files can be extracted by simply opening it in 7zip. Others might require a switch. See this as an example for VC++ 20;
Extract MSI from Visual C++ 2012 Redistributable

Next is to download the exported SCCM Application;
AppV5.zip

Within SCCM 2012 you simply open the applications node, right-click and choose Import Application;
image

After that you locate the downloaded ZIP-file;

image

After some workloads – all the applications will be defined.

Some words before you get started;

You need to test this within your environment. Your computers may reboot. It may not be the desired configuration. There may be specific configurations which aren’t tested. Test this and do it thoroughly within a lab-environment.

App-V 5 Beta 2 Deployment

Well.. SCCM 2012 makes a lot of things easier… For example – getting all the Visual C++ Redistributables in place.

image

The above is a picture of all the things that are layed down when deploying the App-V 5 Beta 2 client. Most of the list can be found in the older article on howto setup a packaging machine, some are new (such as the Windows Management Framework 3.0 or http://support.microsoft.com/kb/2533623) and others are skipped (J# 1.1..).

Extract MSI from Visual C++ 2012 Redistributable

When you download the new bits for the Visual C++ 2012 redistributable – it comes with an .EXE. This .EXE file is very nice for the common end-user, but working as an Configuration Administrator you are taught the hard-life of using MSIs. By providing the SCCM GUI with an MSI you are provided with so much improvement in the deployment process that doing it manually just seems like a lot of hardwork. For example, you get autodetection if the component is placed on the machine already!

For the older versions of Visual C++ 2010 redistributable you could either via a command-line switch or using an extraction tool (such as Winrar) get the msi-file from the package. The new breed of .EXE-file wasn’t so kind to us and there required some work (and a minor challenge) before it gave up the goods.

1. Install the software
2. Review the registry and find the following keys (these examples are for x64);
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{A2CB1ACB-94A2-32BA-A15E-7D80319F7589}]

image
As you can see – the install source is; C:\ProgramData\Package Cache\{A2CB1ACB-94A2-32BA-A15E-7D80319F7589}v11.0.50727\packages\vcRuntimeMinimum_amd64\
The name is Microsoft Visual C++ 2012 x64 Minimum Runtime.
Minimum ? Sounds like there could be more…

Looking at; HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{AC53FC8B-EE18-3F9C-9B59-60937D0B182C}
There is;
image

We can now extract two MSI-files – from the directories;
Additional runtime; C:\ProgramData\Package Cache\{AC53FC8B-EE18-3F9C-9B59-60937D0B182C}v11.0.50727\packages\vcRuntimeAdditional_amd64\

Minimum; C:\ProgramData\Package Cache\{A2CB1ACB-94A2-32BA-A15E-7D80319F7589}v11.0.50727\packages\vcRuntimeMinimum_amd64\

If simply executing the extracted MSIs you get the following;
image
To install this product, please run Setup.exe. For other installation options, see the Installation section of ReadMe.htm.

Simply add the property ADDEPLOY=1 to bypass the check!