http://bugs.winehq.org/show_bug.cgi?id=26484
Summary: Strawberry perl installation fails Product: Wine Version: 1.3.15 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msi AssignedTo: wine-bugs@winehq.org ReportedBy: kp-pav@yandex.ru
Created an attachment (id=33720) --> (http://bugs.winehq.org/attachment.cgi?id=33720) stderr output of msiexec
If I try to install strawberry perl using msiexec it fails. You may try the following script to reproduce this behavior:
wget -O ~/.wine/drive_c/perl.msi http://strawberryperl.com/download/5.12.2.0/strawberry-perl-5.12.2.0.msi msiexec /q /a C:\perl.msi
http://bugs.winehq.org/show_bug.cgi?id=26484
ZyX kp-pav@yandex.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #33720|application/octet-stream |text/plain mime type| |
http://bugs.winehq.org/show_bug.cgi?id=26484
--- Comment #1 from ZyX kp-pav@yandex.ru 2011-03-19 14:29:20 CDT --- Created an attachment (id=33721) --> (http://bugs.winehq.org/attachment.cgi?id=33721) stderr output after I cliked «close» in debugger window
http://bugs.winehq.org/show_bug.cgi?id=26484
ZyX kp-pav@yandex.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer
http://bugs.winehq.org/show_bug.cgi?id=26484
ZyX kp-pav@yandex.ru changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kp-pav@yandex.ru
http://bugs.winehq.org/show_bug.cgi?id=26484
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, source Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #2 from Austin English austinenglish@gmail.com 2011-03-19 17:04:42 CDT --- Confirming.
http://bugs.winehq.org/show_bug.cgi?id=26484
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hans@meelstraat.net
--- Comment #3 from Hans Leidekker hans@meelstraat.net 2011-03-20 15:52:26 CDT --- It's a crash in custom action called RelocateMM: 003e:Ret msi.MsiGetPropertyW() retval=00000000 ret=003e3dcc 003e:Call KERNEL32.GetLastError() ret=003e7f3f 003e:Ret KERNEL32.GetLastError() retval=000000cb ret=003e7f3f 003e:Call ntdll.RtlDecodePointer(fefda310) ret=003e7df6 003e:Ret ntdll.RtlDecodePointer() retval=00000000 ret=003e7df6 003e:Call KERNEL32.IsDebuggerPresent() ret=003e4fae 003e:Ret KERNEL32.IsDebuggerPresent() retval=00000000 ret=003e4fae 003e:Call KERNEL32.SetUnhandledExceptionFilter(00000000) ret=003e4fb8 003e:Ret KERNEL32.SetUnhandledExceptionFilter() retval=00000000 ret=003e4fb8 003e:Call KERNEL32.UnhandledExceptionFilter(0127db78) ret=003e4fc2 wine: Unhandled exception 0xc000000d at address 0x1270023:0x003e40b0 (thread 003e), starting debugger...
http://bugs.winehq.org/show_bug.cgi?id=26484
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #4 from Anastasius Focht focht@gmx.net 2011-03-20 18:12:17 CDT --- Hello,
looks like a property which processed in RelocateMM custom action is missing a part, leading to invocation of crash handler.
--- snip --- 0009:trace:msi:msi_get_property returning L"MM;C:\strawberry\;" for property L"CA_Relocate_msm.BC4B680E_4871_31E7_9883_3E2C74EA4F3C" 0009:trace:msi:msi_set_property 0x1315c0 L"CustomActionData" L"MM;C:\strawberry\;" --- snip ---
The source of the CA can be found here:
http://cpansearch.perl.org/src/CSJEWELL/Perl-Dist-WiX-1.500/src/ClearFolderC...
Copy of "sRelocationFile" parameter fails due to previous tokenizer failure:
--- snip --- UINT __stdcall RelocateMM( MSIHANDLE hModule) // Handle of MSI being installed. [in] // Passed to most other routines. { TCHAR sInstallDirectory[MAX_PATH + 1]; TCHAR sRelocationFile[MAX_PATH + 1]; TCHAR sCAData[MAX_PATH * 2 + 6]; UINT uiAnswer; DWORD dwPropLength;
// Get directory to relocate to. dwPropLength = MAX_PATH * 2 + 5; uiAnswer = ::MsiGetProperty(hModule, TEXT("CustomActionData"), sCAData, &dwPropLength); MSI_OK(uiAnswer)
TCHAR *sTokenContext = NULL; TCHAR *sToken = NULL;
sToken = _tcstok_s(sCAData, _T(";"), &sTokenContext); if (0 != _tcscmp(sToken, _T("MM"))) { return ERROR_INSTALL_FAILURE; } sToken = _tcstok_s(NULL, _T(";"), &sTokenContext); _tcscpy_s(sInstallDirectory, _MAX_PATH, sToken); sToken = _tcstok_s(NULL, _T(";"), &sTokenContext); _tcscpy_s(sRelocationFile, _MAX_PATH, sToken); <--- sToken == NULL -> invoke crash handler
return Relocate_Worker(hModule, sInstallDirectory, sRelocationFile);
} --- snip ---
The CA_Relocate_msm property is defined here:
http://cpansearch.perl.org/src/CSJEWELL/Perl-Dist-WiX-1.500/share/default/Me...
--- snip --- ... [% IF dist.relocatable %] [% IF dist.use_dll_relocation %] <CustomAction Id="CA_FileList_msm" Property="CA_Relocate_msm" Value="MM;[INSTALLDIR];[% dist.assert.msm_relocation_idlist %]" Return="check" /> <CustomAction Id="CA_Relocate_msm" BinaryKey="B_ClearFolder" DllEntry="RelocateMM" Execute="deferred" Return="check" />
<InstallExecuteSequence> <Custom Action="CA_FileList_msm" After="InstallFiles" /> <Custom Action="CA_Relocate_msm" After="CA_FileList_msm"> <![CDATA[NOT (NO_RELOCATE OR Installed)]]> </Custom> </InstallExecuteSequence> --- snip ---
Interestingly I didn't find any "dist.assert.msm_relocation_idlist" reference in the class documentation and source code.
http://search.cpan.org/~csjewell/Perl-Dist-WiX-1.500/lib/Perl/Dist/WiX.pm
This looks like some bug in Perl Wix installer module hence this this installer might be broken on Windows too.
Can someone test this installer on Windows and check if there is any crash reporting tool invoked during install?
Regards
http://bugs.winehq.org/show_bug.cgi?id=26484
--- Comment #5 from Hans Leidekker hans@meelstraat.net 2011-05-20 03:35:06 CDT --- Event viewer reports a page fault inside a custom action dll on Windows, but the installer completes and claims success.
http://bugs.winehq.org/show_bug.cgi?id=26484
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://strawberryperl.com/d | |ownload/5.12.2.0/strawberry | |-perl-5.12.2.0.msi Summary|Strawberry perl |Strawberry perl |installation fails |installation fails (failing | |custom action forcibly | |invokes application crash | |handler, remote CA server | |process needed for | |isolation)
--- Comment #6 from Anastasius Focht focht@gmx.net 2011-05-21 02:42:14 CDT --- Hello,
--- quote --- Event viewer reports a page fault inside a custom action dll on Windows, but the installer completes and claims success. --- quote ---
So the installer _is_ broken and Windows gets along probably due to the fact it runs CA's in their own remote custom action server process. There is no harm when it dies -> watson/app crash handler invocation reported in eventlog.
Wine doesn't have a remote CA server process yet hence the forceful invocation of watson/registered application crash handler is the thing that kills main Wine msi process here.
Bug 18070 is about remote CA server process needed for apps that suffer from COM initialization problems (CA server main thread which creates an MTA reused in CA threads). The brain damaged installer here needs the "isolated" server process to not tear down the main msi server process.
Hans, should this stay open or merged into bug 18070 because remote CA server is needed too (though due to different technical reason).
Regards
http://bugs.winehq.org/show_bug.cgi?id=26484
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE
--- Comment #7 from Hans Leidekker hans@meelstraat.net 2011-05-21 02:46:42 CDT --- (In reply to comment #6)
Hans, should this stay open or merged into bug 18070 because remote CA server is needed too (though due to different technical reason).
Lets make it a duplicate.
*** This bug has been marked as a duplicate of bug 18070 ***
http://bugs.winehq.org/show_bug.cgi?id=26484
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Hans Leidekker hans@meelstraat.net 2011-05-21 02:47:24 CDT --- Closing.