http://bugs.winehq.org/show_bug.cgi?id=31724
Bug #: 31724 Summary: SolidWorks Explorer 2012: Rollback at the end of installation Product: Wine Version: 1.5.13 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: lukasz.wojnilowicz@gmail.com Classification: Unclassified
Created attachment 41716 --> http://bugs.winehq.org/attachment.cgi?id=41716 Message about unsuccessful instalation
Steps to reproduce: 1) remove ~/.wine 2) wine swexplorer.exe 3) do default installation 4) application installs
Behaviour: At the end message about unsuccessful installation (see attachment).
Expected behaviour: Successful installation.
Terminal output: err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot err:mscoree:LoadLibraryShim error reading registry key for installroot fixme:msi:ITERATE_CreateShortcuts poorly handled shortcut format, advertised shortcut fixme:msi:ITERATE_CreateShortcuts poorly handled shortcut format, advertised shortcut fixme:msi:ITERATE_CreateShortcuts poorly handled shortcut format, advertised shortcut fixme:vbscript:ScriptDisp_GetIDsOfNames (0x122de30)->({00000000-0000-0000-0000-000000000000} 0x87e9cc 1 1024 0x87e96c) err:msi:ITERATE_Actions Execution halted, action L"InstallExecute" returned 1603 err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1603 Failed to load DLL C:\Program Files\Common Files\SolidWorks Shared\swdocumentmgr.dll
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #1 from NSLW lukasz.wojnilowicz@gmail.com 2012-09-17 11:36:47 CDT --- Created attachment 41717 --> http://bugs.winehq.org/attachment.cgi?id=41717 WINEDEBUG=+msi,+tid,+seh on Wine 1.5.13
http://bugs.winehq.org/show_bug.cgi?id=31724
NSLW lukasz.wojnilowicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, Installer URL| |http://www.solidworks.com/s | |w/support/downloads.htm
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #2 from Hans Leidekker hans@meelstraat.net 2012-09-17 11:56:32 CDT --- (In reply to comment #0)
fixme:vbscript:ScriptDisp_GetIDsOfNames (0x122de30)->({00000000-0000-0000-0000-000000000000} 0x87e9cc 1 1024 0x87e96c)
Does native vbscript make a difference?
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #3 from NSLW lukasz.wojnilowicz@gmail.com 2012-09-17 12:09:24 CDT --- Created attachment 41718 --> http://bugs.winehq.org/attachment.cgi?id=41718 Terminal output on Wine 1.5.13
(In reply to comment #2)
(In reply to comment #0)
fixme:vbscript:ScriptDisp_GetIDsOfNames (0x122de30)->({00000000-0000-0000-0000-000000000000} 0x87e9cc 1 1024 0x87e96c)
Does native vbscript make a difference?
After doing winetricks wsh56vb, I get Wine fatal error at the end of installation.
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #4 from Hans Leidekker hans@meelstraat.net 2012-09-17 12:35:05 CDT --- (In reply to comment #3)
After doing winetricks wsh56vb, I get Wine fatal error at the end of installation.
What happens if you also use native scrrun?
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #5 from NSLW lukasz.wojnilowicz@gmail.com 2012-09-17 12:56:03 CDT --- Created attachment 41721 --> http://bugs.winehq.org/attachment.cgi?id=41721 Terminal output on Wine 1.5.13 with wsh57
(In reply to comment #4)
(In reply to comment #3)
After doing winetricks wsh56vb, I get Wine fatal error at the end of installation.
What happens if you also use native scrrun?
After winetricks wsh57 (or winetricks wsh56vb + native scrrun) I get message from attachment #41716 so we're in starting point.
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #6 from Hans Leidekker hans@meelstraat.net 2012-09-19 01:59:44 CDT --- ScriptDisp_GetIDsOfNames is implemented now, please try again.
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #7 from NSLW lukasz.wojnilowicz@gmail.com 2012-09-19 08:28:07 CDT --- Created attachment 41731 --> http://bugs.winehq.org/attachment.cgi?id=41731 Terminal output on wine-1.5.13-121-g19f951e
(In reply to comment #6)
ScriptDisp_GetIDsOfNames is implemented now, please try again.
Still the same issue.
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #8 from NSLW lukasz.wojnilowicz@gmail.com 2013-08-30 14:48:57 CDT --- Still issue in Wine 1.7.1
Terminal output: fixme:storage:create_storagefile Storage share mode not implemented. fixme:msi:ITERATE_CreateShortcuts poorly handled shortcut format, advertised shortcut fixme:msi:ITERATE_CreateShortcuts poorly handled shortcut format, advertised shortcut fixme:msi:ITERATE_CreateShortcuts poorly handled shortcut format, advertised shortcut fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"Session", clsid {000c109e-0000-0000-c000-000000000046} fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"AddAcadRXEntry", clsid {000c109e-0000-0000-c000-000000000046} fixme:msi:AutomationObject_GetIDsOfNames Unknown member L"CreateObject", clsid {000c109e-0000-0000-c000-000000000046} fixme:ole:ITypeInfo_fnGetRefTypeInfo Can't find pRefType for ref 384 err:ole:userdefined_to_variantvt Could not get typeinfo of hreftype 384 for VT_USERDEFINED, hr = 0x80004005 fixme:vbscript:exec_script Failed 80004005 in resume next mode err:msi:ITERATE_Actions Execution halted, action L"CreateAutoCADR161AddInEntries" returned 1603 err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1603 err:winediag:xrandr12_init_modes Broken NVIDIA RandR detected, falling back to RandR 1.0. Please consider using the Nouveau driver instead. Failed to load DLL C:\Program Files\SolidWorks\PDMWorks Client 2010\pdmwaddin.dll
http://bugs.winehq.org/show_bug.cgi?id=31724
NSLW lukasz.wojnilowicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |minor
--- Comment #9 from NSLW lukasz.wojnilowicz@gmail.com 2013-08-30 14:57:09 CDT --- I found workaround: sh winetricks vcrun2005 wsh56vb
After that SolidWorks Explorer 2012 installs successfully. Changing severity to minor.
https://bugs.winehq.org/show_bug.cgi?id=31724
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Summary|SolidWorks Explorer 2012: |SolidWorks Explorer 2012 |Rollback at the end of |fails to install, reporting |installation |'Could not get typeinfo of | |hreftype 384 for | |VT_USERDEFINED, hr = | |0x80004005' Ever confirmed|0 |1
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming, still present.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+msi,+vbscript,+ole,+variant,+scrrun wine ./setup.exe >>log.txt 2>&1 ... 0026:trace:msi:ACTION_CustomAction Handling custom action L"CreateAutoCADR161AddInEntries" (406 L"NewBinary22" L"AddAutoCADR161PlugInFile") ... 0043:Starting thread proc 0x7ece4e4c (arg=0x12df024) 0043:trace:msi:ScriptThread custom action (43) started 0043:trace:msi:ACTION_CallScript function L"AddAutoCADR161PlugInFile", script L"' Copyright (C) 1999-2003 Solidworks Corporation\r\n' All rights reserved.\r\n\r\nFunction AddAcadRXEntry (ByVal inACADSupportDir, ByVal inEntryToAdd)\r\n\tDim fso, acadRXFileWrite, acadRXFileRead, strFileName, needToWriteLine, line\r\n\tSet fso = CreateObject("Scripting.FileSystemObject")\r\n\r\n\t"... ... 0043:trace:vbscript:interp_icall 0043:trace:vbscript:interp_short 8 0043:trace:vbscript:interp_bool true 0043:trace:vbscript:interp_icall 0043:trace:vbscript:interp_mcall 0043:trace:vbscript:disp_get_id using IDispatch 0043:Call oleaut32.LoadRegTypeLib(f6781c8c,00000001,00000000,00000800,0579e210) ret=f677fac6 ... 0043:Call KERNEL32.LoadLibraryExW(0579de6e L"C:\windows\system32\scrrun.dll",00000000,0000000b) ret=7e5c81fa 0043:Ret KERNEL32.LoadLibraryExW() retval=f6770000 ret=7e5c81fa ... 0043:Ret oleaut32.LoadRegTypeLib() retval=00000000 ret=f677fac6 ... 0043:Call KERNEL32.lstrcmpiW(012f31ec L"OpenTextFile",013022d4 L"OpenTextFile") ret=7e5d1bff 0043:Ret KERNEL32.lstrcmpiW() retval=00000000 ret=7e5d1bff ... 0043:trace:scrrun:filesys_QueryInterface 0xf673aa8c {a6ef9860-c720-11d0-9337-00a0c90dcaa9} 0x9b9e360 0043:trace:scrrun:filesys_QueryInterface Interface IDispatchEx not supported - returning NULL 0043:trace:vbscript:disp_call using IDispatch 0043:trace:scrrun:filesys_Invoke (0xf673aa8c)->(1100 {00000000-0000-0000-0000-000000000000} 0 3 0x9b9e3f4 0x9b9e440 0x9b9e340 0x9b9e33c) 0043:trace:ole:ITypeInfo_fnInvoke (0x12f1e88)(0xf673aa8c,id=1100,flags=0x00000003,0x9b9e3f4,0x9b9e440,0x9b9e340,0x9b9e33c) 0043:trace:ole:dump_DispParms args=3 named args=0 0043:trace:ole:dump_DispParms args: 0043:trace:ole:dump_Variant 0x12e7c38->{VT_BOOL,TRUE} 0043:trace:ole:dump_Variant 0x12e7c48->{VT_I2,8} 0043:trace:ole:dump_Variant 0x12e7c58->{VT_VARIANT|VT_BYREF,0x12e7c00} 0043:trace:ole:ITypeInfo2_fnGetVarIndexOfMemId 0x12f1e88 1100 0x9b9dff8 0043:trace:ole:ITypeInfo2_fnGetTypeKind (0x12f1e88) type 0x4 0043:trace:ole:ITypeInfo_fnAddRef (0x12f06e8)->ref is 1 0043:trace:ole:ITypeLib2_fnAddRef (0x12e7fa0) ref=2 0043:trace:ole:ITypeInfo_fnGetRefTypeInfo (0x12f1e88) hreftype 0x0514 loaded SUCCESS (0x12f06e8) 0043:trace:ole:ITypeInfo_fnInvoke (0x12f06e8)(0xf673aa8c,id=1100,flags=0x00000003,0x9b9e3f4,0x9b9e440,0x9b9e340,0x9b9e33c) 0043:trace:ole:dump_DispParms args=3 named args=0 0043:trace:ole:dump_DispParms args: 0043:trace:ole:dump_Variant 0x12e7c38->{VT_BOOL,TRUE} 0043:trace:ole:dump_Variant 0x12e7c48->{VT_I2,8} 0043:trace:ole:dump_Variant 0x12e7c58->{VT_VARIANT|VT_BYREF,0x12e7c00} 0043:trace:ole:ITypeInfo_fnInvoke invoking: L"OpenTextFile"(5) parm0: L"FileName" parm1: L"IOMode" parm2: L"Create" parm3: L"Format" parm4: L"ppts" memid is 0000044c Param 0: tdesc.vartype 8 (VT_BSTR) u.paramdesc.wParamFlags PARAMFLAG_FIN u.paramdesc.lpex (nil) Param 1: tdesc.vartype 29 (VT_USERDEFINED ref = 384) u.paramdesc.wParamFlags PARAMFLAG_FIN PARAMFLAG_FOPT PARAMFLAG_FHASDEFAULT u.paramdesc.lpex 0x12f1c18 Param 2: tdesc.vartype 11 (VT_BOOL) u.paramdesc.wParamFlags PARAMFLAG_FIN PARAMFLAG_FOPT PARAMFLAG_FHASDEFAULT u.paramdesc.lpex 0x12f1c30 Param 3: tdesc.vartype 29 (VT_USERDEFINED ref = 3e8) u.paramdesc.wParamFlags PARAMFLAG_FIN PARAMFLAG_FOPT PARAMFLAG_FHASDEFAULT u.paramdesc.lpex 0x12f1c48 Param 4: tdesc.vartype 26 (ptr to ptr to VT_USERDEFINED ref = 44c) u.paramdesc.wParamFlags PARAMFLAG_FOUT PARAMFLAG_FRETVAL u.paramdesc.lpex (nil) funckind: 1 (pure virtual) invkind: 1 (func) callconv: 4 (stdcall) oVft: 124 cParamsOpt: 3 wFlags: 0 elemdescFunc (return value type): tdesc.vartype 25 (VT_HRESULT) u.paramdesc.wParamFlags PARAMFLAGS_NONE u.paramdesc.lpex (nil) helpstring: (null) entry: invalid 0043:fixme:ole:ITypeInfo_fnGetRefTypeInfo Can't find pRefType for ref 384 0043:trace:ole:ITypeInfo_fnGetRefTypeInfo (0x12f06e8) hreftype 0x0384 loaded FAILURE ((nil)) 0043:err:ole:userdefined_to_variantvt Could not get typeinfo of hreftype 384 for VT_USERDEFINED, hr = 0x80004005 0043:trace:ole:ITypeInfo_fnInvoke -- 0x80004005 0043:trace:ole:ITypeInfo_fnRelease (0x12f06e8)->(0) 0043:trace:ole:ITypeLib2_fnRelease (0x12e7fa0) ref=1 0043:trace:ole:ITypeInfo_fnRelease (0x12f1e88)->(4294967295) 0043:trace:scrrun:filesys_Release 0xf673aa8c 0043:warn:vbscript:exec_script Failed 80004005 ... 0043:trace:msi:ACTION_CallScript script returned 1603 0043:trace:msi:ScriptThread custom action (43) returned 1603 ... --- snip ---
The extracted VBScript code in question ('append' iomode passed to fso.OpenTextFile()):
--- snip --- Function AddAcadRXEntry (ByVal inACADSupportDir, ByVal inEntryToAdd) Dim fso, acadRXFileWrite, acadRXFileRead, strFileName, needToWriteLine, line Set fso = CreateObject("Scripting.FileSystemObject")
strFileName = inACADSupportDir & "" & "acad.rx"
' If the file doesn't exist, the FileSystemObject will create ' and open an empty file Set acadRXFileWrite = fso.OpenTextFile(strFileName, 8, True) Set acadRXFileRead = fso.OpenTextFile(strFileName, 1, True)
needToWriteLine = True Do While acadRXFileRead.AtEndOfStream <> True line = acadRXFileRead.ReadLine If line = inEntryToAdd Then needToWriteLine = False Exit Do End If Loop
If needToWriteLine Then acadRXFileWrite.WriteLine(inEntryToAdd) End If
acadRXFileRead.Close acadRXFileWrite.Close
AddAcadRXEntry = 0 End Function --- snip ---
$ wine --version wine-1.7.14
Regards
https://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #11 from Nikolay Sivov bunglehead@gmail.com --- Is it possible to get a direct download link to it? I'd like to try it myself.
https://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #12 from NSLW lukasz.wojnilowicz@gmail.com --- (In reply to Nikolay Sivov from comment #11)
Is it possible to get a direct download link to it? I'd like to try it myself.
No but you don't have to register anywhere to download it. All you have to do is: 1) Go to http://www.solidworks.com/sw/support/downloads.htm 2) Click "FREE CAD TOOLS" tab 3) In "SolidWorks Explorer" row click on "Win7 32bit" 4) Accept the license 5) Click download
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #13 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 47743 --> http://bugs.winehq.org/attachment.cgi?id=47743 patch
For some reason I don't understand yet this patch helps. It still fails later but differently:
--- 003e:trace:scrrun:filesys_OpenTextFile (0x7d0f1e74)->(L"\acad.rx" 8 -1 0 0x76e350) 003e:trace:ole:DispCallFunc retval: 0x76e360->{VT_ERROR} 003e:trace:ole:ITypeInfo_fnInvoke [retval] value: 0x1436608->{VT_DISPATCH|VT_BYREF,0x76e350} 003e:warn:ole:ITypeInfo_fnInvoke invoked function failed with error 0x800a0046 ---
Reason for that is 'inACADSupportDir' argument in a script being empty string, making path invalid. I'll try to figure out why hreftype lookup is fixed with such idl changes first.
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #14 from NSLW lukasz.wojnilowicz@gmail.com --- (In reply to Nikolay Sivov from comment #13)
Created attachment 47743 [details] patch
For some reason I don't understand yet this patch helps. It still fails later but differently:
003e:trace:scrrun:filesys_OpenTextFile (0x7d0f1e74)->(L"\acad.rx" 8 -1 0 0x76e350) 003e:trace:ole:DispCallFunc retval: 0x76e360->{VT_ERROR} 003e:trace:ole:ITypeInfo_fnInvoke [retval] value: 0x1436608->{VT_DISPATCH|VT_BYREF,0x76e350} 003e:warn:ole:ITypeInfo_fnInvoke invoked function failed with error 0x800a0046
Reason for that is 'inACADSupportDir' argument in a script being empty string, making path invalid. I'll try to figure out why hreftype lookup is fixed with such idl changes first.
'inACADSupportDir' may be about AutoCAD which I don't have installed. Maybe therefore it's empty.
I found this: http://help.solidworks.com/2014/English/Installation/install_guide/c_PDMWork...
but I don't know if it's helpful at all.
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #15 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 47749 --> http://bugs.winehq.org/attachment.cgi?id=47749 test.idl
I think it's a widl bug. It's easy to reproduce with attached idl. The problem is that when forward interface declaration is present widl creates 2 typeinfos for 'enum' that look identical, plus 1 typeinfo for interface. Without a forward it creates one typeinfo for enum and one for interface. In first situation some internal referencing breaks so method argument is unable to locate its type.
http://bugs.winehq.org/show_bug.cgi?id=31724
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |tools
http://bugs.winehq.org/show_bug.cgi?id=31724
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #47749|text/x-idl |text/plain mime type| |
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #16 from Nikolay Sivov bunglehead@gmail.com --- I sent a patch that fixes that:
http://www.winehq.org/pipermail/wine-patches/2014-March/131027.html
As I said 'inACADSupportDir' is not set for me, so even if OpenTextFile() was implemented it will fail cause requested patch doesn't exist.
http://bugs.winehq.org/show_bug.cgi?id=31724
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ocean04@suomi24.fi
--- Comment #17 from Nikolay Sivov bunglehead@gmail.com --- *** Bug 34817 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=31724
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |isbugged@gmail.com
--- Comment #18 from Nikolay Sivov bunglehead@gmail.com --- *** Bug 19605 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=31724
--- Comment #19 from Anastasius Focht focht@gmx.net --- *** Bug 35339 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=31724
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |826980d7f414777b40128bb8501 | |65a635c90d8b6 Status|NEW |RESOLVED Resolution|--- |FIXED Severity|minor |normal
--- Comment #20 from Anastasius Focht focht@gmx.net --- Hello folks,
this is fixed by commit http://source.winehq.org/git/wine.git/commitdiff/826980d7f414777b40128bb8501...
Thanks Nikolay
--- quote --- As I said 'inACADSupportDir' is not set for me, so even if OpenTextFile() was implemented it will fail cause requested patch doesn't exist. --- quote ---
The actual VBScript code run from msi script action:
--- snip --- ... Function AddAcadRXEntry (ByVal inACADSupportDir, ByVal inEntryToAdd) Dim fso, acadRXFileWrite, acadRXFileRead, strFileName, needToWriteLine, line Set fso = CreateObject("Scripting.FileSystemObject")
strFileName = inACADSupportDir & "" & "acad.rx"
' If the file doesn't exist, the FileSystemObject will create ' and open an empty file Set acadRXFileWrite = fso.OpenTextFile(strFileName, 8, True) Set acadRXFileRead = fso.OpenTextFile(strFileName, 1, True)
needToWriteLine = True Do While acadRXFileRead.AtEndOfStream <> True line = acadRXFileRead.ReadLine If line = inEntryToAdd Then needToWriteLine = False Exit Do End If Loop
If needToWriteLine Then acadRXFileWrite.WriteLine(inEntryToAdd) End If
acadRXFileRead.Close acadRXFileWrite.Close
AddAcadRXEntry = 0 End Function
... Function AddAutoCADR161PlugInFile On Error Resume Next Dim strSupportDir
' AutoCAD version R16.1 (2005) strSupportDir = Session.Property("CustomActionData") 'MsgBox strSupportDir
AddAcadRXEntry strSupportDir, "pdmwAutoCADAddIn2005.arx"
AddAutoCADR161PlugInFile = 0 End Function ... --- snip ---
inACADSupportDir -> strSupportDir = Session.Property("CustomActionData")
There are some limitations on being able to access the session properties. MSDN says these are only available to deferred execution custom actions, immediate ones do not have access to it. 'CustomActionData' property is empty for this script action.
The installer failure is bug 31968 (textstream_get_AtEndOfStream method stub).
$ wine --version wine-1.7.14-52-g31faed5
Regards
https://bugs.winehq.org/show_bug.cgi?id=31724
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #21 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.15.