While I'm still stuck on the core issue here of not being able to redisplay
the UI from the bootstrapper, I thought I'd document another way around the
ancillary uninstall issue:

Add a ComponentSearch for a component that the msi's will install:

<util:ComponentSearch Guid="YOURGUID-9609-4907-83FB-234DA4753C9F"
Variable="ProductInstalled"/>

Then set the InstallConditions similar to this:

 <MsiPackage Name='msi\$(var.WixBootstrapperTestInstaller.TargetFileName)'
SourceFile="$(var.WixBootstrapperTestInstaller.TargetPath)"
DisplayInternalUI="yes"
                  InstallCondition="ProductInstalled OR NOT VersionNT64"
EnableFeatureSelection="yes" Visible="yes"/>
      <MsiPackage
Name='msi\$(var.WixBootstrapperTestInstaller64.TargetFileName)'
SourceFile="$(var.WixBootstrapperTestInstaller.TargetPath)"
DisplayInternalUI="yes"
                  InstallCondition="ProductInstalled OR VersionNT64"
EnableFeatureSelection="yes" Visible="yes"/>

Karl

On Tue, Jan 29, 2013 at 10:34 AM, Karl Werner <karl.wer...@gmail.com> wrote:

> So I populated the UpgradeCode using a pre-processor variable and use a
> different code in the build properties for the x86 vs. x64 projects.  This
> seems to fix the uninstall issue.
>
> Now back to how to re-display the MSI's UI on subsequent runs of the
> bootstrapper?
>
> Thanks!
>
> Karl
>
>
> On Tue, Jan 29, 2013 at 10:22 AM, Karl Werner <karl.wer...@gmail.com>wrote:
>
>> 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