http://bugs.winehq.org/show_bug.cgi?id=15887
Summary: msi_cabextract FDICopy fails: Unable to Install Word Perfect Office Product: Wine Version: 1.1.3 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msi AssignedTo: wine-bugs@winehq.org ReportedBy: pbronline-wine@yahoo.co.uk
With Wine 1.1.3 I am no longer able to install any MSI based version Word Perfect Office. I have tried all Wine development versions up to 1.1.7 without success. By contrast, these version of Word Perfect Office install OK with Wine 1.1.2 and back to Wine 1.0.0 and earlier. So this is a regression.
The InstallShield installer reports:
"The wizard was interrupted before Paradox could be completely installed."
The console log symptoms are:
fixme:msi:msi_unimplemented_action_stub RemoveFolders -> 45 ignored L"CreateFolder" table values err:msi:msi_cabextract FDICopy failed err:msi:ACTION_InstallFiles Failed to extract cabinet: L"Data1.cab" err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1627 err:msi:ITERATE_Actions Execution halted, action L"ExecuteAction" returned 1627
It is also necessary to kill an InstallShield program before Wine will exit:
C:\PROG~FBU\COMM~CP1\INST~JM1\Driver\7\INTE~MEX\IDriver.exe -Embedding
I have run a 'full regression' between Wine 1.1.2 and Wine 1.1.3. The end result of which was:
74239fcd915cddcff5bf52d62a7082db9b4586c3 is first bad commit commit 74239fcd915cddcff5bf52d62a7082db9b4586c3 Author: James Hawkins jhawkins@codeweavers.com Date: Mon Aug 18 22:59:44 2008 -0500
msi: Factor out media handling and use the new interface to efficiently extract assemblies.
:040000 040000 76a058ff1df5bb81aa725dd99de183529e4121ff 8eb21dd9dbeec58f5dfae1050d5ac230b0120ece M dlls
I will attach console log output with WINEDEBUG=+msi
Sorry, but trial versions of these releases of Word Perfect Office are no longer available for download.
http://bugs.winehq.org/show_bug.cgi?id=15887
--- Comment #1 from Forester pbronline-wine@yahoo.co.uk 2008-11-02 03:18:38 --- Created an attachment (id=17042) --> (http://bugs.winehq.org/attachment.cgi?id=17042) Console log with WINEDEBUG=+msi
The attachment was created with tar -czf msi.gz msi.log. msi.log is a plain text file containing the last 10k lines (out of some 170k) of console output. The "err:msi:msi_cabextract FDICopy failed message" is on line 8782.
http://bugs.winehq.org/show_bug.cgi?id=15887
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=15887
Lei Zhang thestig@google.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer
--- Comment #2 from Lei Zhang thestig@google.com 2008-11-04 19:37:37 --- What version of word perfect? Is there a demo version with the same problem?
http://bugs.winehq.org/show_bug.cgi?id=15887
--- Comment #3 from Forester pbronline-wine@yahoo.co.uk 2008-11-05 01:19:52 --- (In reply to comment #2)
What version of word perfect? Is there a demo version with the same problem?
This affects Word Perfect Office 11, 12 and X3.
Demo versions of these do not appear to be available on the web any more but I've seen stuff in bugzilla somewhere that suggest the Wine project has downloaded such trial versions in the past so maybe someone has one filed away somewhere.
The current trial version is X4 which does not install for other reasons (it needs .net2 or something).
Word Perfect 2002 does not install for its own reasons so, as it stands, the only 'modern' version that installs is Word Perfect Office 2000.
http://bugs.winehq.org/show_bug.cgi?id=15887
--- Comment #4 from Forester pbronline-wine@yahoo.co.uk 2008-11-24 01:13:19 --- I have more information. The applications are installed after installing wsh. For the original reason for this see Bug 14207.
If wsh is not installed first, the following behaviour is observed with Wine 1.1.9...
Word Perfect Office 11 will not install. Each attempt to enter the (correct) licence key fails with a pop-up claiming the key is invalid and, on the console, another instance of
err:msi:call_script Could not find CLSID for Windows Script
Word Perfect Office 12 does install with a single complaint about missing wsh, which is issued before the unimplemented action stubs.
Likewise Word Perfect Office X3 installs but many of the registry entries are incorrect as originally described in Bug 14207.
http://bugs.winehq.org/show_bug.cgi?id=15887
John Voltz ninevoltz@metalink.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ninevoltz@metalink.net
--- Comment #5 from John Voltz ninevoltz@metalink.net 2008-12-16 14:19:53 --- This same error is generated when trying to install Atmel WinCUPL. I can install just fine if I roll Wine back to 1.0
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2759
http://bugs.winehq.org/show_bug.cgi?id=15887
Lei Zhang thestig@google.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #6 from Lei Zhang thestig@google.com 2008-12-16 15:22:35 --- confirming then.
http://bugs.winehq.org/show_bug.cgi?id=15887
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |12018
http://bugs.winehq.org/show_bug.cgi?id=15887
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dank@kegel.com
--- Comment #7 from Dan Kegel dank@kegel.com 2008-12-20 23:27:01 --- Does the patch in comment 5 of bug 14930 help?
http://bugs.winehq.org/show_bug.cgi?id=15887
--- Comment #8 from Forester pbronline-wine@yahoo.co.uk 2008-12-21 09:16:13 --- (In reply to comment #7)
Does the patch in comment 5 of bug 14930 help?
No. It does not I'm afraid.
The problem is still there in 1.1.11, with or without the patch cited.
http://bugs.winehq.org/show_bug.cgi?id=15887
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #9 from Anastasius Focht focht@gmx.net 2009-01-18 06:34:56 --- Hello,
just experienced the same issue while testing Microsoft Visual Studio Express Versions with some Frameworks and SDKs installed prior into WINEPREFIX.
--- snip --- err:msi:msi_cabextract FDICopy failed err:msi:ACTION_InstallFiles Failed to extract cabinet: L"vcsetup1.cab" err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1627 --- snip ---
Relevant trace log:
--- snip --- 0028:trace:msi:msi_check_file_install_states file L"FL_ATLWithCRT_vcstyle_____X86.3643236F_FC70_11D3_A536_0090278A1BB8" is named L"ATLWithCRT.vsprops" 0028:trace:msi:msi_check_file_install_states file L"FL_ATLWithCRT_vcstyle_____X86.3643236F_FC70_11D3_A536_0090278A1BB8" resolves to L"C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults\ATLWithCRT.vsprops" ... 0028:trace:msi:cabinet_copy_file extracting L"C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults\ATLWithCRT.vsprops" 0028:Call KERNEL32.CreateFileW(01be2290 L"C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults\ATLWithCRT.vsprops",c0000000,00000000,00000000,00000002,00000001,00000000) ret=60b9c779 0028:Ret KERNEL32.CreateFileW() retval=ffffffff ret=60b9c779 0028:Call KERNEL32.GetFileAttributesW(01be2290 L"C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults\ATLWithCRT.vsprops") ret=60b9c790 0028:Ret KERNEL32.GetFileAttributesW() retval=00000021 ret=60b9c790 ... 0028:err:msi:msi_cabextract FDICopy failed 0028:trace:cabinet:FDIDestroy (hfdi == ^0x122e2d8) 0028:err:msi:ACTION_InstallFiles Failed to extract cabinet: L"vcsetup1.cab" 0028:err:msi:ITERATE_Actions Execution halted, action L"InstallFinalize" returned 1627 ... 0028:Call KERNEL32.GetLastError() ret=50245c4b 0028:Ret KERNEL32.GetLastError() retval=00000005 ret=50245c4b --- snip ---
Manually "cabextract" just to be sure:
--- snip --- $ cabextract vcsetup1.cab ... $ ls -lsa FL_ATLWithCRT* 4 -rw-rw-r-- 1 focht focht 219 2005-09-23 00:41 FL_ATLWithCRT_vcstyle_____X86.3643236F_FC70_11D3_A536_0090278A1BB8 --- snip ---
Dumping directory:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/Microsoft Visual Studio 8/VC/VCProjectDefaults ]$ ls -lsa total 128 4 drwxrwxr-x 2 focht focht 4096 2009-01-18 12:00 . 4 drwxrwxr-x 13 focht focht 4096 2009-01-18 11:59 .. 4 -r--r--r-- 1 focht focht 235 2005-09-23 01:41 ATLDynamic.vsprops 4 -r--r--r-- 1 focht focht 285 2005-09-23 01:41 ATLNoCRT.vsprops 4 -r--r--r-- 1 focht focht 246 2005-09-23 01:41 ATLStatic.vsprops 4 -r--r--r-- 1 focht focht 219 2005-09-23 01:41 ATLWithCRT.vsprops ... --- snip ---
Ah, sweet read-only issue again.
Although msi's cabinet_copy_file() ensures that newly created (extracted cabinet) files have sane attributes set, it fails to handle the case when the file to be replaced is already present with read-only attributes - which leads to failure when trying to re-create.
--- snip dlls/msi/media.c --- static INT_PTR cabinet_copy_file(FDINOTIFICATIONTYPE fdint, PFDINOTIFICATION pfdin) { MSICABDATA *data = pfdin->pv; HANDLE handle = 0; LPWSTR path = NULL; DWORD attrs;
data->curfile = strdupAtoW(pfdin->psz1); if (!data->cb(data->package, data->curfile, MSICABEXTRACT_BEGINEXTRACT, &path, &attrs, data->user)) goto done;
TRACE("extracting %s\n", debugstr_w(path));
attrs = attrs & (FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_HIDDEN|FILE_ATTRIBUTE_SYSTEM); if (!attrs) attrs = FILE_ATTRIBUTE_NORMAL;
handle = CreateFileW(path, GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, attrs, NULL); if (handle == INVALID_HANDLE_VALUE) { if (GetFileAttributesW(path) == INVALID_FILE_ATTRIBUTES) ERR("failed to create %s (error %d)\n", debugstr_w(path), GetLastError());
goto done; }
done: msi_free(path);
return (INT_PTR)handle; } --- snip dlls/msi/media.c ---
Adjusting the file attributes of existing files to force the successful re-creation fixes the problem.
Regards
http://bugs.winehq.org/show_bug.cgi?id=15887
--- Comment #10 from Forester pbronline-wine@yahoo.co.uk 2009-01-19 00:31:34 --- (In reply to comment #9)
Hello,
just experienced the same issue while testing Microsoft Visual Studio Express Versions with some Frameworks and SDKs installed prior into WINEPREFIX.
Ah, sweet read-only issue again.
Although msi's cabinet_copy_file() ensures that newly created (extracted cabinet) files have sane attributes set, it fails to handle the case when the file to be replaced is already present with read-only attributes - which leads to failure when trying to re-create.
Adjusting the file attributes of existing files to force the successful re-creation fixes the problem.
If I understand your diagnosis correctly, I should find files under $WINEPREFIX that are read-only and if I change the permissions of these files to read/write then I should be able to install my application.
There are no read-only files under $WINEPREFIX either before or after the attempted installation and there are none created in C:\windows\temp during the installation either.
However it does seem to be a problem overwriting existing files. Installer logs have the failed installation ending with the copy of C:\windows\system32\mfc42.dll and log of from successful installation following this with C:\windows\system32\msvcirt.dll. Both of these files are extracted from vcredist.dll as part of winetricks wsh56.
Although I can't be sure, this does not look like a difference between upper and lower case filenames either. What other possibilities are there ?
http://bugs.winehq.org/show_bug.cgi?id=15887
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE
--- Comment #11 from Hans Leidekker hans@meelstraat.net 2009-01-23 07:15:42 --- This is a duplicate of bug 14930.
*** This bug has been marked as a duplicate of bug 14930 ***
http://bugs.winehq.org/show_bug.cgi?id=15887
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Austin English austinenglish@gmail.com 2009-01-23 09:03:28 --- Closing.
http://bugs.winehq.org/show_bug.cgi?id=15887
--- Comment #13 from Dan Kegel dank@kegel.com 2009-02-15 15:52:19 --- re comment #5: Atmel WinCUPL installs fine for me with both wine-1.0.1 and wine-1.1.13, so that must have been a different bug?
http://bugs.winehq.org/show_bug.cgi?id=15887
--- Comment #14 from David McNeill davemc@mcpond.co.nz 2009-02-17 02:44:23 --- Created an attachment (id=19504) --> (http://bugs.winehq.org/attachment.cgi?id=19504) Console log from OpenOffice 3.0.1 install 15 lines