https://bugs.winehq.org/show_bug.cgi?id=34913
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |9b0ebaeb78374d23e2d1a14ec30 | |3b3643d6daca3 Status|NEW |RESOLVED Resolution|--- |FIXED Summary|GEOVIA Surpac 6.x (geology |GEOVIA Surpac 6.x (geology |and mine planning software) |and mine planning software) |needs |needs |vbscript:Global_InStrRev |vbscript:Global_InStrRev |and vbscript:Global_Replace |
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
'InStrRev' was added with commit http://source.winehq.org/git/wine.git/commitdiff/9b0ebaeb78374d23e2d1a14ec30...
Thanks Jacek
For completeness, the VBScript code, extracted from MSI custom action:
--- snip --- function stripString2(source, strip) Dim index Dim index2 Dim stripLength
stripLength = Len(strip) index = InStrRev(source, strip) index2 = Len(Source) - stripLength + 1
if index = index2 then stripString2 = Left(source, Len(source) - stripLength) else stripString2 = source end if end function --- snip ---
--- snip --- ... 001d:trace:vbscript:DispatchEx_QueryInterface (0x560f10)->(IID_IDispatchEx 0xbde1b0) 001d:trace:vbscript:DispatchEx_AddRef (0x560f10) ref=2 001d:trace:vbscript:DispatchEx_InvokeEx (0x560f10)->(bc 0 3 0xbde26c 0xbde2d0 0xbde190 (nil)) 001d:trace:vbscript:Global_InStrRev 0xbddfb8 {VT_BSTR: L"C:\Program Files\Gemcom\Surpac\63\"} 0xbddfc8 {VT_BSTR: L"\"} arg_cnt=2 001d:Call oleaut32.VariantChangeType(00bddee8,00bddfb8,00000010,00000008) ret=f6f6ae58 001d:Ret oleaut32.VariantChangeType() retval=00000000 ret=f6f6ae58 001d:Call oleaut32.VariantChangeType(00bddee8,00bddfc8,00000010,00000008) ret=f6f6ae58 001d:Ret oleaut32.VariantChangeType() retval=00000000 ret=f6f6ae58 001d:Call oleaut32.SysStringLen(005bb5f4 L"C:\Program Files\Gemcom\Surpac\63\") ret=f6f6fff2 001d:Ret oleaut32.SysStringLen() retval=00000022 ret=f6f6fff2 001d:Call oleaut32.SysStringLen(00540f1c L"\") ret=f6f7000d 001d:Ret oleaut32.SysStringLen() retval=00000001 ret=f6f7000d 001d:Call oleaut32.SysStringLen(005bb5f4 L"C:\Program Files\Gemcom\Surpac\63\") ret=f6f7002b 001d:Ret oleaut32.SysStringLen() retval=00000022 ret=f6f7002b 001d:Call oleaut32.SysStringLen(00540f1c L"\") ret=f6f70045 001d:Ret oleaut32.SysStringLen() retval=00000001 ret=f6f70045 001d:Call oleaut32.SysFreeString(005bb5f4 L"C:\Program Files\Gemcom\Surpac\63\") ret=f6f700a0 001d:Ret oleaut32.SysFreeString() retval=00000000 ret=f6f700a0 001d:Call oleaut32.SysFreeString(00540f1c L"\") ret=f6f700ae 001d:Ret oleaut32.SysFreeString() retval=00000000 ret=f6f700ae 001d:trace:vbscript:DispatchEx_Release (0x560f10) ref=1 001d:Call oleaut32.VariantClear(0050fbd0) ret=f6f72188 001d:Ret oleaut32.VariantClear() retval=00000000 ret=f6f72188 001d:Call oleaut32.VariantClear(0050fbc0) ret=f6f72188 001d:Ret oleaut32.VariantClear() retval=00000000 ret=f6f72188 001d:trace:vbscript:interp_assign_ident L"index" 001d:Call oleaut32.VariantCopyInd(0050fb88,0050fbc0) ret=f6f736a7 001d:Ret oleaut32.VariantCopyInd() retval=00000000 ret=f6f736a7 001d:Call oleaut32.VariantClear(0050fbc0) ret=f6f72188 001d:Ret oleaut32.VariantClear() retval=00000000 ret=f6f72188 ... --- snip ---
I'm splitting the missing 'Replace' (part of another scriptlet/function) into another bug since the installer reports success in the end (albeit still suffering from multiple vbscript/wshom insufficiencies).
Regards