https://bugs.winehq.org/show_bug.cgi?id=22048
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- URL| |http://download.microsoft.c | |om/download/7/A/B/7ABD2203- | |C472-4036-8BA0-E505528CCCB7 | |/winsdk_web.exe CC| |focht@gmx.net Summary|Install .NET documentation |Installation of '.NET |in Windows 7 SDK fails |documentation' from Windows | |SDK for Windows 7 and .NET | |Framework 3.5 SP1 installer | |fails | |(VS90-KB953196-x86.exe | |hotfix fails with incorrect | |TARGETDIR)
--- Comment #17 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
Microsoft Document Explorer 2008 hotfix (patch) installer is the culprit here.
Prerequisite: 'winetricks -q dotnet20
--- snip --- {[2/2/2015, 15:9:3] Action: Install patch (VS90-KB953196.msp) to Microsoft Document Explorer 2008... } [2/2/2015, 15:9:3] (...::PerformMsiOperation) Calling MspApplyMultiplePatches to apply patch {VS90-KB953196.msp} to product {6753B40C-0FBD-3BED-8A9D-0ACAC2DCD85D}. [2/2/2015, 15:9:3] (HotIron::CBaseMspInstaller::SetMsiLoggingParameters) Successfully called MsiEnableLog with log file set to C:\users\focht\Temp\Microsoft Visual Studio 2008-KB953196_20150202_150856288-Msi0.txt [2/2/2015, 15:9:13] (...::PerformMsiOperation) Patch (VS90-KB953196.msp) install failed on product (Microsoft Document Explorer 2008). Msi Log: {Microsoft Visual Studio 2008-KB953196_20150202_150856288-Msi0.txt} [2/2/2015, 15:9:13] (...::PerformMsiOperation) MsiApplyMultiplePatches returned 0x643 {[2/2/2015, 15:9:13] Entering Function: HotIron::MspInstallerT > > >
::Rollback...
} [2/2/2015, 15:9:13] (...::Rollback) exiting function/method [2/2/2015, 15:9:13] (...::Rollback) [2/2/2015, 15:9:13] Action complete. Log File: C:\users\focht\Temp\Microsoft Visual Studio 2008-KB953196_20150202_150856288-Msi0.txt [2/2/2015, 15:9:13] (...::PerformMsiOperation) exiting function/method [2/2/2015, 15:9:13] (...::PerformMsiOperation) failed and rolled back [2/2/2015, 15:9:13] (HotIron::CBaseMspInstaller::Install) PerformMsiOperation returned 0x643 [2/2/2015, 15:9:13] (HotIron::CBaseMspInstaller::Install) exiting function/method [2/2/2015, 15:9:13] (HotIron::CBaseMspInstaller::Install) PerformMsiOperation returned 0x643 [2/2/2015, 15:9:13] (HotIron::CompositeInstaller::Install) Composite Installer is reporting 0x80070643 - Installation failure. [2/2/2015, 15:9:13] (HotIron::CompositeInstaller::Install) exiting function/method [2/2/2015, 15:9:13] (HotIron::CompositeInstaller::Install) Installation failure. --- snip ---
Unwrapping the inner installer(s):
'winsdk_dvdx86.msi' -> 'VS90-KB953196-x86.exe'
--- snip --- 0041:Call KERNEL32.CreateProcessW(00000000,0d1ecb68 L"C:\Program Files\Microsoft SDKs\Windows\v7.0\Setup\SFX\VS90-KB953196-x86.exe /q /z /ER /l "C:\users\focht\Temp\Microsoft Windows SDK for Windows 7_cfbe17d0-e763-4295-9117-e564ccfc9fd1_SFX.log"",00000000,00000000,00000000,00000410,00000000,00000000,0d1ec220,0d1ec210) ret=7e12afab ... 0035:Call KERNEL32.__wine_kernel_init() ret=7bc5a89d ... 0041:Ret KERNEL32.CreateProcessW() retval=00000001 ret=7e12afab ... 0058:Call KERNEL32.ExitProcess(00000643) ret=01003c2b --- snip ---
Relevant trace log of inner hotfix-installer:
--- snip --- 002a:Call KERNEL32.CreateProcessA(00000000,0100b0c0 "c:\5aaf9ff4959a388da13cc8\HotFixInstaller.exe ",00000000,00000000,00000000,00000020,00000000,0100ad60 "c:\5aaf9ff4959a388da13cc8",0033fde0,0033fdac) ret=01005856 ... 002d:Call KERNEL32.__wine_kernel_init() ret=7bc5a89d 002a:Ret KERNEL32.CreateProcessA() retval=00000001 ret=01005856 ... 002e:Call msi.MsiApplyMultiplePatchesW(00688b20 L"VS90-KB953196.msp",00687f70 L"{6753B40C-0FBD-3BED-8A9D-0ACAC2DCD85D}",00444bd4 L"") ret=0041e63d ... 002e:Call KERNEL32.GetFileAttributesW(00ffe00c L"C:\windows\Installer\99cc.msi") ret=7e142e83 002e:Ret KERNEL32.GetFileAttributesW() retval=00000020 ret=7e142e83 ... 002e:trace:msi:ACTION_CostFinalize Building directory properties 002e:trace:msi:msi_resolve_target_folder resolving L"TARGETDIR" 002e:Call ole32.CLSIDFromString(006b06a0 L"{6753B40C-0FBD-3BED-8A9D-0ACAC2DCD85D}",00ffda18) ret=7e15e116 002e:Ret ole32.CLSIDFromString() retval=00000000 ret=7e15e116 002e:trace:msi:MSIREG_OpenInstallProps L"{6753B40C-0FBD-3BED-8A9D-0ACAC2DCD85D}" squished L"C04B3576DBF0DEB3A8D9A0AC2CCD8DD5" 002e:Call advapi32.RegOpenKeyExW(80000002,00ffda7a L"Software\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\C04B3576DBF0DEB3A8D9A0AC2CCD8DD5\InstallProperties",00000000,000f013f,00ffdf18) ret=7e160697 002e:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=7e160697 002e:Call advapi32.RegQueryValueExW(000000cc,7e185fa0 L"InstallLocation",00000000,00000000,00000000,00ffded4) ret=7e15e7f6 002e:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e15e7f6 .... 002e:Call advapi32.RegQueryValueExW(000000cc,7e185fa0 L"InstallLocation",00000000,00000000,0074ab08,00ffded4) ret=7e15e865 002e:Ret advapi32.RegQueryValueExW() retval=00000000 ret=7e15e865 ... 002e:trace:msi:msi_get_property returning L"C:\" for property L"ROOTDRIVE" ... 002e:trace:msi:msi_set_property 0x689358 L"TARGETDIR" L"C:\" -1 ... 002e:trace:msi:msi_resolve_target_folder L"CommonIDE.3643236F_FC70_11D3_A536_0090278A1BB8" resolves to L"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\" 002e:trace:msi:msi_resolve_target_folder L"VSCommonFiles.3643236F_FC70_11D3_A536_0090278A1BB8" resolves to L"C:\Program Files\Microsoft Visual Studio 9.0\Common7\" 002e:trace:msi:msi_resolve_target_folder L"VS7.3643236F_FC70_11D3_A536_0090278A1BB8" resolves to L"C:\Program Files\Microsoft Visual Studio 9.0\" 002e:trace:msi:msi_resolve_target_folder L"ProgramFilesFolder_x86.3643236F_FC70_11D3_A536_0090278A1BB8" resolves to L"C:\Program Files\" 002e:trace:msi:msi_resolve_target_folder L"TARGETDIR" resolves to L"C:\" 002e:trace:msi:ACTION_CostFinalize Evaluating component conditions ... 002e:trace:msi:msi_resolve_file_source Working to resolve source of file L"FL_baseline_dat_134796_134796_cn_enu.3643236F_FC70_11D3_A536_0090278A1BB8" 002e:trace:msi:msi_resolve_source_folder working to resolve L"DR_54322.3643236F_FC70_11D3_A536_0090278A1BB8" 002e:trace:msi:msi_resolve_source_folder ! parent is L"TARGETDIR" 002e:trace:msi:msi_resolve_source_folder working to resolve L"TARGETDIR" ... 002e:trace:msi:set_target_path file L"FL_baseline_dat_134796_134796_cn_enu.3643236F_FC70_11D3_A536_0090278A1BB8" is named L"install.ini" ... 002e:trace:msi:set_target_path resolves to L"C:\install.ini" 002e:Call KERNEL32.GetFileAttributesW(0071f6b8 L"C:\install.ini") ret=7e0f7b85 002e:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7e0f7b85 ... 002e:Call KERNEL32.GetFileAttributesW(0071f6b8 L"C:\install.ini") ret=7e13090c 002e:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7e13090c 002e:trace:msi:calculate_install_state file L"FL_baseline_dat_134796_134796_cn_enu.3643236F_FC70_11D3_A536_0090278A1BB8" is missing ... 002e:trace:msi:msi_resolve_file_source file L"FL_baseline_dat_134796_134796_cn_enu.3643236F_FC70_11D3_A536_0090278A1BB8" source resolves to L"C:\0f960ad40e102b9e4a043a3f81ad88c9\install.ini" 002e:trace:msi:ACTION_InstallFiles copying L"C:\0f960ad40e102b9e4a043a3f81ad88c9\install.ini" to L"C:\install.ini" ... 002e:trace:msi:copy_install_file Copying L"C:\0f960ad40e102b9e4a043a3f81ad88c9\install.ini" to L"C:\install.ini" 002e:Call KERNEL32.CopyFileW(0087ae08 L"C:\0f960ad40e102b9e4a043a3f81ad88c9\install.ini",0071f6b8 L"C:\install.ini",00000000) ret=7e130dc6 002e:Ret KERNEL32.CopyFileW() retval=00000000 ret=7e130dc6 002e:err:msi:ACTION_InstallFiles Failed to copy L"C:\0f960ad40e102b9e4a043a3f81ad88c9\install.ini" to L"C:\install.ini" (3) ... 002e:trace:msi:MSI_ProcessMessage (nil) 0x41736f 0x41738d 7fff 10 L"Action ended 16:09:12: InstallFiles. Return value 1603." ... 002e:Ret msi.MsiApplyMultiplePatchesW() retval=00000643 ret=0041e63d --- snip ---
'TARGETDIR' is not set, hence it falls back to 'ROOTDRIVE' making MSI believe certain files are not installed (which is incorrect).
--- snip --- $ find . -name "install.ini" ./windows/Microsoft.NET/Framework/v2.0.50727/Microsoft .NET Framework 2.0/install.ini ./Program Files/Common Files/Microsoft Shared/Help 9/Microsoft Document Explorer 2008/install.ini --- snip ---
The original Microsoft Document Explorer 2008 installer has a type 35 custom action which sets the application install folder after the 'CostFinalize' action.
'CustomAction' table dumped with 'ORCA':
--- snip --- CA_SetDExplore_Dir_x86_enu.3643236F_FC70_11D3_A536_0090278A1BB8 35 DR_54322.3643236F_FC70_11D3_A536_0090278A1BB8 [helpwhidbey.3643236F_FC70_11D3_A536_0090278A1BB8][ProductName]
DR_54322.3643236F_FC70_11D3_A536_0090278A1BB8 TARGETDIR . --- snip ---
'InstallExecuteSequence' table dumped with 'ORCA':
--- snip --- CA_SetDExplore_Dir_x86_enu.3643236F_FC70_11D3_A536_0090278A1BB8 NOT Installed 2302 --- snip ---
Relevant trace log of original product installer:
--- snip --- ... 002e:trace:msi:msi_get_property returning L"C:\" for property L"ROOTDRIVE" ... 002e:trace:msi:msi_set_property 0x192538 L"TARGETDIR" L"C:\" -1 ... 002e:trace:msi:ACTION_CustomAction Handling custom action L"CA_SetDExplore_Dir_x86_enu.3643236F_FC70_11D3_A536_0090278A1BB8" (23 L"DR_54322.3643236F_FC70_11D3_A536_0090278A1BB8" L"[helpwhidbey.3643236F_FC70_11D3_A536_0090278A1BB8][ProductName]") ... 002e:trace:msi:MSI_SetTargetPathW 0xa4f6b0 L"DR_54322.3643236F_FC70_11D3_A536_0090278A1BB8" L"C:\Program Files\Common Files\Microsoft Shared\Help 9\Microsoft Document Explorer 2008" ... 002e:trace:msi:set_target_path file L"FL_baseline_dat_134796_134796_cn_enu.3643236F_FC70_11D3_A536_0090278A1BB8" is named L"install.ini" ... 002e:Call KERNEL32.GetFileAttributesW(00ab3ce0 L"C:\Program Files\Common Files\Microsoft Shared\Help 9\Microsoft Document Explorer 2008\install.ini") ret=7d96390c 002e:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7d96390c 002e:trace:msi:calculate_install_state file L"FL_baseline_dat_134796_134796_cn_enu.3643236F_FC70_11D3_A536_0090278A1BB8" is missing ... 002e:trace:msi:msi_resolve_file_source Working to resolve source of file L"FL_baseline_dat_134796_134796_cn_enu.3643236F_FC70_11D3_A536_0090278A1BB8" 002e:trace:msi:msi_resolve_source_folder working to resolve L"DR_54322.3643236F_FC70_11D3_A536_0090278A1BB8" 002e:trace:msi:msi_resolve_source_folder ! parent is L"TARGETDIR" 002e:trace:msi:msi_resolve_source_folder working to resolve L"TARGETDIR" ... 002e:trace:msi:msi_resolve_file_source file L"FL_baseline_dat_134796_134796_cn_enu.3643236F_FC70_11D3_A536_0090278A1BB8" source resolves to L"C:\93f50ad590ef7d2b192f38a4\install.ini" 002e:trace:msi:ACTION_InstallFiles copying L"C:\93f50ad590ef7d2b192f38a4\install.ini" to L"C:\Program Files\Common Files\Microsoft Shared\Help 9\Microsoft Document Explorer 2008\install.ini" 002e:Call ntdll.RtlAllocateHeap(00110000,00000000,000000b0) ret=7d92586c 002e:Ret ntdll.RtlAllocateHeap() retval=00b3ebc0 ret=7d92586c 002e:Call KERNEL32.CreateDirectoryW(00b3ebc0 L"C:\Program Files\Common Files\Microsoft Shared\Help 9\Microsoft Document Explorer 2008",00000000) ret=7d926f55 002e:Ret KERNEL32.CreateDirectoryW() retval=00000001 ret=7d926f55 ... 002e:trace:msi:copy_install_file Copying L"C:\93f50ad590ef7d2b192f38a4\install.ini" to L"C:\Program Files\Common Files\Microsoft Shared\Help 9\Microsoft Document Explorer 2008\install.ini" 002e:Call KERNEL32.CopyFileW(00b3eb60 L"C:\93f50ad590ef7d2b192f38a4\install.ini",00ab3ce0 L"C:\Program Files\Common Files\Microsoft Shared\Help 9\Microsoft Document Explorer 2008\install.ini",00000000) ret=7d963dc6 002e:Ret KERNEL32.CopyFileW() retval=00000001 ret=7d963dc6 002e:Call KERNEL32.SetFileAttributesW(00ab3ce0 L"C:\Program Files\Common Files\Microsoft Shared\Help 9\Microsoft Document Explorer 2008\install.ini",00000080) ret=7d963df6 002e:Ret KERNEL32.SetFileAttributesW() retval=00000001 ret=7d963df6 ... --- snip ---
This custom action is not executed in the patch installer hence 'DR_54322.3643236F_FC70_11D3_A536_0090278A1BB8' property remains empty.
--- snip --- ... 002e:trace:msi:MSI_EvaluateConditionW 0 <- L"NOT Installed" 002e:trace:msi:ITERATE_Actions Skipping action: L"CA_SetDExplore_Dir_x86_enu.3643236F_FC70_11D3_A536_0090278A1BB8" (condition is false) --- snip ---
I found no other place where 'DR_54322.3643236F_FC70_11D3_A536_0090278A1BB8' gets set hence I assume the custom action still gets executed.
Maybe 'REINSTALL' property could be of help here, adding and taking this into account for patch/upgrade mode.
$ sha1sum dexplore.exe 458defcb6b41fd3235924693dcd1021684f9d3e9 dexplore.exe
$ du -sh dexplore.exe 9.9M dexplore.exe
$ sha1sum VS90-KB953196-x86.exe 86e29cddd47ee969751ca409149890c637dc4f5a VS90-KB953196-x86.exe
$ du -sh VS90-KB953196-x86.exe 300K VS90-KB953196-x86.exe
$ wine --version wine-1.7.35-24-g3873c93
Regards