[Bug 31599] Serif Photoplus X6 installer fails, reporting 'Invalid command line.' (registry command association for msi package, 'msiexec.exe' must be a fully qualified path)

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Aug 3 12:24:56 CDT 2014


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

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |Installer
             Status|UNCONFIRMED                 |NEW
                 CC|                            |focht at gmx.net
          Component|-unknown                    |loader
            Summary|Serif Photoplus X6          |Serif Photoplus X6
                   |setup.exe / Error           |installer fails, reporting
                   |                            |'Invalid command line.'
                   |                            |(registry command
                   |                            |association for msi
                   |                            |package, 'msiexec.exe' must
                   |                            |be a fully qualified path)
     Ever confirmed|0                           |1
           Severity|major                       |normal

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

confirming.

--- snip ---
$ WINEDEBUG=+tid,+seh,+relay,+msi wine ./setup.exe >>log.txt 2>&1
...
0023:Call shlwapi.AssocQueryStringW(00000004,00000002,0041db20
L".MSI",00000000,001395d0,0033fc08) ret=0040ba3d
...
0023:Call KERNEL32.SearchPathW(00000000,00137258
L"msiexec",00000000,00000104,0033f864,00000000) ret=7e7b7183
0023:Ret  KERNEL32.SearchPathW() retval=00000000 ret=7e7b7183
0023:Call KERNEL32.SearchPathW(00000000,00137258 L"msiexec
/i",00000000,00000104,0033f864,00000000) ret=7e7b7183
0023:Ret  KERNEL32.SearchPathW() retval=00000000 ret=7e7b7183
0023:Call KERNEL32.SearchPathW(00000000,00137258 L"msiexec /i
\"%1\"",00000000,00000104,0033f864,00000000) ret=7e7b71f7
0023:Ret  KERNEL32.SearchPathW() retval=00000000 ret=7e7b71f7
...
0023:Ret  shlwapi.AssocQueryStringW() retval=80070002 ret=0040ba3d
...
0023:Call KERNEL32.OutputDebugStringW(00138748 L"/i
\"Z:\\home\\focht\\Downloads\\installer\\Setup\\SERIF PHOTOPLUS X6
(EN-US).MSI\"  TRANSFORMS=\":SETUP.MST\" ") ret=0040c17e 
...
0023:Call KERNEL32.OutputDebugStringW(0033f268 L"Executing:   /i
\"Z:\\home\\focht\\Downloads\\installer\\Setup\\SERIF PHOTOPLUS X6
(EN-US).MSI\"  TRANSFORMS=\":SETUP.MST\" ") ret=004020ee 
...
0023:Call KERNEL32.CreateProcessW(00138830 L"",00144720 L" /i
\"Z:\\home\\focht\\Downloads\\installer\\Setup\\SERIF PHOTOPLUS X6
(EN-US).MSI\"  TRANSFORMS=\":SETUP.MST\"
",00000000,00000000,00000001,00000020,00000000,00000000,0033faa0,0033fa90)
ret=004031cf
0023:Ret  KERNEL32.CreateProcessW() retval=00000000 ret=004031cf 
...
0023:Call
KERNEL32.FormatMessageW(00001300,00000000,00000003,00000000,0033fae0,00000000,00000000)
ret=004115a8
0023:Ret  KERNEL32.FormatMessageW() retval=00000011 ret=004115a8
...
0023:Call msi.MsiInstallProductW(001386a0
L"Z:\\home\\focht\\Downloads\\installer\\Setup\\SERIF PHOTOPLUS X6
(EN-US).MSI",00138748 L" :SETUP.MST") ret=0040c2a3
0023:trace:msi:MsiInstallProductW
L"Z:\\home\\focht\\Downloads\\installer\\Setup\\SERIF PHOTOPLUS X6 (EN-US).MSI"
L" :SETUP.MST"
0023:trace:msi:MSI_OpenPackageW
L"Z:\\home\\focht\\Downloads\\installer\\Setup\\SERIF PHOTOPLUS X6 (EN-US).MSI"
0x33fab0
...
0023:trace:msi:MSI_OpenDatabaseW
L"Z:\\home\\focht\\Downloads\\installer\\Setup\\SERIF PHOTOPLUS X6 (EN-US).MSI"
(null) 
...
0023:Ret  msi.MsiInstallProductW() retval=00000667 ret=0040c2a3
0023:Call user32.LoadStringW(7d890000,00000667,0033f2d8,00000400) ret=004119c9
0023:Ret  user32.LoadStringW() retval=00000000 ret=004119c9
0023:Call
KERNEL32.FormatMessageW(00001300,00000000,00000667,00000000,0033f2ac,00000000,00000000)
ret=004115a8
0023:Ret  KERNEL32.FormatMessageW() retval=00000017 ret=004115a8
...
0023:Call user32.MessageBoxW(00000000,001ab8d0 L"Invalid command
line.",00000000,00000010) ret=004119fe 
...
--- snip --- 

'msiexec' is put without paths in registry '.msi' association hence the failure
(the app misses out the application name).

Source:
http://source.winehq.org/git/wine.git/blob/b320fe77b2c0206bd70a0f109fce75feb5f828e9:/loader/wine.inf.in#l205

--- snip ---
205 HKCR,Msi.Package,,2,"Windows Installer Package"
206 HKCR,Msi.Package\DefaultIcon,,2,"msiexec.exe"
207 HKCR,Msi.Package\shell\Open\command,,2,"msiexec /i ""%1"""
208 HKCR,Msi.Package\shell\Repair\command,,2,"msiexec /f ""%1"""
209 HKCR,Msi.Package\shell\Uninstall\command,,2,"msiexec /x ""%1"""
210 HKCR,Msi.Patch,,2,"Windows Installer Patch"
211 HKCR,Msi.Patch\DefaultIcon,,2,"msiexec.exe"
212 HKCR,Msi.Patch\shell\Open\command,,2,"msiexec /p ""%1"""
--- snip ---

This can't work here, it has to be a fully qualified path -> '%11%\msiexec.exe
/i ""%1""'

With that part(s) fixed, the msi product installation is called.

$ wine --version
wine-1.7.23-33-gc654b7b

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