Visual Studio Setup

Installation and containerization of the Visual Studio family of products

WiX v3 Patching Improvements

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 added some documentation for the new the patch build ...

No Environment Change Notification when Reboot Required

The documentation for the WriteEnvironmentStrings action states, Note that environment variables do not change for the installation in progress when either the WriteEnvironmentStrings action or RemoveEnvironmentStrings action are run. On Windows 2000, this information is stored in the registry and a message is sent to notify the system of...

Installing to TARGETDIR

The TARGETDIR property, paired with the SourceDir property in the Directory table, determines the root directory into which all files are copied unless otherwise located. During an administrative installation when all files are extracted the TARGETDIR, this is the only root directory on the file system. The directory structure in the Directory...

Immediate Custom Actions Always Impersonate

Windows Installer is a client/server application. When you install a package using msiexec.exe - which is executed by default in response to shell verbs such as Install - or APIs like MsiInstallProduct the package is initially processed under the user's credentials. This means, of course, that in over-the-shoulder elevation when administrative...

Unchanged Files Break Patch Uninstall

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, describing why unchanged files should not ...

Uninstallable Patches that are not Uninstallable

Patching with Windows Installer is the act of applying a pair of transforms in a patch to a Windows Installer product, then repairing that product. Any changes made in the transforms affect the aggregate view that Windows Installer reinstalls. This is displayed in the diagram below, where the bottom layer is the components in the product MSI, ...

Windows Live Writer Plugin for MSDN URLs

I have posted a Windows Live Writer plugin I wrote to aide posting URLs to MSDN, simply named Paste MSDN URL. It removes, if present, the culture in the URL so that when a reader clicks the link he or she sees the content on MSDN in their preferred language if a translation is available.So, http://msdn2.microsoft.com/en-us/library/aa372866....

WiX Extension for PowerShell Snap-ins

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 ...