Hello WiX Users! I've been running into an issue more often that I care to see. When uninstalling a package via ARP, a dialog pops up stating the installer cannot be found, and prompts the user to locate the MSI on a network share / CD drive. This also shows up when running a major upgrade.
What seems to be happening is the stripped MSI is not being stored in the C:\WINDOWS\Installer directory. This does seem to be a rare issue, but one that is starting to concern me. I mostly see this on XP systems, I don't recall any non-XP boxes honestly, but can't be 100% sure on that. Most (99%) installs/uninstalls work without issue. Any thoughts what could be causing this issue? Installer and Merge Module follows (Guids removed): <?xml version="1.0" encoding="utf-8"?> <?include ExternalProperties.wxi ?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Product UpgradeCode="Upgrade-Guid" Manufacturer="Acme" Id="*" Name="Nifty Drivers" Version="$(var.BuildVersion)" Language="1033"> <Package Id="*" Keywords="Installer,MSI,Database" Description="Nifty version $(var.BuildVersion)" Comments="Contact: Your local administrator" Manufacturer="Acme" InstallerVersion="300" Languages="1033" SummaryCodepage="1252"/> <Upgrade Id="Upgrade-Guid"> <UpgradeVersion Minimum="$(var.BuildVersion)" IncludeMinimum="no" OnlyDetect="yes" Language="1033" Property="NEWPRODUCTFOUND" /> <UpgradeVersion Minimum="1.0.0.0" IncludeMinimum="yes" Maximum="$(var.BuildVersion)" IncludeMaximum="no" Language="1033" Property="PREVIOUSVERSIONSINSTALLED" /> </Upgrade> <InstallExecuteSequence> <Custom Action="PreventDowngrading" After="FindRelatedProducts">NEWPRODUCTFOUND</Custom> <RemoveExistingProducts Before="InstallInitialize" /> </InstallExecuteSequence> <!-- Prevent downgrading --> <CustomAction Id="PreventDowngrading" Error="Newer version already installed." /> <Media Id="1" Cabinet="Sample.cab" EmbedCab="yes"/> <Condition Message="This driver install requires a 32 bit Operating System.">NOT VersionNT64</Condition> <Directory Id="TARGETDIR" Name="SourceDir"> <Merge Id="Driver" DiskId="1" Language="1033" SourceFile="$(var.OutPutRoot)USBDevice.msm" FileCompression="yes"/> <Component Id="RegisterVersion" Guid="Guid-is-Here"> <RegistryValue Id="Version" Root="HKLM" Action="write" KeyPath="yes" Type="string" Key="Software\Acme\USBDevice" Name="Version" Value="$(var.BuildVersion)" /> </Component> </Directory> <Feature Id="Base" Level="1" Absent="disallow" AllowAdvertise="no" Description="Base Files" Display="hidden" Title="Base Files"> <MergeRef Id="Driver"/> <ComponentRef Id="RegisterVersion"/> </Feature> </Product> </Wix> The guts of the USBDevice.msm: <Directory Id="Drivers" Name="Drivers"> <Directory Id ="Nifty" Name="Nifty"> <Component Id="USBProgrammerDriver" Guid="GUID-is-here" > <difxapp:Driver AddRemovePrograms="no" DeleteFiles="no" ForceInstall="yes" Legacy="no" PlugAndPlayPrompt="no"/> <File Id="Niftyusb.inf" Name="Niftyusb.inf" KeyPath="yes" Source="$(var.OutPutRoot)BulkUSB\Niftyusb.inf"/> <File Id="Niftyusb.sys" Name="Niftyusb.sys" Source="$(var.OutPutRoot)BulkUSB\Niftyusb.sys"/> <File Id="Niftyusb.cat" Name="Niftyusb.cat" Source="$(var.OutPutRoot)BulkUSB\Niftyusb.cat"/> </Component> </Directory> <!-- Previous version was set to not-uninstall. Override and remove!--> <Component Id="RemoveOldDriver" Guid="GUID-is-here"> <RemoveFile Id="rem1" Name="Niftyusb.inf" On ="both"/> <RemoveFile Id="rem2" Name="Niftyusb.sys" On ="both"/> <RemoveFile Id="rem3" Name="Niftyusb.cat" On ="both"/> </Component> </Directory> ------------------------------------------------------------------------------ Protect Your Site and Customers from Malware Attacks Learn about various malware tactics and how to avoid them. Understand malware threats, the impact they can have on your business, and how you can protect your company and customers by using code signing. http://p.sf.net/sfu/oracle-sfdevnl _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users