Since the bootstrapper isn't registering itself in ARP, that shouldn't
matter, right?

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

> But if the same component is used in both the 32 bit and 64 bit MSI, a
> repair or removal is going to find InstallCondition=true for both packages.
>
> -----Original Message-----
> From: Karl Werner [mailto:karl.wer...@gmail.com]
> Sent: Tuesday, January 29, 2013 11:12 AM
> To: General discussion for Windows Installer XML toolset.
> Subject: Re: [WiX-users] Redisplay MSI's UI when Bootstrapper is run a
> second time
>
> 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
>
>
> ------------------------------------------------------------------------------
> 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