http://bugs.winehq.org/show_bug.cgi?id=35056
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|-unknown |programs Summary|64-bit PTC Pro Engineer |64-bit PTC Pro Engineer |Wildfire V5 installer fails |Wildfire V5 installer fails | |(64-bit processors not | |reported in volatile | |hardware registry keys) Ever Confirmed|0 |1
--- Comment #4 from Anastasius Focht focht@gmx.net 2013-12-05 15:00:20 CST --- Hello Lukasz,
I think I know what they are trying to do ...
--- snip --- ... 0024:Call KERNEL32.GetSystemInfo(0033daa4) ret=00409f50 0024:Ret KERNEL32.GetSystemInfo() retval=0033daa4 ret=00409f50 0024:Call advapi32.RegOpenKeyA(80000002,00439538 "HARDWARE\DESCRIPTION\System\CentralProcessor\0",0033dad8) ret=00410d05 0024:Ret advapi32.RegOpenKeyA() retval=00000000 ret=00410d05 0024:Call advapi32.RegQueryValueExA(00000030,0043952c "Identifier",00000000,0033dac8,0033d610,0033dacc) ret=00410f04 0024:Ret advapi32.RegQueryValueExA() retval=00000000 ret=00410f04 0024:Call advapi32.RegCloseKey(00000030) ret=0040a0a4 0024:Ret advapi32.RegCloseKey() retval=00000000 ret=0040a0a4 ... 0024:Call KERNEL32.FindFirstFileA(0033f028 "Z:\home\WINEUSER\virtual-drives\1\dsrc\i486_nt",0033eee8) ret=00410340 0024:Ret KERNEL32.FindFirstFileA() retval=0012ff40 ret=00410340 0024:Call KERNEL32.FindClose(0012ff40) ret=0040a986 0024:Ret KERNEL32.FindClose() retval=00000001 ret=0040a986 --- snip ---
It's basically this scheme: http://support.microsoft.com/kb/556009
--- quote --- You can use the following registry location to check if computer is running 32 or 64 bit of Windows Operating System:
HKLM\HARDWARE\DESCRIPTION\System\CentralProcessor\0
You will see the following registry entries in the right pane:
Identifier REG_SZ x86 Family 6 Model 14 Stepping 12 Platform ID REG_DWORD 0x00000020(32)
The above “x86” and “0x00000020(32)” indicate that the Operating System version is 32 bit. --- quote ---
They are either looking for "x86" or the other way around, "AMD64", "Intel64" strings ...
The comment in Wine source indicates an area which needs improvement ;-)
Source: http://source.winehq.org/git/wine.git/blob/57c54bc9ad1e13ee7cd730b2ffb4df834...
--- snip --- 169 static void create_hardware_registry_keys(void) 170 { ... 207 /*TODO: report 64bit processors properly*/ 208 switch(sci.Architecture) 209 { 210 case PROCESSOR_ARCHITECTURE_ARM: 211 sprintfW( idW, ARMCpuDescrW, sci.Level, sci.Revision ); 212 break; 213 default: 214 case PROCESSOR_ARCHITECTURE_INTEL: 215 sprintfW( idW, IntelCpuDescrW, sci.Level, HIBYTE(sci.Revision), LOBYTE(sci.Revision) ); 216 break; 217 } ... 245 for (i = 0; i < NtCurrentTeb()->Peb->NumberOfProcessors; i++) 246 { 247 WCHAR numW[10]; 248 249 sprintfW( numW, PercentDW, i ); 250 if (!RegCreateKeyExW( cpu_key, numW, 0, NULL, REG_OPTION_VOLATILE, 251 KEY_ALL_ACCESS, NULL, &hkey, NULL )) 252 { 253 RegSetValueExW( hkey, FeatureSetW, 0, REG_DWORD, (BYTE *)&sci.FeatureSet, sizeof(DWORD) ); 254 set_reg_value( hkey, IdentifierW, idW ); 255 /*TODO; report ARM and AMD properly*/ 256 set_reg_value( hkey, ProcessorNameStringW, IntelCpuStringW ); ... --- snip ---
Regards