http://bugs.winehq.org/show_bug.cgi?id=16956
--- Comment #11 from Anastasius Focht focht@gmx.net 2009-08-08 08:28:28 --- Hello,
testcase? The logs alone reveal that MsiDetermineApplicablePatchesW() is obviously the problem ...
--- snip --- ... 0022:Call KERNEL32.LoadLibraryW(3a095dd8 L"msi.dll") ret=3a0ac8ea 0022:Ret KERNEL32.LoadLibraryW() retval=6cab0000 ret=3a0ac8ea 0022:Call KERNEL32.GetProcAddress(6cab0000,3a095de8 "MsiDetermineApplicablePatchesW") ret=3a0ac8fc 0022:Ret KERNEL32.GetProcAddress() retval=6cab9a3c ret=3a0ac8fc 0022:Call msi.MsiDetermineApplicablePatchesW(0017e82c L"c:\97280d8596e1f1ebe053ac637b7d6468\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi",00000009,00bc2d80) ret=3a0ac90b 0022:fixme:msi:MsiDetermineApplicablePatchesW (L"c:\97280d8596e1f1ebe053ac637b7d6468\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi", 9, 0xbc2d80): stub! 0022:Ret msi.MsiDetermineApplicablePatchesW() retval=00000078 ret=3a0ac90b ... 0022:Call oleaut32.SysAllocString(00bc3d60 L"MsiDetermineApplicablePatches returned 120") ret=3a0c896c ... --- snip ---
MS installer log:
--- snip --- ... [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Looking for InstallPackage at netfx20a_x86.msi [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Looking for InstallPackage at C:\windows\temp\IXP04FE6.tmp\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Looking for InstallPackage at c:\97280d8596e1f1ebe053ac637b7d6468.\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Found c:\97280d8596e1f1ebe053ac637b7d6468\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Looking for InstallPackage2 at ASPNET.msp [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Looking for InstallPackage2 at C:\windows\temp\IXP04FE6.tmp\wcu\dotnetframework\dotnetfx20\ASPNET.msp [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Looking for InstallPackage2 at c:\97280d8596e1f1ebe053ac637b7d6468.\wcu\dotnetframework\dotnetfx20\ASPNET.msp [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Found c:\97280d8596e1f1ebe053ac637b7d6468\wcu\dotnetframework\dotnetfx20\ASPNET.msp ... <more patches> ... [08/08/09,14:48:33] Setup.exe: GetGlobalCustomProperty - Property: {A17A8E79-CB1C-49DB-B92E-34ADBFCDA36B} - PropertyName: Patch List - Value: [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Command Line before token replacement. [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: VSEXTUI=1 REBOOT=ReallySuppress [08/08/09,14:48:33] Setup.exe: GetGlobalCustomProperty - Property: {BD495746-4FBA-49F3-8EEB-D8B20EE75235} - PropertyName: Disable Rollback - Value: [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: MsiDetermineApplicablePatches returned 120 [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: MSIComponent Action: Installing MSI c:\97280d8596e1f1ebe053ac637b7d6468\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi with command-line: VSEXTUI=1 REBOOT=ReallySuppress [08/08/09,14:48:33] Microsoft .NET Framework 2.0a: Enabling MSI log file: C:\windows\temp\dd_NET_Framework20_Setup4FEA.txt ... --- snip ---
Package install command line contains only "VSEXTUI=1 REBOOT=ReallySuppress"
With a properly implemented MsiDetermineApplicablePatchesW() all applicable patches would be passed via command line to the package install step.
Something like this:
--- snip --- [08/08/09,15:07:03] Microsoft .NET Framework 2.0a: MSIComponent Action: Installing MSI c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\netfx20a_x86.msi with command-line: VSEXTUI=1 REBOOT=ReallySuppress PATCH="c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\ASPNET.msp;c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\CLR.msp;c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\CRT.msp;c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\NetFX_CA.msp;c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\NetFX_Core.msp;c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\NetFX_Other.msp;c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\PreXP.msp;c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\WinForms.msp;c:\d7d319086a3dcecc2ee897276181d511\wcu\dotnetframework\dotnetfx20\DW.msp" [08/08/09,15:07:03] Microsoft .NET Framework 2.0a: Enabling MSI log file: C:\windows\temp\dd_NET_Framework20_Setup5E12.txt --- snip ---
Regards