https://bugs.winehq.org/show_bug.cgi?id=39936
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |scrrun CC| |focht@gmx.net Keywords| |download, Installer Summary|Toad Data Modeler Freeware |Toad Data Modeler v5.4.8.1 |MSI package fails to |fails to install (needs |install |'Scriptlet.TypeLib' object, | |CLSID | |'{06290BD5-48AA-11D2-8432-0 | |06008C3FBFC}') Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi wine msiexec -i ToadDataModeler_Freeware_5.4.8.1_x86_En.msi >>log.txt 2>&1 ... 0051:trace:msi:ACTION_CustomAction Handling custom action L"WriteMachineID" (c05 L"Callwritemachineid" L"Main") ... 005d:Starting thread proc 0x7ecaebdc (arg=0x8ee27c) 005d:trace:msi:ScriptThread custom action (5d) started 005d:trace:msi:ACTION_CallScript function L"Main", script L"function KeyExist(AKey)\r\n{\r\n var shell = new ActiveXObject("Wscript.Shell");\r\n try\r\n {\r\n shell.RegRead(AKey);\r\n }\t\r\n catch(e)\r\n {\r\n return false;\r\n }\r\n return true; \r\n}\r\n\r\nfunction OldKey()\r\n{\r\n return "HKLM\\Software\\Quest Software\\TDM\\""... ... 005d:trace:msi:call_script Calling function L"Main" ... 005d:Call ole32.CLSIDFromProgID(0094ad68 L"Scriptlet.TypeLib",0071df1c) ret=f6e9da4b 005d:Call KERNEL32.FindActCtxSectionStringW(00000000,00000000,00000007,0094ad68 L"Scriptlet.TypeLib",0071de68) ret=7ea8c228 005d:Ret KERNEL32.FindActCtxSectionStringW() retval=00000000 ret=7ea8c228 ... 005d:Call ntdll.RtlInitUnicodeString(0071dd80,0094a068 L"Scriptlet.TypeLib\CLSID") ret=7ea87e75 005d:Ret ntdll.RtlInitUnicodeString() retval=0071dd80 ret=7ea87e75 005d:Call ntdll.NtOpenKey(0071ddc8,02000000,0071dd88) ret=7ea87e8a 005d:Ret ntdll.NtOpenKey() retval=c0000034 ret=7ea87e8a ... 005d:Ret ole32.CLSIDFromProgID() retval=800401f3 ret=f6e9da4b ... 0051:err:msi:ITERATE_Actions Execution halted, action L"WriteMachineID" returned 1603 --- snip ---
The extracted JScript code:
--- snip --- function KeyExist(AKey) { var shell = new ActiveXObject("Wscript.Shell"); try { shell.RegRead(AKey); } catch(e) { return false; } return true; }
function OldKey() { return "HKLM\Software\Quest Software\TDM\"; }
function Key() { return "HKLM\Software\Dell\TDM\"; }
function Main() {
var typeLib = new ActiveXObject("Scriptlet.TypeLib"); var newGuid = typeLib.Guid;
if (!KeyExist(Key()+"MachineID")) {
var shell = new ActiveXObject("Wscript.Shell"); if (KeyExist(OldKey()+"MachineID")) { gu = shell.RegRead(OldKey()+"MachineID"); } else { gu = newGuid; } shell.RegWrite( Key()+"MachineID", gu, "REG_SZ" ); } } --- snip ---
Simple test:
--- snip --- $ echo "var typeLib = new ActiveXObject("Scriptlet.TypeLib");" > test.js $ WINEDEBUG=+tid,+seh,+jscript wine wscript test.js --- snip ---
'winetricks -q wsh57' works around.
https://blogs.technet.microsoft.com/heyscriptingguy/2005/02/21/how-can-i-cre...
$ sha1sum ToadDataModeler_freeware_5.4.8.1_x86_En.zip 8f6823775d369401ff9c3b936ce805e8071646a7 ToadDataModeler_freeware_5.4.8.1_x86_En.zip
$ du -sh ToadDataModeler_freeware_5.4.8.1_x86_En.zip 72M ToadDataModeler_freeware_5.4.8.1_x86_En.zip
$ wine --version wine-2.0-rc3
Regards