[Bug 44419] Hog4PC 3.x fails to install, VBScript custom action needs vbscript:Global_Replace implementation

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Jan 26 15:25:55 CST 2018


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|-unknown                    |vbscript
             Status|NEW                         |RESOLVED
         Resolution|---                         |DUPLICATE
            Summary|Hog4PC doesn't install      |Hog4PC 3.x fails to
                   |                            |install, VBScript custom
                   |                            |action needs
                   |                            |vbscript:Global_Replace
                   |                            |implementation
                 CC|                            |focht at gmx.net

--- Comment #2 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

confirming, it's a dupe of bug 38070

Some VBScript custom action needs vbscript:Global_Replace implementation.

--- snip ---
$ WINEDEBUG=+seh,+pid,+relay,+msi,+vbscript wine msiexec -i
./Hog4PC_3-6-1-1440.msi >>log.txt 2>&1
...
0059:005a:trace:msi:ACTION_CustomAction Handling custom action
L"SA_FixLib_Unpack" (c06 L"SA_Script" L"SA_fixtureLibrary") 
...
0059:005a:trace:msi:msi_get_property returning L"C:\\Program Files\\Hog4PC\\"
for property L"SA_FixLib_Unpack"
0059:005a:trace:msi:msi_set_property 0x13c918 L"CustomActionData" L"C:\\Program
Files\\Hog4PC\\" -1
...
0059:005a:trace:msi:HANDLE_CustomType5_6 L"SA_Script" L"SA_fixtureLibrary"
...
0059:0070:Starting thread proc 0x7ec81f1c (arg=0xa464ac)
0059:0070:trace:msi:ScriptThread custom action (70) started
0059:0070:trace:msi:ACTION_CallScript function L"SA_fixtureLibrary", script L"'
This script is used to extract the fixture libraries as well\r\n' as the DP8K
files for Hog 4PC. \r\n\r\n'Author: Patrick Hutchinson\r\n'Date :
11/11/2010\r\n\r\n'create global objects\r\nSet shell =
CreateObject(\"WScript.Shell\")\r\nSet fso =
CreateObject(\"Scripting.FileSystemObject\")\r\n\r\n'h"... 
...
0059:0070:trace:vbscript:interp_icall 
0059:0070:trace:vbscript:interp_assign_member L"CurrentDirectory"
0059:0070:trace:vbscript:disp_get_id using IDispatch 
...
0059:0070:trace:vbscript:disp_propput using IDispatch 
...
0059:0070:Call KERNEL32.SetCurrentDirectoryW(00a83ed4 L"C:\\Program
Files\\Hog4PC\\Flying Pig Systems\\Hog4PC\\image\\dp8000") ret=f6f941a2
0059:0070:Ret  KERNEL32.SetCurrentDirectoryW() retval=00000001 ret=f6f941a2
...
0059:0070:trace:vbscript:interp_icall 
0059:0070:trace:vbscript:interp_string 
0059:0070:Call oleaut32.SysAllocString(00a61a5c L".hog4lib") ret=f6fd160e 
...
0059:0070:trace:vbscript:DispatchEx_QueryInterface (0xa59b68)->(IID_IDispatchEx
0xcaf9c0)
0059:0070:trace:vbscript:DispatchEx_AddRef (0xa59b68) ref=2
0059:0070:trace:vbscript:DispatchEx_InvokeEx (0xa59b68)->(ba 0 3 0xcafa6c
0xcafad0 0xcaf9a0 (nil))
0059:0070:fixme:vbscript:Global_Replace 
0059:0070:trace:vbscript:DispatchEx_Release (0xa59b68) ref=1
0059:0070:warn:vbscript:exec_script Failed 800a01bd 
...
0059:0070:trace:msi:MsiActiveScriptSite_OnLeaveScript (0xa44c60)
0059:0070:trace:vbscript:ScriptDisp_Release (0xa4b978) ref=1 
...
0059:0070:trace:msi:ACTION_CallScript script returned 1603
0059:0070:trace:msi:MsiCloseHandle 1
0059:0070:trace:msi:ScriptThread custom action (70) returned 1603
0059:0070:trace:msi:MsiCloseAllHandles  
...
--- snip ---

The relevant part of VBScript code executed in script action, extracted from
.msi:

--- snip ---
' This script is used to extract the fixture libraries as well
' as the DP8K files for Hog 4PC.

'Author: Patrick Hutchinson
'Date : 11/11/2010

'create global objects
Set shell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")

'handle errors encountered
On Error Resume Next

' =================================================== Stand Alone Fixture
Library Unpack Section ===================================================
' This function is used for stand alone Hog 4PC. It is
' used to unpack the fixture libraries during install.
Function SA_fixtureLibrary()
    ' local variables
    Dim FPSCommonAppData_Dir, TargetDir, FixtureLib, FixtureLibDir

    ' location of the fixture library
    Const CommonAppData = &H23&  ' the second & denotes a long integer '
    Set objShell  = CreateObject("Shell.Application")
    Set objFolder = objShell.Namespace(CommonAppData)
    Set objFolderItem = objFolder.Self
    FPSCommonAppData_Dir = objFolderItem.Path & "\Flying Pig Systems\Hog
4PC\fixtureLibrary"

    ' location of the 7za.exe application
    TargetDir = Session.Property("CustomActionData") & "Flying Pig
Systems\Hog4PC\image\dp8000"

    ' Change dir to where the 7za.exe app is located
    shell.CurrentDirectory = TargetDir

    ' Fixture Library with path
    FixtureLib = FPSCommonAppData_Dir + "\fixturelib_v4.hog4lib"

    ' Fixture Library Directory
    FixtureLibDir = Replace( FixtureLib, ".hog4lib", "" )

    'Verify the existance of the 7za app before trying to run it
    If ( fso.FileExists( "7za.exe" ) ) Then

        ' Change dir to where the fixture library is located
        shell.CurrentDirectory = FPSCommonAppData_Dir

        ' remove any previous libraries if they exist
        If ( fso.FolderExists( FixtureLibDir ) ) Then
           fso.DeleteFolder( FixtureLibDir )
        End If

        ' do the first unpack
        unpack1 = shell.Run("""" & TargetDir & "\7za.exe"" x -y " & """" &
FixtureLib & """" & " -o""" & FixtureLibDir & """", 0, True)
        If ( unpack1 = 0 ) Then
            ' do the second unpack
            unpack1 = shell.Run("""" & TargetDir & "\7za.exe"" x -y " & """" &
FixtureLibDir & "\[Content]""" & " -o""" & FixtureLibDir & """", 0, True)
            If ( unpack1 = 0 ) Then
                fso.DeleteFile( FixtureLibDir & "\[Content]" )
                fso.DeleteFile( FixtureLib )
                SA_fixtureLibrary = 1        'Success
            Else
                SA_fixtureLibrary = 3        'Failed
            End If

        Else
           SA_fixtureLibrary = 3        'Failed
        End If

    Else
        SA_fixtureLibrary = 3        'Failed
    End If

    'clean up
    FPSCommonAppData_Dir = empty
    TargetDir = empty
    FixtureLib = empty
    FixtureLibDir = empty

End Function

...

--- snip ---

Use 'winetricks -q wsh57' to work around.

$ du -sh Hog4PC_3-6-1-1440.msi 
214M    Hog4PC_3-6-1-1440.msi

$ sha1sum Hog4PC_3-6-1-1440.msi 
61e3361e181f41eccef330de4b9179e88ca1add3  Hog4PC_3-6-1-1440.msi

$ wine --version
wine-3.0-168-gf54a661767

Regards

*** This bug has been marked as a duplicate of bug 38070 ***

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