[wix-users] Serious problem with FindRelatedProducts and install context

Alan Sinclair anadem at gmail.com
Tue Mar 27 16:36:27 PDT 2018


oops, meant to write AppSearch not FindRelatedProducts (brain fail)

The issue isn't per-machine vs per-user, it's per-machine upgrading
per-machine. Installing the dual-scope package, only per-user previous
installations are detected and upgraded.

When version 1.0 is installed per-machine, a subsequent install of version
2.0 does not 'see' the v1.0 installed product, and installs v 2.0 as a
fresh new product (overwriting the per-machine files if v.2.0 is installed
per-machine .. which is what I meant by "only one set of files")

*>  I have a feeling you'll need a bootstrapper to install the upgrade MSI *

Would that be an exe which passes  ALLUSERS and MSIINSTALLPERUSER to
msiexec to install the MSI?
Would Burn be a candidate for that? I've never used Burn. Can Burn allow
the user to choose per-machine or per-user in a non-upgrade install?  (for
an upgrade we'd want to remove the ability to choose)

many thanks
Alan






On Tue, Mar 27, 2018 at 4:23 PM, Edwin Castro <egcastr at gmail.com> wrote:

> Just curious, what do you mean "there's only one set of files"?
>
> A per-user install and per-machine install should probably install to
> different locations. What if UserA and UserB both perform per-user
> installs? Those installs should not conflict with one another and should
> not conflict with a per-machine install.
>
> I have a feeling you'll need a bootstrapper to install the upgrade MSI
> with appropriate values for ALLUSERS and MSIINSTALLPERUSER depending on
> whether the user wants to install/upgrade per-user vs per-machine...
>
> --
> Edwin G. Castro
>
>
>
> On Tue, Mar 27, 2018 at 4:05 PM, Alan Sinclair via wix-users <
> wix-users at lists.wixtoolset.org> wrote:
>
>> I'm making a dual-scope MSI which uses the InstallScope dialog for the
>> user
>> to choose per-user or per-machine. It installs fine, but upgrades to a
>> per-machine installation fail.
>>
>> FindRelatedProducts seems to search only the scope in current force when
>> it
>> runs, and it's sequenced right at the start (so early it doesn't even
>> appear in the log.)
>>
>> My MSI has ALLUSERS=2 and MSIINSTALLPERUSER=1, with the InstallScope
>> dialog
>> changing that as required, so FindRelatedProducts looks only in per-user
>> scope.  If an earlier-versioned MSI was installed per-machine,
>> FindRelatedProducts
>> does NOT find it, so the install does not upgrade, and Control Panel's ARP
>> shows the product twice (there's only one set of files, of course).
>>
>> Is there any way to solve this?  Can FindRelatedProducts be run later in
>> the sequence, after the UI? Or can FindRelatedProducts be run twice?
>>
>> Or can I add custom actions before FindRelatedProducts to look in the
>> registry and check previous install scope, then adjust ALLUSERS etc
>> accordingly so FindRelatedProducts searches the right scope?
>>
>> How can a dual-scope package be upgraded in both per-user AND per-machine
>> installations?
>>
>> Thanks
>> Alan
>>
>> ____________________________________________________________________
>> WiX Toolset Users Mailing List provided by FireGiant
>> http://www.firegiant.com/
>>
>
>


More information about the wix-users mailing list