[Bug 17823] Rhino 4.0 trial installer crashes in msi custom action (volume/fs serial for "c:" must be non-zero and at least 2 digits)
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Dec 20 06:22:23 CST 2011
http://bugs.winehq.org/show_bug.cgi?id=17823
Anastasius Focht <focht at 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 at 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 at 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
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list