Ah, that makes sense and may be what is causing the 32-bit msi to be
executed with uninstall.  I'll look into how to fix that.  Any ideas?

It does not however explain why the MSI's UI is never displayed . . .  Even
if I take the InstallCondition out along with the second MsiPackage, I
still don't get the UI on the second run of the bootstrapper.

Thanks!

Karl

On Tue, Jan 29, 2013 at 10:05 AM, Hoover, Jacob
<jacob.hoo...@greenheck.com>wrote:

> My guess would be because you are sharing UpgradeCode.  When burn runs a
> second time, the 32bit MsiPackage is going to detect based on upgrade code.
>  Because your InstallCondition evaluates to false, it schedules the removal
> of it.
>
> -----Original Message-----
> From: Karl Werner [mailto:karl.wer...@gmail.com]
> Sent: Tuesday, January 29, 2013 9:32 AM
> To: wix-users@lists.sourceforge.net
> Subject: Re: [WiX-users] Redisplay MSI's UI when Bootstrapper is run a
> second time
>
> 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
>
>
> ------------------------------------------------------------------------------
> 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
>
------------------------------------------------------------------------------
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

Reply via email to