From MSI to WiX, Part 13 – Installable Items – Environment variable

The main page for the series is here.   Introduction I am beginning a mini-series on installable items.  Today’s topic – environment variables. MSI story In order to install an environment variable we need to add a record into the Environment table.  Here are the fields we need to fill: Environment – public key to be referenced from…

5

From MSI to WiX, Part 12 – Customizing installation using Transitive components

The main page for the series is here.   Introduction This post is from the same group as Part 6 and 7. Normally, we use transitive components when our product has system-specific component and depending on system state we want to install one component or the other.  For example, we might have Windows XP-specific dll and…

2

Property does not exist or empty when accessed from deferred custom action

Problem Property is created, but when deferred custom action tries to get its value – property either does not exist or its value is empty. Sample Let’s test it with immediate custom action first to make sure that property has a value: <?xml version=”1.0″ encoding=”UTF-8″?> <Wix xmlns=”http://schemas.microsoft.com/wix/2003/01/wi”>     <Product Id=”{94A35E02-D48F-48F1-AC1A-23F62489BBF4}”            Name=”Minimal Windows Installer…

5

Conditions for different types of installation

Content Detecting the installation state Detecting the type of the maintenace installation   Detecting the installation state Use Installed property to determine if product is installed per-machine or for the current user.  Keep in mind that the product can be installed for a different user. Conditions Condition Description Installed Product is already installed either per-machine…

2

How to run an installer without installing the product

To run an installer without actually installing the product set the value of EXECUTEMODE property to “None” in the command line: MsiExec /I MyProduct.msi EXECUTEMODE=None That will let you to test-run your installer without actually updating the target system.  Remember:  Well behaving custom action will honor the value of this public property.  

1

Property created in UI sequence lost its value in Execute sequence

Problem You create a property in the UI sequence and set its value.  When you try to use this property in the Execute sequence, the property is missing or blank. Sample In this sample we will use Application Search to find the installation path to the Zune software during execution of the InstallUISequence.  We will…

3

Wix and MSI tips

Property created in UI sequence lost its value in Execute sequence Property does not exist or empty when accessed from deferred custom action How to run an installer without installing the product  

0

From MSI to WiX, Part 9 – Patching

The main page for the series is here.   Introduction I’ll show a very simple sample of small update.   Directory structure for the sample The directory structure I am using for this sample is: Patching     SmallUpdate         RTM         QFE         Include         Patch     Project         TestApp             TestApp             TestLib         TestApp2…

5