http://bugs.winehq.org/show_bug.cgi?id=6930
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #11 from Anastasius Focht focht@gmx.net 2009-05-07 14:40:08 --- Hello,
that specific .msi package version in question is 3 years old ... many newer package versions have been fixed for this specific issue.
That package was most likely built with a bugged msi engine. "InstallAllUsers" = "True" -> resulting msi package had "ALLUSERS" property = "2" This is incorrect if the msi package contained VC++ runtime merge modules because shared installations of WinSxS components can only be done per-machine bases.
Although an msi packager issue it still exposes a valid Wine msi bug ;-)
--- snip --- 0021:trace:msi:ACTION_CallDllFunction calling L"CustomAction_SxsMsmInstall" ... 0021:trace:msi:MSI_ProcessMessage ((nil) 0 2 L"1: ALLUSERS property is not 1 - this MSM cannot be used for a per-user or fallback-to-per-user install 2: 2 ") ... 0021:trace:msi:MSI_ProcessMessage ((nil) 0 10 L"1: sxsdelca 2: SxsMsmInstall completed 3: 0 4: -2147467263 ") ... 0021:trace:msi:DllThread custom action (21) returned 1603 --- snip ---
Dumping msi package with Orca:
--- snip ControlEvent table --- CustomizeDlg Next [ALLUSERS] 2 VersionNT>=400 AND Privileged=1 2 --- snip ControlEvent table ---
--- snip Property table --- ALLUSERS 2 --- snip Property table ---
As already said, the package contains a merge module (msm) flagged as per-machine only installable. Because the "ALLUSERS" property is not "1", the SxS custom action correctly refuses to proceed further.
When "ALLUSERS" property is "2", Wine msi must check user's privileges for administrative rights. If the user is administrator (true in Wine), it will be a per-machine (all users) install and the property must be (re)set by msi from "2" to "1".
See: http://msdn.microsoft.com/en-us/library/aa367559.aspx
Regards