http://bugs.winehq.org/show_bug.cgi?id=14390
--- Comment #9 from Anastasius Focht focht@gmx.net 2009-05-10 04:58:14 --- Hello,
thanks for the +voicewarmup MSI log from Windows.
--- snip --- ... MSI (s) (98:78) [08:36:39:484]: Executing op: ActionStart(Name=WriteEnvironmentStrings,Description=Updating environment strings,Template=Name: [1], Value: [2], Action [3]) Action 8:36:39: WriteEnvironmentStrings. Updating environment strings MSI (s) (98:78) [08:36:39:500]: Executing op: ProgressTotal(Total=1,Type=1,ByteEquivalent=13200) MSI (s) (98:78) [08:36:39:500]: Executing op: UpdateEnvironmentStrings(Name=GMAXLOC,Value=D:\gmax,Delimiter=[~],Action=1,) WriteEnvironmentStrings: Name: GMAXLOC, Value: D:\gmax, Action 1 ... --- snip ---
So it just shows the stuff I dumped with Orca and no failure is recorded. The interesting value here is "Action 1".
This blog (WiX) gives an overview about MSI's prefixes and suffixes for Environment table: http://blogs.technet.com/alexshev/archive/2008/03/28/from-msi-to-wix-part-13...
In the "Name" column for the "*" prefix, a missing "*" indicates "User environment variable". In the "Name" column for the "-" prefix, a missing "-" indicates "Do not remove environment variable on uninstall."
My conclusion is that "name" without prefix is a user environment variable. To be really sure can you look with registry editor in your Windows installation (after app install) in: HKEY_CURRENT_USER\Environment There should be a registry key named "GMAXLOC" present.
Add conformance test for non-prefix case and fix Wine msi env_set_flags() accordingly (introduce another flag or let flags == 0 valid case).
Regards