https://bugs.winehq.org/show_bug.cgi?id=35423
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer CC| |focht@gmx.net Status|UNCONFIRMED |RESOLVED Fixed by SHA1| |12fd631fe1f1f4ec66a16f96f68 | |3ad42f10c0335 Summary|Serif WebPlus x5 and x6 |Serif WebPlus x5/x6/x8 |error:Invalid command line |installer fails, reports |when setup is run |'Invalid command line.' Resolution|--- |FIXED Component|-unknown |loader
--- Comment #8 from Anastasius Focht focht@gmx.net --- Hello folks,
this bug was fixed a long time ago.
https://source.winehq.org/git/wine.git/commitdiff/12fd631fe1f1f4ec66a16f96f6... ("wine.inf: Use full path to msiexec.")
I could reproduce it with current Wine version and using a very old archived WINEPREFIX where registry 'Msi.Package\shell\Open\command' -> 'msiexec' was not full path.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,msi,+process,+loaddll wine ./WebPlusX8-en-GB.exe
log.txt 2>&1
... 0035:Call KERNEL32.CreateProcessA(00000000,00692a78 ""C:\users\focht\Temp\Serif WebPlus X8\autorun.exe" ",00000000,00000000,00000000,00000000,00000000,00563908 "C:\users\focht\Temp\Serif WebPlus X8\",003bf940,003bf930) ret=003f95e9 0035:trace:process:create_process_impl app (null) cmdline L""C:\users\focht\Temp\Serif WebPlus X8\autorun.exe" " ... 0035:trace:process:create_process_impl starting L"C:\users\focht\Temp\Serif WebPlus X8\autorun.exe" as Win32 binary (0x400000-0x466000, arch 014c) ... 004d:Call shlwapi.AssocQueryStringW(00000004,00000002,00424000 L".MSI",00000000,001416b0,0033fbdc) ret=0040e58d 004d:trace:shell:AssocQueryStringW (0x4,2,L".MSI",(null),0x1416b0,0x33fbdc) 004d:trace:shell:AssocCreate ({a07034fd-6caa-4954-ac3f-97a27216f98a},{c46ca590-3c3f-11d2-bee6-0000f805ca57},0x33fb30) 004d:Call KERNEL32.LoadLibraryA(7e5d95b1 "shell32.dll") ret=7e5b2096 004d:Ret KERNEL32.LoadLibraryA() retval=7e610000 ret=7e5b2096 ... 004d:trace:shell:IDefClF_fnCreateInstance 0x141408->((nil),{c46ca590-3c3f-11d2-bee6-0000f805ca57} (unknown),0x33fb30) ... 004d:trace:shell:SHAlloc 16 bytes at 0x1418c8 004d:trace:shell:IQueryAssociations_fnQueryInterface (0x1418c8,{c46ca590-3c3f-11d2-bee6-0000f805ca57},0x33fb30) 004d:trace:shell:IQueryAssociations_fnAddRef (0x1418c8)->(ref before=0) 004d:trace:shell:IQueryAssociations_fnQueryInterface Returning IQueryAssociations (0x1418c8) 004d:trace:shell:QueryAssociations_Constructor returning 0x1418c8 004d:trace:shell:IDefClF_fnRelease (0x141408)->(count=1) 004d:trace:shell:IDefClF_fnRelease -- destroying IClassFactory(0x141408) 004d:Call ntdll.RtlFreeHeap(00110000,00000000,00141408) ret=7e6553c9 004d:Ret ntdll.RtlFreeHeap() retval=00000001 ret=7e6553c9 004d:trace:shell:SHCoCreateInstance -- instance: 0x1418c8 004d:Ret shell32.SHCoCreateInstance() retval=00000000 ret=7e589920 004d:trace:shell:IQueryAssociations_fnInit (0x1418c8)->(4,L".MSI",(nil),(nil)) 004d:fixme:shell:IQueryAssociations_fnInit unsupported flags: 4 004d:Call advapi32.RegCloseKey(00000000) ret=7e61a371 004d:Ret advapi32.RegCloseKey() retval=00000006 ret=7e61a371 004d:Call advapi32.RegOpenKeyExW(80000000,00424000 L".MSI",00000000,00020019,001418d0) ret=7e61a3d4 004d:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e61a3d4 004d:Call advapi32.RegQueryValueExW(00000068,00000000,00000000,00000000,00000000,0033fa90) ret=7e61a56c 004d:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e61a56c ... 004d:Call advapi32.RegQueryValueExW(00000068,00000000,00000000,00000000,00141408,0033fa90) ret=7e61a5f1 004d:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e61a5f1 004d:Call advapi32.RegOpenKeyExW(80000000,00141408 L"Msi.Package",00000000,00020019,001418d4) ret=7e61a4d8 004d:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e61a4d8 ... 004d:trace:shell:IQueryAssociations_fnGetString (0x1418c8)->(0x00000004, 2, (null), 0x1416b0, 0x33fbdc) 004d:fixme:shell:IQueryAssociations_fnGetString 00000004: unimplemented flags 004d:Call advapi32.RegQueryValueExW(00000068,00000000,00000000,00000000,00000000,0033f6a0) ret=7e61a56c 004d:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e61a56c ... 004d:Call advapi32.RegQueryValueExW(00000068,00000000,00000000,00000000,00141408,0033f6a0) ret=7e61a5f1 004d:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e61a5f1 004d:Call advapi32.RegOpenKeyExW(80000000,00141408 L"Msi.Package",00000000,00020019,0033f6e0) ret=7e61a693 004d:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e61a693 ... 004d:Call advapi32.RegOpenKeyExW(00000070,7e69c1cc L"shell",00000000,00020019,0033f6f0) ret=7e61a6dc 004d:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e61a6dc ... 004d:Call advapi32.RegQueryValueExW(00000074,00000000,00000000,00000000,00000000,0033f6a0) ret=7e61a56c 004d:Ret advapi32.RegQueryValueExW() retval=00000002 ret=7e61a56c 004d:Call advapi32.RegQueryInfoKeyW(00000074,00000000,00000000,00000000,00000000,0033f6dc,00000000,00000000,00000000,00000000,00000000,00000000) ret=7e61a7a5 004d:Ret advapi32.RegQueryInfoKeyW() retval=00000000 ret=7e61a7a5 ... 004d:Call advapi32.RegEnumKeyExW(00000074,00000000,00141408,0033f6dc,00000000,00000000,00000000,00000000) ret=7e61a83c 004d:Ret advapi32.RegEnumKeyExW() retval=00000000 ret=7e61a83c 004d:Call advapi32.RegOpenKeyExW(00000074,00141408 L"Open",00000000,00020019,0033f6ec) ret=7e61a8a9 004d:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e61a8a9 ... 004d:Call advapi32.RegCloseKey(00000074) ret=7e61a8dc 004d:Ret advapi32.RegCloseKey() retval=00000000 ret=7e61a8dc 004d:Call advapi32.RegOpenKeyExW(00000070,7e69c1d8 L"command",00000000,00020019,0033f6f4) ret=7e61a912 004d:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e61a912 004d:Call advapi32.RegCloseKey(00000070) ret=7e61a924 004d:Ret advapi32.RegCloseKey() retval=00000000 ret=7e61a924 004d:Call advapi32.RegQueryValueExW(00000074,00000000,00000000,00000000,00000000,0033f6a0) ret=7e61a56c 004d:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e61a56c 004d:Call ntdll.RtlAllocateHeap(00110000,00000000,00000020) ret=7e61a5bb 004d:Ret ntdll.RtlAllocateHeap() retval=00141408 ret=7e61a5bb 004d:Call advapi32.RegQueryValueExW(00000074,00000000,00000000,00000000,00141408,0033f6a0) ret=7e61a5f1 004d:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e61a5f1 004d:Call advapi32.RegCloseKey(00000074) ret=7e61a960 004d:Ret advapi32.RegCloseKey() retval=00000000 ret=7e61a960 004d:Call KERNEL32.SearchPathW(00000000,00141408 L"msiexec",00000000,00000104,0033f868,00000000) ret=7e61aa27 004d:Ret KERNEL32.SearchPathW() retval=00000000 ret=7e61aa27 004d:Call KERNEL32.SearchPathW(00000000,00141408 L"msiexec /i",00000000,00000104,0033f868,00000000) ret=7e61aa27 004d:Ret KERNEL32.SearchPathW() retval=00000000 ret=7e61aa27 004d:Call KERNEL32.SearchPathW(00000000,00141408 L"msiexec /i "%1"",00000000,00000104,0033f868,00000000) ret=7e61aa81 004d:Ret KERNEL32.SearchPathW() retval=00000000 ret=7e61aa81 0... 004d:trace:shell:IQueryAssociations_fnRelease (0x1418c8)->(ref before=1) 004d:trace:shell:IQueryAssociations_fnRelease Destroying IQueryAssociations (0x1418c8) ... 004d:Call KERNEL32.OutputDebugStringW(0033f21c L"Executing: /i "Z:\home\focht\Downloads\Serif WebPlus X8\SERIF WEBPLUS X8 (EN-GB).MSI" BEHAVIOUR_ESD=1 SHOW_FEATURE_TREE_UI=0 TRANSFORMS=":SETUP.MST" ") ret=004020ee ... 004d:Ret KERNEL32.OutputDebugStringW() retval=0033f1c0 ret=004020ee 004d:Call KERNEL32.CreateProcessW(00140860 L"",00160cf8 L" /i "Z:\home\focht\Downloads\Serif WebPlus X8\SERIF WEBPLUS X8 (EN-GB).MSI" BEHAVIOUR_ESD=1 SHOW_FEATURE_TREE_UI=0 TRANSFORMS=":SETUP.MST" ",00000000,00000000,00000001,00000020,00000000,00000000,0033fa54,0033fa44) ret=0040370f 004d:Ret KERNEL32.CreateProcessW() retval=00000000 ret=0040370f 004d:Call KERNEL32.GetLastError() ret=00403717 004d:Ret KERNEL32.GetLastError() retval=00000003 ret=00403717 ... 004d:Call user32.MessageBoxW(00000000,0017e730 L"Invalid command line.",00000000,00000010) ret=00416e2e --- snip ---
--- snip --- $ cat autorun.inf [AutoRun] icon=WebPlus.ico label=Serif WebPlus X8 open=autorun.exe
[MISC] Reboot=Suppressed
[Setup] Installer=Serif WebPlus X8 (en-GB).msi Installer64=Serif WebPlus X8 (en-GB) 64.msi Transform1=:setup.mst Transform641=:setup.mst CmdLine=BEHAVIOUR_ESD=1 SHOW_FEATURE_TREE_UI=0 CmdLine64=BEHAVIOUR_ESD=1 SHOW_FEATURE_TREE_UI=0
[Ctrl] CmdLine=/l*v "%USERPROFILE%\Desktop\WPX8log.txt" CmdLine64=/l*v "%USERPROFILE%\Desktop\WPX864log.txt" --- snip ---
With a newly created WINEPREFIX the problem is gone.
$ sha1sum WebPlusX8-en-GB.exe 96afc0bbdfa53566ad7918edeaee2acf8e11694e WebPlusX8-en-GB.exe
$ du -sh WebPlusX8-en-GB.exe 397M WebPlusX8-en-GB.exe
Regards