http://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #19 from Damjan Jovanovic damjan.jov@gmail.com --- Taking +msi,+process,+file,+pid traces with Wine 4a10f3a188e585 and Wine 6.6, filtering them for lines containing one of the files missing in comment 15 (eg. Microsoft.VisualStudio.VCCodeModel.dll), allows us to compare what happens to that file in those Wine versions.
Wine 4a10f3a188e585: between cabinet_copy_file and DeleteFileW, CreateFileW is called 7 times, first installing Microsoft.VisualStudio.VCCodeModel.dll to C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\ in [1] - [3]. Then between [4] and [5], there is a CopyFileExW which copies it to C:\windows\assembly\ in [5], [6] and [7]:
---snip--- 06bc:06b0:trace:msi:cabinet_copy_file extracting L"Microsoft_VisualStudio_VCCodeModel_dll_1_____X86.3643236F_FC70_11D3_A536_0090278A1BB8" -> L"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.VCCodeModel.dll"
[1] 06bc:06b0:trace:file:CreateFileW L"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_READ GENERIC_WRITE creation 2 attributes 0x80
06bc:06b0:trace:msi:MSI_ProcessMessageVerbatim Calling UI handler 4F05B9A0(pvContext=0278D590, iMessageType=09000000, szMessage=L"File: Microsoft.VisualStudio.VCCodeModel.dll, Directory: PublicAssemblies.3643236F_FC70_11D3_A536_0090278A1BB8, Size: 106496")
[2] 06bc:06b0:trace:file:CreateFileW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_READ FILE_SHARE_READ creation 3 attributes 0x8000000
[3] 06bc:06b0:trace:file:CreateFileW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_READ FILE_SHARE_READ creation 3 attributes 0x8000000
06bc:06b0:trace:msi:msi_install_assembly installing assembly L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll"
[4] 06bc:06b0:trace:file:CreateFileW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_READ FILE_SHARE_READ creation 3 attributes 0x80
06bc:06b0:trace:file:CopyFileExW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" -> L"C:\windows\assembly\GAC_MSIL\Microsoft.VisualStudio.VCCodeModel\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.VCCodeModel.dll", 0
[5] 06bc:06b0:trace:file:CreateFileW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_READ FILE_SHARE_READ FILE_SHARE_WRITE FILE_SHARE_DELETE creation 3 attributes 0x0
[6] 06bc:06b0:trace:file:CreateFileW L"C:\windows\assembly\GAC_MSIL\Microsoft.VisualStudio.VCCodeModel\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.VCCodeModel.dll" QUERY_ACCESS FILE_SHARE_READ FILE_SHARE_WRITE creation 3 attributes 0x0 06bc:06b0:warn:file:CreateFileW Unable to create file L"C:\windows\assembly\GAC_MSIL\Microsoft.VisualStudio.VCCodeModel\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.VCCodeModel.dll" (status c0000034)
[7] 06bc:06b0:trace:file:CreateFileW L"C:\windows\assembly\GAC_MSIL\Microsoft.VisualStudio.VCCodeModel\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_WRITE FILE_SHARE_READ FILE_SHARE_WRITE creation 2 attributes 0x20
06bc:06b0:trace:file:DeleteFileW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" ---snip---
Wine 6.6: between cabinet_copy_file and DeleteFileW, CreateFileW is called 3 times, and these match [1], [2] and [3] for 4a10f3a188e585. However [4] - [7] never appear, instead it jumps straight to DeleteFileW. Also, note how 4a10f3a188e585 logs "trace:msi:msi_install_assembly installing assembly ..." after [3], but Wine 6.6 doesn't log anything:
---snip--- 03e4:trace:msi:cabinet_copy_file extracting L"Microsoft_VisualStudio_VCCodeModel_dll_1_____X86.3643236F_FC70_11D3_A536_0090278A1BB8" -> L"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.VCCodeModel.dll"
[1] 03e4:trace:file:CreateFileW L"C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_READ GENERIC_WRITE creation 2 attributes 0x80
03e4:trace:msi:MSI_ProcessMessageVerbatim Calling UI handler 4F05B9A0(pvContext=027AD540, iMessageType=09000000, szMessage=L"File: Microsoft.VisualStudio.VCCodeModel.dll, Directory: PublicAssemblies.3643236F_FC70_11D3_A536_0090278A1BB8, Size: 106496")
[2] 03e4:trace:file:CreateFileW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_READ FILE_SHARE_READ creation 3 attributes 0x8000000
[3] 03e4:trace:file:CreateFileW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" GENERIC_READ FILE_SHARE_READ creation 3 attributes 0x8000000
03e4:trace:file:DeleteFileW L"C:\users\user\Temp\msi12b.tmp\Microsoft.VisualStudio.VCCodeModel.dll" ---snip---
Why isn't msi_install_assembly() getting called any more, at least for this DLL and certain others?