Friday, December 21, 2012

Filemaker Pro 8.5 with a Win 7 fix server.pem file


The installation references the “Assisted Install.txt” to aquire the variables necessary for a silent/unattended installation.

The installation instructions describe copying over a server.pem file which is necessary for using the product on Windows 7.  The silent installation creates a server.pem file.  It is copied down to the client during the normal InstallFiles action however it is also recreated by a vendor custom action – LaunchOpenSSL.  In order for the silent installation to correctly place the Windows 7 fix version the transform has been designed in the following way:
The transform copies down the Windows 7 fix file called serverWin7Fix.pem_
After the vendor custom action creates the server.pem file a BC_Win7FixServer.pem custom action copies the serverWin7Fix.pem file over the server.pem file.

The application has an autoupdate plugin this is activated by default and controlled by a HKCU key


HKCU\Software\FileMaker\FileMaker Pro\8.5\PlugIns
"Disabled"="$FMAURDACFWEB"

The data value for the above registry key disables the autoupdate.

The registry key is written in using autorepair prior to first launch by the BC_HKCU component which has been associated with the Application feature to utilise autorepair functionality.

vbscript custom action: note could be improved by use of variables.

On Error Resume Next
'This script places a Windows7 fixed version of server.pem into the installed file set.

Dim objFSO, AppFolder
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
AppFolder = "C:\Program Files (x86)\FileMaker\FileMaker Pro 8.5\"
Const OverwriteExisting = "True"
objFSO.CopyFile AppFolder & "serverWin7Fix.pem_" , AppFolder & "server.pem" , OverwriteExisting 

The custom action was called last in the InstallExecuteSequence "CA_Win7FixServer.pem"  NOT REMOVE~="ALL"

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.