There appear to be 2 distinct problems here: 1) MSI's UI is not redisplayed on subsequent bootstrapper execution. 2) Install Conditions are not behaving as I expect.
I've discovered that the uninstall is happening because I have two msi packages, one for 64-bit, and another for 32-bit. These msi's actually share the same wxs files, but have pre-processors variables to drop stuff in the correct locations depending upon the bit level of the machine. I have Install conditions on MSIPackage as such: <!-- 32-bit --> <MsiPackage Name="MSI\Our Product_x86.msi" SourceFile="$(var.PkgLocation)Our Product_x86.msi" InstallCondition="NOT VersionNT64" DisplayInternalUI="yes" EnableFeatureSelection="yes" Visible="yes"> <MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]Our Product" /> </MsiPackage> <!-- 64-bit --> <MsiPackage Name="MSI\Our Product_x64.msi" SourceFile="$(var.PkgLocation)Our Product_x64.msi" InstallCondition="VersionNT64" DisplayInternalUI="yes" EnableFeatureSelection="yes" Visible="yes" > <MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]Our Product" /> </MsiPackage> What seems to happen is: 1) On first bootstrapper run, the install conditions are evaluated properly on my x64 machine and only the 64-bit msi is executed. 2) On the second bootstrapper run, for some reason the 32-bit msi is executed with an uninstall action, which actually uninstalls the product even though it had been installed via the x64 msi, since they share product ids and upgrade codes. So the driving questions are: 1) Why is the x86 msi ignoring the install condition on the second run of the bootstrapper? 2) How do I get the x64 msi executed and have the msi's UI displayed as if I had launched the msi itself from the command line? Thanks! Karl On Tue, Jan 29, 2013 at 9:00 AM, Karl Werner <karl.wer...@gmail.com> wrote: > Currently we have a Wix Bundle that provides minimal interaction through a > custom .Net UI. We don't have the Bundle name set so the bootstrapper > won't get registered in ARP (by design). It then chains some pre-rquisites > and our product. Our product is an MsiPackage, something like this: > > <MsiPackage Name="MSI\Our Product.msi" > SourceFile="$(var.PkgLocation)Our Product.msi" > DisplayInternalUI="yes" EnableFeatureSelection="yes" > Visible="yes"> > <MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]Our > Product" /> > </MsiPackage> > > This all works great to install the product from the first launch of the > bootstrapper exe. The MSI's UI gets displayed as desired, and the MSI > shows up in ARP and not the bootstrapper. All good. > > However, when the bootstrapper exe is launched a second time, it silently > uninstalls our product. It looks like the Plan generates an uninstall > action when executing the MSI. > > The desired behavior is to redisplay the MSI's UI, which will then detect > that the product is installed and give the users the options to Repair, > Reinstall, etc. > > How can I do this? > > Thanks! > > Karl > ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. ON SALE this month only -- learn more at: http://p.sf.net/sfu/learnnow-d2d _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users