Ticket #54 (closed enhancement: wontfix)
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
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:2 Changed 4 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 4 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
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.