\MAKEMSI Installs...Available FrameworksWindows Hot Fixes
Windows Hot Fixes ("HOTFIX.MMH") |
This makes creating MSI files for windows hot fixes
(based on "http://support.microsoft.com/kb/262841" or similar)
a trivial process of configuration,
there are many options see "HOTFIX.MMH" for details.
Please see the example "TryMeWindowsHotFix.MM" for
a demonstration of how it could be done.
This sample gets the script down to 2 lines, no need for a
version file and all you need to do is add your downloaded hotfix EXE.
The basic steps are:
- Download the Hotfix into a directory named for that hotfix,
for example download "Windows2000KB12345x86ENU.EXE" into a
subdirectory called "KB12345".
This directory name must match the "HotFixId" property returned
by the WMI object "Win32_QuickFixEngineering" which is used to
validate the hotfixes successful install.
I also recommend that you organise this according to what its
(minimum?) target environment is, for examples you might put
the "KB12345" directory under a tree called
"WindowsHotFixes\WIN2000\SP4".
- Put your script ("HotFix.MM", "KB12345.MM" or whatever you called it)
into this directory.
See "TryMeWindowsHotFix.MM" for one example of
a script.
It will work out what the hotfix is called from the parent
directories name.
This script can potentially be identical for all hot fix MSIs.
- The script will need to include "HotFix.MMH" but you should not
to do so directly.
You may want to alter the options for "groups" of hotfixs,
for example you may be creating hotfixes for WIN2000 and
WINXP and possibly even for different service pack levels
within that, I'd recommend creation of
option files such as "HotFix4Win2000.MMH"
which set up launch conditions etc for that
situation, and these be used by your ".MM" script which only has the
required "#include" command.
- Check the switches used are all valid for the version of the hotfix
installer EXE,
for example "/LOG" only available in version 6.1.22.0+.
THe framework tries to work out the correct switches by examining
the EXE but if you are having problems check it!
- Copy a ".ver" file from another hotfix directory and change at
least the "UpgradeCode" and version history.
Not that the "TryMeWindowsHotFix.MM" shows
how to eliminate this step (a common ".ver" file is used).
- I suggest you download "QFECHECK.EXE" from microsoft, install it and
copy the installed "QFECHECK.EXE" file out of the system directory.
By default if MAKEMSI finds it it will execute it and log the output,
this should make diagnosis of problems a lot easier.
- Build the MSI and test its install and uninstall.
I suggest using virtual machines for this.
If the "/LOG" switch wasn't or couldn't be used then look for
a log files in the Windows (%Windir%) directory, sort but date/time
or look for:
- KB12345.log (hot fix name - log appended to).
- CabBuild.log (mentioned in MS KB262841)
- You may need to vary command line options to package older or
possibly even newer hotfixes, the switches being used are
valid for version "6.1.22.0" of the updater, for more details
see "http://support.microsoft.com/kb/262841" for more
details.
If you have any problems be sure to read: