http://bugs.winehq.org/show_bug.cgi?id=17823
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://files.na.mcneel.com/ | |rhino/4.0/2011-03-09/eval/r | |h40eval_en_20110309.exe CC| |focht@gmx.net Summary|A crash when installing |Rhino 4.0 trial installer |Rhino 4.0 trial version |crashes in msi custom | |action (volume/fs serial | |for "c:" must be non-zero | |and at least 2 digits)
--- Comment #28 from Anastasius Focht focht@gmx.net 2011-12-20 06:22:23 CST --- Hello,
the msi custom action "InitRhino4Eval" creates some trial period data hidden in registry and filesystem. Among other info it uses the volume/fs serial from WINEPREFIX "c:" as input.
Though with Wine you can throw the WINEPREFIX away to restart the period unlike Windows where you actually have to clean out this hidden garbage ;-)
--- snip --- ... 003e:Call KERNEL32.LoadLibraryW(0117a72c L"C:\users\focht\Temp\msid733.tmp") ret=6821c636 003e:Ret KERNEL32.LoadLibraryW() retval=01f20000 ret=6821c636 ... 003e:trace:msi:ACTION_CallDllFunction calling L"InitRhino4Eval" ... 003e:Call advapi32.RegOpenKeyExW(80000001,020ad3e8 L"Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{EC6A44E6-657D-4A0A-9A96-4D037E4469E7}",00000000,00000001,00eb6424) ret=01f249d4 003e:Ret advapi32.RegOpenKeyExW() retval=00000002 ret=01f249d4 ... 003e:Call KERNEL32.GetSystemDirectoryW(00ebe240,00000104) ret=01f25955 003e:Ret KERNEL32.GetSystemDirectoryW() retval=00000013 ret=01f25955 003e:Call KERNEL32.GetWindowsDirectoryW(00ebe038,00000104) ret=01f25965 003e:Ret KERNEL32.GetWindowsDirectoryW() retval=0000000a ret=01f25965 ... 003e:Call KERNEL32.MultiByteToWideChar(00000003,00000000,02068da8 "\drivers",ffffffff,00000000,00000000) ret=01f23416 003e:Ret KERNEL32.MultiByteToWideChar() retval=00000009 ret=01f23416 ... 003e:Call KERNEL32.MultiByteToWideChar(00000003,00000000,02068db4 "__iclink",ffffffff,00000000,00000000) ret=01f23416 003e:Ret KERNEL32.MultiByteToWideChar() retval=00000009 ret=01f23416 ... 003e:Call KERNEL32.GetVolumeInformationW(020a91c0 L"C:\",00ebddc0,00000104,00ebdbac,00000000,00000000,00000000,00000000) ret=01f25ce1 003e:Ret KERNEL32.GetVolumeInformationW() retval=00000001 ret=01f25ce1 ... 003e:Call ole32.StringFromGUID2(00ebdf3c,00ebdf4c,00000032) ret=01f25842 003e:Ret ole32.StringFromGUID2() retval=00000027 ret=01f25842 ... 003e:Call KERNEL32.GetSystemDirectoryW(00ebdba0,00000104) ret=01f25c8f 003e:Ret KERNEL32.GetSystemDirectoryW() retval=00000013 ret=01f25c8f ... 003e:Call KERNEL32.GetVolumeInformationW(020ad478 L"C:\",00ebdda8,00000104,00ebdb94,00000000,00000000,00000000,00000000) ret=01f25ce1 003e:Ret KERNEL32.GetVolumeInformationW() retval=00000001 ret=01f25ce1 003e:Call KERNEL32.GetLastError() ret=01f4551d 003e:Ret KERNEL32.GetLastError() retval=00000042 ret=01f4551d 003e:Call ntdll.RtlAllocateHeap(020a8000,00000000,00000016) ret=01f3dac9 003e:Ret ntdll.RtlAllocateHeap() retval=020ad428 ret=01f3dac9 003e:Call KERNEL32.GetLastError() ret=01f4551d 003e:Ret KERNEL32.GetLastError() retval=00000042 ret=01f4551d 003e:Call ntdll.RtlFreeHeap(020a8000,00000000,020ad468) ret=01f3db80 003e:Ret ntdll.RtlFreeHeap() retval=00000001 ret=01f3db80 003e:Call ntdll.RtlAllocateHeap(020a8000,00000000,0000000c) ret=01f3dac9 003e:Ret ntdll.RtlAllocateHeap() retval=020ad448 ret=01f3dac9 003e:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,00ebdf74) ret=01f3f5ca 003e:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b838b5b ip=7b838b5b tid=003e 003e:trace:seh:raise_exception info[0]=19930520 003e:trace:seh:raise_exception info[1]=00ebdfb8 003e:trace:seh:raise_exception info[2]=02071c48 003e:trace:seh:raise_exception eax=7b826171 ebx=7b8a97a8 ecx=19930520 edx=00ebde84 esi=00ebdf60 edi=00ebdee0 003e:trace:seh:raise_exception ebp=00ebdec8 esp=00ebde64 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000203 003e:trace:seh:call_vectored_handlers calling handler at 0x68da2e0e code=e06d7363 flags=1 003e:trace:seh:call_vectored_handlers handler at 0x68da2e0e returned 0 ... Backtrace: =>0 0x7b838b5b RaiseException+0x87(code=0xe06d7363, flags=0x1, nbargs=0x3, args=0xebdf74) [/home/focht/projects/wine/wine-git/dlls/kernel32/except.c:84] in kernel32 (0x00ebdec8) 1 0x7bc64852 call_entry_point+0x29() in ntdll (0x00ebdee8) 2 0x7bc64a7d relay_call+0x1bb(descr=0x7b8b2ef4, idx=0x4036a, stack=0xebdf4c) [/home/focht/projects/wine/wine-git/dlls/ntdll/relay.c:435] in ntdll (0x00ebdf38) 3 0x7b82414d in kernel32 (+0x1414c) (0x00ebdf80) 4 0x01f3f5ca in msid733.tmp (+0x1f5c9) (0x00ebdf80) 5 0x01f30440 in msid733.tmp (+0x1043f) (0x00ebdfb0) 6 0x01f23246 in msid733.tmp (+0x3245) (0x00ebe020) 0x7b838b5b RaiseException+0x87 [/home/focht/projects/wine/wine-git/dlls/kernel32/except.c:84] in kernel32: subl $4,%esp 84 RtlRaiseException( &record ); --- snip ---
The problem is the default serial for virtual "c:" drive -> "0" The app code does some verification checks which fails for 1-digit number derived from default "0".
You have to set a volume/fs serial for "c:" which has at least 2 digits (using winecfg). This prevents the crash.
I don't know if Wine should generate a random serial on its own when creating a new WINEPREFIX.
Lets hear what Alexandre says. If not -> WONTFIX.
$ sha1sum rh40eval_en_20110309.exe 921bd9f5df7b5fafb5920159109f4dc868932b27 rh40eval_en_20110309.exe
$ wine --version wine-1.3.35-43-gd9d4a06
Regards