Ticket #54 (closed enhancement: wontfix)

Opened 3 years ago

Last modified 3 years ago

Inconsistent install in absense of user context

Reported by: anonymous Owned by: jasper
Priority: minor Milestone: Maintenance of Phase II
Component: COBIA Runtime MSI Version: 1.2.0.4
Keywords: merge modules Cc:

Description

COBIA merge modules in absense of ALLUSERS and MSIINSTALLPERUSER, we have registry keys that go to

Root="HKMU"

and files that go to

[CommonFilesFolder?]

Documentation:

HKMU = -1

https://docs.microsoft.com/en-us/windows/win32/msi/property-reference#system-folder-properties

Symptoms when running elevated as user:

HKMU evaluates to the current user

CommonFilesFolder? evaluates to the Program Files location (all users)

Presumably it is the same for the TLB installer.

Change History

comment:1 Changed 3 years ago by jasper

Michael Hal: According to Microsoft documentation:


https://docs.microsoft.com/en-gb/windows/win32/msi/allusers


if ALLUSERS is undefined you will get a per User install, which is logical and safe. MSIINSTALLPERUSER is ignored unless ALLUSERS=2.


So I would expect a per user install when these properties are unset.

comment:2 Changed 3 years ago by jasper

This is not what is actually happening, as [CommonFilesFolder?] evaluates not to the user's profile folder, but it evaluates to all users. In addition, the re-cast to append (x86) to the name also applies only in the case MSIINSTALLPERUSER is set to 1, which is in contrast to the above statement that absense of a context should do a correct current user install. The condition should then at least be if (MSIINSTALLPERUSER is set to 1) or (ALLUSERS is not set at all).

comment:3 Changed 3 years ago by jasper

Michael Hla:

FYI, running elevated has no relationship to user/machine based installations in Windows Installer. You can run elevated user based installs or non-elevated machine based installs. Only requirement is most machine based installs require elevation, not because of Windows Installer but because of where they write information.

Michael

comment:4 Changed 3 years ago by michelpons

  • Milestone set to Maintenance of Phase II

comment:5 Changed 3 years ago by jasper

I think we should state that installer developers should define these properties. I do not think we should define them for the merge modules.

No action required therefore other than documenting this issue.

comment:6 Changed 3 years ago by jasper

  • Status changed from new to closed
  • Resolution set to wontfix
Note: See TracTickets for help on using tickets.