[Bug 22048] Installation of '.NET documentation' from Windows SDK for Windows 7 and .NET Framework 3.5 SP1 installer fails (VS90-KB953196-x86.exe hotfix fails with incorrect TARGETDIR)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Feb 2 11:44:44 CST 2015


https://bugs.winehq.org/show_bug.cgi?id=22048

Anastasius Focht <focht at 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 at 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 at 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

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list