http://bugs.winehq.org/show_bug.cgi?id=31599
Bug #: 31599 Summary: Serif Photoplus X6 setup.exe / Error Product: Wine Version: 1.5.11 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: register@coloniesonline.co.uk Classification: Unclassified
Created attachment 41557 --> http://bugs.winehq.org/attachment.cgi?id=41557 Resulting error on installer
When trying to run wine setup.exe, on the Photoplus X6 installer, the attached output on the terminal appears and the error message from the installer (attached appears) then, the installer fails.
Output from terminal:
wine setup.exe p11-kit: couldn't load module: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: /usr/lib/i386-linux-gnu/pkcs11/gnome-keyring-pkcs11.so: cannot open shared object file: No such file or directory fixme:shell:IQueryAssociations_fnInit unsupported flags: 4 fixme:shell:IQueryAssociations_fnGetString 00000004: unimplemented flags! fixme:storage:create_storagefile Storage share mode not implemented.
http://bugs.winehq.org/show_bug.cgi?id=31599
--- Comment #1 from Dave E register@coloniesonline.co.uk 2012-09-02 09:44:24 CDT --- Created attachment 41558 --> http://bugs.winehq.org/attachment.cgi?id=41558 Wine Output
https://bugs.winehq.org/show_bug.cgi?id=31599
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer Status|UNCONFIRMED |NEW CC| |focht@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@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/b320fe77b2c0206bd70a0f109fce75feb...
--- 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
https://bugs.winehq.org/show_bug.cgi?id=31599
--- Comment #3 from Austin English austinenglish@gmail.com --- Patch committed:
https://source.winehq.org/git/wine.git/commitdiff/12fd631fe1f1f4ec66a16f96f6...
please retest.
https://bugs.winehq.org/show_bug.cgi?id=31599
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |12fd631fe1f1f4ec66a16f96f68 | |3ad42f10c0335
--- Comment #4 from Anastasius Focht focht@gmx.net --- Hello Austin,
still not fixed.
You can't use single quotes here.
--- snip --- 0025:Call KERNEL32.SearchPathW(00000000,00138848 L"'C:\windows\system32\msiexec.exe",00000000,00000104,0033f864,00000000) ret=7e7b51db 0025:Ret KERNEL32.SearchPathW() retval=00000000 ret=7e7b51db 0025:Call KERNEL32.SearchPathW(00000000,00138848 L"'C:\windows\system32\msiexec.exe /i",00000000,00000104,0033f864,00000000) ret=7e7b51db 0025:Ret KERNEL32.SearchPathW() retval=00000000 ret=7e7b51db 0025:Call KERNEL32.SearchPathW(00000000,00138848 L"'C:\windows\system32\msiexec.exe /i %1'",00000000,00000104,0033f864,00000000) ret=7e7b524f 0025:Ret KERNEL32.SearchPathW() retval=00000000 ret=7e7b524f --- snip ---
Maybe you were mislead by my use of single quote in comment #1. The single quote around the command string was not meant to be taken verbatim.
When I use "'" in analysis/comments, outside of snippets, it's mostly for annotation/markup/markdown purpose to have the whole statement/expression appear as emphasized text outside of Bugzilla (sometimes you might see *strong* , _emphasized_ as well, similar to asciidoc) .. sorry for using ambiguous styles.
Regards
https://bugs.winehq.org/show_bug.cgi?id=31599
--- Comment #5 from Austin English austinenglish@gmail.com --- Created attachment 49221 --> https://bugs.winehq.org/attachment.cgi?id=49221 try 2
How's this? Or do the parameters need to be quoted as well?
https://bugs.winehq.org/show_bug.cgi?id=31599
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello Austin,
--- snip --- "%11%\msiexec.exe /i %1" --- snip ---
the package parameter needs to be double quoted since the path could contain spaces.
--- snip --- "%11%\msiexec.exe /i ""%1""" --- snip ---
Interestingly I'm unable to pass more arguments using '%*' syntax. Wine double quotes additional arguments, confusing the option parser but that's another bug.
Regards
https://bugs.winehq.org/show_bug.cgi?id=31599
--- Comment #7 from Austin English austinenglish@gmail.com --- (In reply to Anastasius Focht from comment #6)
Hello Austin,
--- snip --- "%11%\msiexec.exe /i %1" --- snip ---
the package parameter needs to be double quoted since the path could contain spaces.
--- snip --- "%11%\msiexec.exe /i ""%1""" --- snip ---
Interestingly I'm unable to pass more arguments using '%*' syntax. Wine double quotes additional arguments, confusing the option parser but that's another bug.
Regards
https://source.winehq.org/git/wine.git/commitdiff/8bf602630844de72809912c697...
https://bugs.winehq.org/show_bug.cgi?id=31599
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1|12fd631fe1f1f4ec66a16f96f68 |8bf602630844de72809912c697d |3ad42f10c0335 |3f6005303f719 Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
now really fixed by commit http://source.winehq.org/git/wine.git/commitdiff/8bf602630844de72809912c697d...
Thanks Austin
Regards
https://bugs.winehq.org/show_bug.cgi?id=31599
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.7.24.