http://bugs.winehq.org/show_bug.cgi?id=35028
Bug #: 35028 Summary: SPSS Legacy Viewer (SmartViewer 15) fails to install ("TempFolder" property reset by custom action) Product: Wine Version: 1.7.7 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: msi AssignedTo: wine-bugs@winehq.org ReportedBy: focht@gmx.net Classification: Unclassified
Hello folks,
trace log reveals it fails in some custom action "SPSSCheckLockingCriteria":
--- snip --- ... 0028:trace:msi:ACTION_CustomAction Handling custom action L"SPSSCheckLockingCriteria" (41 L"NewBinary39" L"ifCustomLocking") ... 0028:trace:msi:msi_get_property returning L"C:\Program Files\SPSS Viewer\" for property L"TempFolder" 0028:Call KERNEL32.GetTempFileNameW(0033f0d8 L"C:\Program Files\SPSS Viewer\",7ed2921a L"msi",00000000,0033eed0) ret=7ecaf796 0028:Ret KERNEL32.GetTempFileNameW() retval=00000000 ret=7ecaf796 0028:trace:msi:create_temp_binary unable to create temp file L"" (267) ... 0028:err:msi:ITERATE_Actions Execution halted, action L"SPSSCheckLockingCriteria" returned 1627 ... --- snip ---
It seems the "TempFolder" msi property has been set to a folder that doesn't exist hence GetTempFileNameW() fails (unique = 0).
Earlier in trace log:
--- snip --- ... 0028:trace:msi:msi_get_property returning L"C:\users\focht\Temp\" for property L"TempFolder" 0028:Call KERNEL32.GetTempFileNameW(0033f278 L"C:\users\focht\Temp\",7ed2921a L"msi",00000000,0033f070) ret=7ecaf796 0028:Ret KERNEL32.GetTempFileNameW() retval=00002998 ret=7ecaf796 ... 0028:trace:msi:msi_get_property returning L"C:\users\focht\Temp\" for property L"TempFolder" ... 0028:trace:msi:msi_set_property 0x14bca0 L"TempFolder" L"C:\users\focht\Temp\" -1 ... 0028:trace:msi:msi_resolve_target_folder L"TempFolder" resolves to L"C:\users\focht\Temp\" ... 006c:trace:msi:msi_resolve_target_folder resolving L"TempFolder" ... 006c:trace:msi:msi_set_property 0x14bca0 L"TempFolder" L"C:\Program Files\SPSS Viewer\" -1 ... 006c:trace:msi:msi_resolve_target_folder L"TempFolder" resolves to L"C:\Program Files\SPSS Viewer\" ... <first snippet> --- snip ---
tid 0x6c which resets "TempFolder" property is a custom action thread:
--- snip --- 0028:trace:msi:HANDLE_CustomType1 Calling function L"SetTARGETDIR" from L"C:\users\focht\Temp\msi4d0a.tmp" ... 0028:trace:msi:wait_thread_handle waiting for L"ConfigureMFC71.E775FF93_F66D_4D6B_B08B_051E8B4371D4" ... 006c:trace:msi:ACTION_CallDllFunction calling L"SetTARGETDIR" ... 006c:Call msi.MsiSetTargetPathA(00000004,0922a18c "TARGETDIR",09c4e79c "C:\Program Files\SPSS Viewer\") ret=092216cb ... --- snip ---
This could be one of the bugs which targets Wine insufficiency of not having a separate custom action server. Like bug 18070 which needs the CA server for COM/MTA isolation.
Regards