[wix-users] IIS Extension Certificate Installer & TARGETDIR

Rob Mensching rob at firegiant.com
Mon Aug 24 09:50:10 PDT 2015

Verbose log file will show you what the Windows Installer decided to do with the Component states. Generally, using TARGETDIR as the Directory for a Component is a bad idea (unless you explicitly set TARGETDIR... which isn't my personal preference but it can be made to work).  I tend to pretend TARGETDIR does not exist.

 FireGiant  |  Dedicated support for the WiX toolset  |  http://www.firegiant.com/

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Andy Clugston
Sent: Monday, August 24, 2015 7:50 AM
To: wix-users at lists.wixtoolset.org
Subject: [wix-users] IIS Extension Certificate Installer & TARGETDIR


We have discovered an issue related to upgrading certificates with our product.

The issue is manifesting itself in the field during an upgrade the certificate is being removed, and the installation/upgrade is finishing successfully. When our product initializes, it recognizes the certificate is not present, and in this case the product is not usable.

After some research of logs, it appears that this is linked to Windows Installer assigning TARGETDIR during the install process. To be clear, TARGETDIR is not hardcoded, nor is it set on the command line during the install/upgrade. (our installs are silent). We have always let Windows Installer determine TARGETDIR. These cases are appearing when a small HDD/SSD is used, and D:\ ends up being larger than C:\, which I realize Windows Installer will then set ROOTDIR to D:\ and subsequently TARGETDIR to D:\ based on the free space logic that is used when the MSI initializes.

In the case of the failures TARGETDIR is set to D:\, whereas typically it is set to C:\. It *appears* that the IIS extension logic takes a bad path when this occurs, and actually uninstalls the certificate.

The bad log shows this entry:

MSI (s) (28:88) [15:59:41:718]: Allowing uninstallation of shared
component: {D7AB2C82-3B28-47EB-A957-9D830A18B104}. Other clients exist, but installed to a different location

The good log the following:

MSI (s) (44:48) [14:57:10:515]: Disallowing uninstallation of component:
{D7AB2C82-3B28-47EB-A957-9D830A18B104} since another client exists

To be clear the *good* log is where TARGETDIR is set to C:\.

So, high level at the moment, are there any known issues/bugs? We are using WiX 3.5.

Thank you for the help.

WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

More information about the wix-users mailing list