http://bugs.winehq.org/show_bug.cgi?id=15968
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #1 from Anastasius Focht focht@gmx.net 2008-11-09 03:22:12 --- Hello,
this is a bug in msi's upgrade processing (dlls/msi/upgrade.c:ITERATE_FindRelatedProducts).
--- snip --- 0026:Call KERNEL32.lstrcpyW(00155e70,0018d508 L"NOWINFX2X86") ret=60397571 0026:Ret KERNEL32.lstrcpyW() retval=00155e70 ret=60397571 0026:trace:msi:MSIREG_OpenUpgradeCodesKey L"{09288E14-AE35-4AEF-B88E-23D915B7F1DE}" 0026:Call ole32.CLSIDFromString(00155f60 L"{09288E14-AE35-4AEF-B88E-23D915B7F1DE}",0032f4bc) ret=60399a11 0026:Ret ole32.CLSIDFromString() retval=00000000 ret=60399a11 0026:trace:msi:MSIREG_OpenUpgradeCodesKey squished (L"41E8829053EAFEA48BE8329D517B1FED") 0026:Call advapi32.RegOpenKeyW(80000002,0032f512 L"Software\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\41E8829053EAFEA48BE8329D517B1FED",0032fa00) ret=6039c568 0026:Ret advapi32.RegOpenKeyW() retval=00000000 ret=6039c568 .. 0026:Call advapi32.RegEnumValueW(00000068,00000000,0032fa0a,0032fa04,00000000,00000000,00000000,00000000) ret=603b4f0f 0026:Ret advapi32.RegEnumValueW() retval=00000000 ret=603b4f0f 0026:trace:msi:ITERATE_FindRelatedProducts Looking at (0) L"D6461317C3DC4F04799BDCE9E42626FE" 0026:trace:msi:MSIREG_OpenProductKey (L"{7131646D-CD3C-40F4-97B9-CD9E4E6262EF}", 4, 0) 0026:Call ole32.CLSIDFromString(0032f9a6 L"{7131646D-CD3C-40F4-97B9-CD9E4E6262EF}",0032f6ac) ret=60399a11 0026:Ret ole32.CLSIDFromString() retval=00000000 ret=60399a11 0026:trace:msi:MSIREG_OpenProductKey squished (L"D6461317C3DC4F04799BDCE9E42626FE") 0026:Call advapi32.RegOpenKeyW(80000002,0032f6fa L"Software\Classes\Installer\Products\D6461317C3DC4F04799BDCE9E42626FE",0032f9f4) ret=6039a7ee 0026:Ret advapi32.RegOpenKeyW() retval=00000000 ret=6039a7ee 0026:Call advapi32.RegQueryValueExW(0000006c,603d7dce L"Version",00000000,00000000,0032f9fc,0032f9f8) ret=603b5040 0026:Ret advapi32.RegQueryValueExW() retval=00000000 ret=603b5040 0026:Call advapi32.RegCloseKey(0000006c) ret=603b50fb 0026:Ret advapi32.RegCloseKey() retval=00000000 ret=603b50fb 0026:Call advapi32.RegEnumValueW(00000068,00000001,0032fa0a,0032fa04,00000000,00000000,00000000,00000000) ret=603b4f0f 0026:Ret advapi32.RegEnumValueW() retval=00000103 ret=603b4f0f 0026:trace:msi:ITERATE_FindRelatedProducts Looking at (1) L"D6461317C3DC4F04799BDCE9E42626FE" 0026:Call advapi32.RegCloseKey(00000068) ret=603b5269 0026:Ret advapi32.RegCloseKey() retval=00000000 ret=603b5269 --- snip ---
If you look at upgrade table with orca:
--- snip --- UpgradeCode VersionMin VersionMax Language Attributes Remove ActionProperty s38 S20 S20 S255 i4 S255 s72 Upgrade UpgradeCode VersionMin VersionMax Language Attributes {FAE93CCB-0654-481B-AEE7-1D9DA09C358B} 2.0.11022.3 258 NOBETAXNA {09288E14-AE35-4AEF-B88E-23D915B7F1DE} 2.0 258 NOWINFX2X86 {676D0BA1-726B-4471-8982-FA301D1D5596} 2.0 258 NOWINFX2X64 --- snip ---
For the specified upgrade code "{09288E14-AE35-4AEF-B88E-23D915B7F1DE}" there are no VersionMax, Language (and Remove) values present in the table.
These values are not required to be present, see MSDN doc for upgrade table: http://msdn.microsoft.com/en-us/library/aa372379.aspx
For version, either VersionMin or VersionMax must not be null. Language can be null.
Regards