Tao of the Windows Installer, Part 4
So, we've covered the basics of the Installer, created a package and deployed it. So far, so good, but what happens if the application needs updated? Well, here are some things to think about with regard to patching. Enjoy.
Series links:
Patching Rule 40: Use Installer Version 3.0 or Later
One of the main objectives of MSI3.0 was to improve application servicing. There are many new features such as sequencing and obsolescence that greatly aid in patching installed applications. In addition, from a system administrators point of view, one key improvement is the ability to remove patches. Prior to Installer v3.0 patches could not be uninstalled without removing the parent application. This is no longer the case. Note that you should update the Installer before you deploy any applications or patches, as upgrading afterwards does not make already installed patches uninstallable. If this is not possible, then still author patches for MSI3.0. While they won’t be able to take advantage of the new features, they are fully backward compatible and won’t need changed once you do upgrade.Rule 41: Design and Test Your Servicing Strategy Before You Ship the Initial Product You must know in advance how you’ll be updating your product, and once it’s shipped it’s too late to change its design. So build and install your product, then create an update (a minor update, a major upgrade, whatever you’ll be using) and make sure that it works.Rule 42: Author Packages to Avoid Source Requirements During Patching Rule 43: Think carefully about Merge Module Patching Rule 44: Avoid Patching Aministrative Installs Rule 45: Use Least Privileged User Account (LUA) Patching if Possible Rule 46: Use the Correct Type of Patch for the Job Rule 47: Let the patch authoring environment handle sequencing if possible In most cases, patches for a product fall in a single patch family, and the sequence values in that patch family increase over time. This design idiom is so common that most authoring environments that support patch sequencing automatically create sequencing metadata that fits this design.Rule 48: Use a single PatchFamily per product unless specific requirements exist for more than one family For most products, a single patch family provides enough flexibility to sequence patches. When multiple patch families are used, the complexity of authoring increases. If the additional functionality provided by multiple patch families is not required, you can avoid the unnecessary authoring work.Rule 49: Follow the guidelines for patch families whenever possible The guidelines for defining patch families are designed to reduce the complexity of patch authoring and patch management. Following the patch guidelines results in fewer authoring errors and simpler sequencing behavior.Rule 50: Use meaningful names for patch families Because patch family names have no meaning except as unique identifiers, use a meaningful name that indicates something about the servicing model (whether it is the target product identity, the updated functionality, the company name, or something meaningful to the patch author.)Rule 51: Always skip numbers in the fourth field By skipping numbers in the fourth field between consecutive patches, future patches can be sequenced between existing patches. If patch A is 1.2.3.100 and patch B is sequenced with 1.2.3.200, a future patch could, if required, be sequenced as 1.2.3.150. Using fewer than four fields in the sequence number also ensures that space exists between two consecutive patches.Rule 52: Do not try to extract data from a patch sequence number Although sequence numbers may be based on other data about the patch or target product, the algorithm used to generate the sequence number varies from authoring environment to authoring environment. In other cases, the algorithm may be ignored completely to achieve the desired sequencing behavior. Attempting to extract data from a sequence number may result in invalid data. |
[Author: Richard Macdonald]
This posting is provided "AS IS" with no warranties, and confers no rights. Use of included script samples are subject to the terms specified at https://www.microsoft.com/info/cpyright.htm.
Comments
Anonymous
June 27, 2006
The comment has been removedAnonymous
July 03, 2006
An off topic question I wanted to ask long ago, but missed the spot to do it...
What in the world is Windows Installer doing when it says preparing to install? Is it getting psyched up? I have a 1.3GB single file .msi that takes over 5 minutes preparing to install...seems a bit excessive.Anonymous
July 08, 2006
I recently noticed a series of in-depth articles that have been posted on the Windows Installer team...Anonymous
July 12, 2006
I ihing your msi file (1,3 GB) ist too large. You schould make many small (100 mb) cabs file.Anonymous
July 19, 2006
As an off topic suggestion, I think Windows Installer Team can now publish a book for Windows Installer Technology. This will help many enthusaists Developers and Deployers understand the process from someone who designed and developed the tool. Best would be "Understanding & Working with Windows Installer 4.0 and popular OS Platforms".Anonymous
July 20, 2006
Generally, the larger your MSI file the longer it will take to initialize the engine. The best suggestion to reduce initialization time is to reduce the size of your MSI package.
--------
Unfortunately, there aren't any plans for the Windows Installer Team to write a book. However, there are many books already available on the Windows Installer. I highly suggest taking a look at the book list at www.installsite.org.Anonymous
September 18, 2006
Well, here we are with the last part in this series, where we'll be looking at security in relation to...Anonymous
September 18, 2006
Well, here we are with the last part in this series, where we'll be looking at security in relation to...Anonymous
October 04, 2006
PingBack from http://929.hu/blog/?p=113Anonymous
October 16, 2006
Windows Installeriga on küllaltki keerukas algajal otsi lahti teha. Mul endalgi on üks installer käsil ja tänu keerukamale funktsionaalsusele, mida see peab pakkuma, tuli ka rohkem süveneda Windows Installeri hingeellu. Leidsin internetis ringi tu...Anonymous
October 30, 2007
Today, Macrovision Corp. notified customers of FLEXnet Connect® (formerly called InstallShield UpdateAnonymous
January 21, 2009
PingBack from http://www.keyongtech.com/2822463-windows-installer-3-x-patching