[Bug 38072] New: GEOVIA Surpac 6.x (geology and mine planning software) installer reports 'WshShell3_Run failed to convert wait argument'

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Feb 11 14:51:14 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=38072

            Bug ID: 38072
           Summary: GEOVIA Surpac 6.x (geology and mine planning software)
                    installer reports 'WshShell3_Run failed to convert
                    wait argument'
           Product: Wine
           Version: 1.7.36
          Hardware: x86
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: -unknown
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

nothing serious (installer doesn't fail), just spotted by chance within logs.

--- snip ---
$ WINEDEBUG=+tid,+seh,+relay,+msi,+vbscript,+wshom,+ole,+variant wine msiexec
-i surpac_63.msi >>log.txt 2>&1
...
0047:trace:wshom:WshShell3_Invoke (1000 {00000000-0000-0000-0000-000000000000}
0 1 0x88e634 (nil) 0x88e580 0x88e57c)
...
0047:trace:ole:dump_DispParms args=2 named args=0
0047:trace:ole:dump_DispParms args:
0047:trace:ole:dump_DispParms   [0] 0x5c21e0 {VT_I2: 0}
0047:trace:ole:dump_DispParms   [1] 0x5c21f0 {VT_VARIANT|VT_BYREF: 0x16e5a4
{VT_BSTR: L"cacls \"C:\\users\\Public\\Gemcom\\Surpac\\63\"  /T /E /G
EveryOne:F"}}
0047:trace:ole:ITypeInfo_fnInvoke invoking:
L"Run"(4)
    parm0: L"Command"
    parm1: L"WindowStyle"
    parm2: L"WaitOnReturn"
    parm3: L"out_ExitCode"
memid is 000003e8
Param 0:
        tdesc.vartype 8 (VT_BSTR)
        u.paramdesc.wParamFlags PARAMFLAG_FIN
        u.paramdesc.lpex (nil)
Param 1:
        tdesc.vartype 26 (ptr to VT_VARIANT)
        u.paramdesc.wParamFlags PARAMFLAG_FIN PARAMFLAG_FOPT
        u.paramdesc.lpex (nil)
Param 2:
        tdesc.vartype 26 (ptr to VT_VARIANT)
        u.paramdesc.wParamFlags PARAMFLAG_FIN PARAMFLAG_FOPT
        u.paramdesc.lpex (nil)
Param 3:
        tdesc.vartype 26 (ptr to VT_INT)
        u.paramdesc.wParamFlags PARAMFLAG_FOUT PARAMFLAG_FRETVAL
        u.paramdesc.lpex (nil)
    funckind: 1 (pure virtual)
    invkind: 1 (func)
    callconv: 4 (stdcall)
    oVft: 36
    cParamsOpt: 2
    wFlags: 0
    elemdescFunc (return value type):
        tdesc.vartype 25 (VT_HRESULT)
        u.paramdesc.wParamFlags PARAMFLAGS_NONE
        u.paramdesc.lpex (nil)
    helpstring: (null)
    entry: invalid 
...
0047:trace:ole:ITypeInfo_fnInvoke changing args
0047:trace:ole:ITypeInfo_fnInvoke 0x5c21f0 {VT_VARIANT|VT_BYREF: 0x16e5a4
{VT_BSTR: L"cacls \"C:\\users\\Public\\Gemcom\\Surpac\\63\"  /T /E /G
EveryOne:F"}}
0047:trace:variant:VariantChangeTypeEx (0x57ac88 {VT_VARIANT|VT_BYREF:
(null)},0x5c21f0 {VT_VARIANT|VT_BYREF: 0x16e5a4 {VT_BSTR: L"cacls
\"C:\\users\\Public\\Gemcom\\Surpac\\63\"  /T /E /G
EveryOne:F"}},0x00000400,0x0000,VT_BSTR)
...
0047:trace:variant:VariantChangeTypeEx returning 0x00000000, 0x57ac88 {VT_BSTR:
L"cacls \"C:\\users\\Public\\Gemcom\\Surpac\\63\"  /T /E /G EveryOne:F"}
0047:trace:ole:ITypeInfo_fnInvoke 0x5c21e0 {VT_I2: 0}
0047:trace:variant:VariantCopy (0x57acd8 {VT_EMPTY},0x5c21e0 {VT_I2: 0})
0047:trace:variant:VariantClear (0x57acd8 {VT_EMPTY})
0047:trace:ole:DispCallFunc (0xf7035948, 36, 4, 10, 4, 0x57ad18, 0x57ad08,
0x88dc18 (vt=10))
...
0047:trace:ole:DispCallFunc arg 0: type VT_BSTR 0x57ac88 {VT_BSTR: L"cacls
\"C:\\users\\Public\\Gemcom\\Surpac\\63\"  /T /E /G EveryOne:F"}
0047:trace:ole:DispCallFunc arg 1: type VT_VARIANT|VT_BYREF 0x57ac98
{VT_VARIANT|VT_BYREF: 0x57acd8 {VT_I2: 0}}
0047:trace:ole:DispCallFunc arg 2: type VT_VARIANT|VT_BYREF 0x57aca8
{VT_VARIANT|VT_BYREF: 0x57ace8 {VT_ERROR: 80020004}}
0047:trace:ole:DispCallFunc arg 3: type VT_I4|VT_BYREF 0x57acb8 {VT_I4|VT_BYREF
0x88dc08}
0047:trace:wshom:WshShell3_Run (L"cacls
\"C:\\users\\Public\\Gemcom\\Surpac\\63\"  /T /E /G EveryOne:F" 0x57acd8
{VT_I2: 0} 0x57ace8 {VT_ERROR: 80020004} 0x88dc08)
0047:Call oleaut32.VariantInit(0088da10) ret=f7023e03
0047:trace:variant:VariantInit (0x88da10)
0047:Ret  oleaut32.VariantInit() retval=0088da10 ret=f7023e03
0047:Call oleaut32.VariantChangeType(0088da10,0057acd8,00000000,00000003)
ret=f7023e2b
0047:trace:variant:VariantChangeTypeEx (0x88da10 {VT_EMPTY},0x57acd8 {VT_I2:
0},0x00000400,0x0000,VT_I4)
0047:trace:variant:VariantClear (0x88d8e8 {VT_EMPTY})
0047:trace:variant:VariantClear (0x88d8d8 {VT_EMPTY})
0047:trace:variant:VariantCopyInd (0x88d8d8 {VT_EMPTY},0x57acd8 {VT_I2: 0})
0047:trace:variant:VariantCopy (0x88d8d8 {VT_EMPTY},0x57acd8 {VT_I2: 0})
0047:trace:variant:VariantClear (0x88d8d8 {VT_EMPTY})
0047:trace:variant:VARIANT_Coerce (0x88d8e8
{VT_EMPTY},0x00000400,0x0000,0x88d8d8 {VT_I2: 0},VT_I4)
0047:trace:variant:VariantCopy (0x88da10 {VT_EMPTY},0x88d8e8 {VT_I4: 0})
0047:trace:variant:VariantClear (0x88da10 {VT_EMPTY})
0047:trace:variant:VariantClear (0x88d8e8 {VT_I4: 0})
0047:trace:variant:VariantClear (0x88d8d8 {VT_I2: 0})
0047:trace:variant:VariantChangeTypeEx returning 0x00000000, 0x88da10 {VT_I4:
0}
0047:Ret  oleaut32.VariantChangeType() retval=00000000 ret=f7023e2b
0047:Call oleaut32.VariantInit(0088da00) ret=f7023e9d
0047:trace:variant:VariantInit (0x88da00)
0047:Ret  oleaut32.VariantInit() retval=0088da00 ret=f7023e9d
0047:Call oleaut32.VariantChangeType(0088da00,0057ace8,00000000,00000003)
ret=f7023ec5
0047:trace:variant:VariantChangeTypeEx (0x88da00 {VT_EMPTY},0x57ace8 {VT_ERROR:
80020004},0x00000400,0x0000,VT_I4)
0047:trace:variant:VariantClear (0x88d8e8 {VT_EMPTY})
0047:trace:variant:VariantClear (0x88d8d8 {VT_EMPTY})
0047:trace:variant:VariantCopyInd (0x88d8d8 {VT_EMPTY},0x57ace8 {VT_ERROR:
80020004})
0047:trace:variant:VariantCopy (0x88d8d8 {VT_EMPTY},0x57ace8 {VT_ERROR:
80020004})
0047:trace:variant:VariantClear (0x88d8d8 {VT_EMPTY})
0047:trace:variant:VARIANT_Coerce (0x88d8e8
{VT_EMPTY},0x00000400,0x0000,0x88d8d8 {VT_ERROR: 80020004},VT_I4)
0047:trace:variant:VariantClear (0x88d8e8 {VT_EMPTY})
0047:trace:variant:VariantClear (0x88d8d8 {VT_ERROR: 80020004})
0047:trace:variant:VariantChangeTypeEx returning 0x80020005, 0x88da00
{VT_EMPTY}
0047:Ret  oleaut32.VariantChangeType() retval=80020005 ret=f7023ec5
0047:err:wshom:WshShell3_Run failed to convert wait argument, 0x80020005
...
0047:trace:ole:DispCallFunc retval: 0x88dc18 {VT_ERROR: 80020005} 
--- sinp ---

The extracted VBScript code (MSI custom action):

--- snip ---
Const SILENTMODE = 0 'do not open any windows

...

if not (strCommand = "") then   
  Call objShell.Run(strCommand, SILENTMODE)
end if

...
--- snip ---

'WaitOnReturn' is optional hence must be treated so in WshShell3_Run().

$ sha1sum Surpac_Viewer.zip 
554c7e0d552667747813a19f6a2a8c77bb7d46e6  Surpac_Viewer.zip

$ du -sh Surpac_Viewer.zip 
137M    Surpac_Viewer.zip

$ wine --version
wine-1.7.36-41-ge4cb3b5

Regards

-- 
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