Major upgrades can only upgrade of products installed in the same user context.
If the current install is per-user, it can only upgrade over per-user
installations. If the current install is per-machine, it can only upgrade over
per-machine installations. The Installer will log an entry in the case where it
ignores a product to upgrade during the FindRelatedProducts action -- similar to
something like this:
"FindRelatedProducts: current install is per-user. Related install for product
'{9DA1613D-E904-4C7A-8CC2-582D47B81C99}
' is per-machine. Skipping..."
The ALLUSERSness of a product cannot be changed once it is installed. The
ALLUSERS property affects where application data is placed (HKCU vs. HKLM,
user's profile vs. all users's profile).
Hope this helps,
- Carolyn Napier
Microsoft Windows Installer Team
--
This posting is provided "AS IS" with no warranties, and confers no rights.
Please do not send email directly to this alias. This alias is for newsgroup
purposes only.
MSI FAQ:
<http://www.microsoft.com/windows2000/community/centers/management/msi_faq.asp>
"Tom Kufeldt" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
> General Question:
> Is it possible to change the value of a property prior to executing the
> RemoveExistingProducts action during a major upgrade without using a custom
> action?
>
> Specifics
> I have authored a basic msi package using ORCA and inadvertently made it a
> per-user installation by omitting the ALLUSERS property. I have to change
> it to per-machine but need to be able to perform upgrades. My upgrade
> testing seems to indicate that since ALLUSERS was set to 1 by the new msi
> the RemoveExistingProducts is then executed as per-machine based on the
> value in ALLUSERS.
>
> At the conclusion of the upgrade the Windows Installers contains references
> to a per-user installation and a per-machine installation. Removing the
> application from ARP functions correctly but leaves behind an entry in ARP.
> This entry no longer functions yielding a popup that states that remove is
> only valid for installed products. I can remove the per-user using msiexec
> /i [ProductCode].
>
> I would like to change the value of ALLUSERS to null prior to executing the
> RemoveExistingProducts action.
>
> Thanks,
> tomk.
>
>
|