Friday, December 21, 2012

Microsoft Windows Essentials 2102 Movie Maker - silent install MSI wrap design


Microsoft Windows Essentials is a collection of consumer software provided free by Microsoft for use on Windows 7.  The version solutioned here was 2012 v16.4.3505.0912

In normal interactive use, it is a controlled by a setup.exe shell which coordinates many MSI type installs which are automatically extracted out at runtime.  The challenge was to find a why to do a silent deployment in a corporate environment.

Firstly it was necessary to understand how the setup.exe program maybe installed in an unattended way.
http://angrytechnician.wordpress.com/2010/10/01/deploying-windows-live-essentials-2011/

The following command line enabled only the required applications from Windows Essentials to be installed.
/q /Nolaunch /NOToolbarCEIP /Nohomepage /nosearch /NOMU /AppSelect:MovieMaker /log:<PathToLog>\Microsoft_WindowsEssentials2012MovieMaker_16.4.3505.0912_P1.0.log

Although this command worked, the user was still exposed to various unwanted prompts on the first occasion that they launched Movie Maker.  These could be avoided by pre populating the user registry with relevent keys that had been previously identified.  The prompts were about signing in to Windows LIVE and  choosing file extensions.


HKCU\Software\Microsoft\Windows Live\Photo Gallery\Library DontShowAssociationsDialogExtensions [~].TIFF[~].TIF[~].DIB[~].WDP[~].PNG[~].ICO[~].JPE[~].JPG[~].BMP[~].JFIF[~].JPEG

HKCU\Software\Microsoft\Windows Live\Photo Gallery
SignInRemindersLeft
#0

HKCU\Software\Microsoft\Windows Live\Common
TOUVersion
16.0.0.0

HKCU\Software\Microsoft\Windows\CurrentVersion\Ext\Settings\{9030D464-4C02-4ABF-8ECC-5164760863C6}
Flags
#40

The MSI package design was intended to be deployed via SCCM.

The Setup.exe was imported to the binary table and called by a custom action to start the install.  The uninstall.exe was also imported to the binary table and called during an uninstall.  

ActiveSetup keys were used to expose users at first logon to the HKCU keys which prevent the unwanted prompts appearing.

The SMS package definition file carried the CANRUNWHEN=NoUserLoggedOn to ensure all users were exposed to the HKCU keys before having access to the shortcuts.