No doubt you’ve heard the Microsoft .NET Framework 3.5 was released. Aaron Stebner has posted a list of links to 3.5, as well as 2.0 Service Pack 1 (SP1) and 3.0 SP1. It’s important to note that if you install 3.5 you’re actually getting 2.0 SP1 and 3.0 SP1 both.
Windows Installer custom actions that launch executables (base custom action type msidbCustomActionTypeExe, 0x2) are typically bad and should be avoided. How are they bad? Let the Windows Installer team count the ways.
During internal audits we question any EXE custom actions (CAs) but inevitably some make it into the product.
In the latest WiX v3 drops a new element is supported to configure transform validation bits. The default is still 0x0922001f but you can now configure them. Torch.exe was also modified to accept transform validation bits using the same flags as msitran.exe in the Windows Installer SDK,
Transforms can change just about anything in an installation package – even the code page. Transforms can also add and drop both tables and columns but they cannot, however, change the column type. This is true for patches as well, since a patch package contains transforms.
In last week’s release some changes to patching with WiX were made with more exciting changes to come. Peter Marcu has implemented some changes he’ll talk more about on his blog, but suffice to say has reduced the number of commands and command line arguments required to build a patch.
I’ve discussed a couple different reasons that Windows Installer 3.0-style patches – those with the MsiPatchMetadata table in the patch package itself – might not be uninstallable. I explained another reason in a discussion about the new patch build support in Windows Installer XML (WiX) v3 recently,
To write an installer for your PowerShell snap-in, the PowerShell documentation instructs you to extend the PSSnapIn or CustomPSSnapIn class. When you add your snap-in assembly to the Custom Action view in a Windows Installer Project in Visual Studio, the InstallerClass property should be set to True and your installer class will be run when the Windows Installer package gets installed.
Peter Marcu has begun talking about new functionality added into WiX 3.0 that he’s been working on a lot. One of the specific features is filtering by patch families. Based on a concept Office has used internally, patch families in this case are a set of resources that must be in a patch,
The Microsoft .NET Framework installs assemblies into two different locations, and this practice is recommended to developers wishing to deploy assemblies both for runtime and design-time use.
Runtime assemblies are those assemblies needed for an application to execute. It is recommended that you add runtime assemblies to the Global Assembly Cache (GAC).
It’s well documented and understood that package codes should be unique for product and patch packages. The package code, also referred to as a patch code for .msp files, is a unique identifier for that package. For patches, the patch code may also be used for obsolescence,