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 <[email protected]> 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 <[email protected]>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 <
>> [email protected]> 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:[email protected]]
>>> Sent: Tuesday, January 29, 2013 9:32 AM
>>> To: [email protected]
>>> 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 <[email protected]>
>>> 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
>>> [email protected]
>>> 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
>>> [email protected]
>>> 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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users