https://bugs.winehq.org/show_bug.cgi?id=51345
Bug ID: 51345 Summary: Regression: Visual Studio 2005 "package load failure" Product: Wine Version: 6.11 Hardware: x86-64 OS: FreeBSD Status: NEW Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: damjan.jov@gmail.com
winetricks vc2005trial wine cmd "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" devenv
Some time during 28-31 March 2021, the Visual Studio 2005 trial began giving +/- 10 of these error dialogs on startup, each relating to a different package. This is a rough transcript of one of them:
------------------------ Package Load Failure ------------------------ Package 'Microsoft.VisualStudio.TestTools.TestCaseManagement.QualtyToolsPackage, Microsoft.VisualStudio.QualityTools.TestCaseManagement, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03F5F7f11d50s3a' has failed to load properly { GUID = {AS4DSAES-9ACE-4FOE-ADGF-7AFESSFEFCET) ). Please contact package vendor for assistance. Application restart is recommended, due to possible environment corruption. Would you like to disable loading this package in the future? You may use 'devenv /resetskippkgs' to re-enable package loading.
Yes No ------------------------
It is the worst git bisect I've ever done. Apart from the lengthy time needed to test each commit, the regression occurs within a range of 44 commits (bb065801a69..2a8a4cbbe63), the first 43 of which all die on startup, so we can't easily distinguish that bug from this one.
I've now had to make a separate branch, "git rebase --onto <that range>" to copy commits from that range there, then "git rebase -i" to reorder them and separate the startup-breaking commits (ntdll/kernel32/kernelbase) from the other commits.
Unfortunately, having done so, it appears the startup-breaking commits are also the commits that caused this regression. One or more of these is the culprit:
ntdll: Move kernel32 loading into LdrInitializeThunk(). ntdll: Return system dir path for PE mapping bootstrap placeholders. ntdll: Fail to load non-existent dlls, except during prefix bootstrap. ntdll: Also check syswow64 to determine if the prefix was initialized. include: Add more SYSTEM_INFORMATION_CLASS definitions. kernel32: Implement GetSystemCpuSetInformation(). ntdll: Implement NtQuerySystemInformationEx(SystemCpuSetInformation). kernelbase: Don't fall back to dll loading for LOAD_LIBRARY_AS_DATAFILE. ntdll: Set the window title to the image name on the Unix side. ntdll: Remove load_builtin_dll() and get_load_order() from the Unix interface. ntdll: Map the builtin or fake dll from the Wine dirs if it's missing from the prefix.
https://bugs.winehq.org/show_bug.cgi?id=51345
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |julliard@winehq.org Keywords| |download, regression, | |testcase
--- Comment #1 from Damjan Jovanovic damjan.jov@gmail.com --- I've narrowed it down further to these 7 commits:
ntdll: Move kernel32 loading into LdrInitializeThunk(). ntdll: Return system dir path for PE mapping bootstrap placeholders. ntdll: Fail to load non-existent dlls, except during prefix bootstrap. ntdll: Also check syswow64 to determine if the prefix was initialized. kernelbase: Don't fall back to dll loading for LOAD_LIBRARY_AS_DATAFILE. ntdll: Remove load_builtin_dll() and get_load_order() from the Unix interface. ntdll: Map the builtin or fake dll from the Wine dirs if it's missing from the prefix.
CC their author.
https://bugs.winehq.org/show_bug.cgi?id=51345
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Distribution|--- |Ubuntu OS|FreeBSD |Linux
--- Comment #2 from Damjan Jovanovic damjan.jov@gmail.com --- Happens on Linux too.
Happens on both the PE and ELF builds.
https://bugs.winehq.org/show_bug.cgi?id=51345
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer
--- Comment #3 from Damjan Jovanovic damjan.jov@gmail.com --- The order of the startup-related vs other commits within that sequence of 44 commits does not matter, the startup-related commits by themselves always reproduce the bug:
good bad... | | | v v v +-----------------+-----------------+ | other | startup-related | +-----------------+-----------------+
good bad.................... | | | | | | | | v v v v v v v v +-----------------+-----------------+ | startup-related | other | +-----------------+-----------------+
Also, the bug happens during installation, not execution. Installing with a bad Wine version then running with a good version, still reproduces the bug.
https://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #4 from Damjan Jovanovic damjan.jov@gmail.com --- One definite regression caused by those startup-related patches is the following:
winetricks -q 7zip -> winemenubuilder crashes
Why? 1. In winemenubuilder, to thumbnail the shortcut, open_module_icon() is called. 2. It calls: hModule = LoadLibraryExW(szFileName, 0, LOAD_LIBRARY_AS_DATAFILE); 3. The szFileName in this case is a .chm file, so loading fails. 4. open_module_icon() returns with the error: return HRESULT_FROM_WIN32(GetLastError()); 5. But GetLastError() == 0 with this startup-related patchset (which it didn't before), so HRESULT_FROM WIN32() returns 0. 6. The caller wrongly sees success. 7. The caller thus accesses the invalid IStream pointer -> CRASH.
Hacking winemenubuilder to always return a failed HRESULT when LoadLibraryExW() fails stops it from crashing, but it still does not fix this bug. Maybe this bug is caused by the same problem happening somewhere other than winemenubuilder. Or, there are additional regressions introduced by that patchset.
https://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #5 from Damjan Jovanovic damjan.jov@gmail.com --- (In reply to Damjan Jovanovic from comment #4)
Hacking winemenubuilder to always return a failed HRESULT when LoadLibraryExW() fails stops it from crashing, but it still does not fix this bug. Maybe this bug is caused by the same problem happening somewhere other than winemenubuilder. Or, there are additional regressions introduced by that patchset.
This is only a problem immediately after the patchset, it is no longer a problem in the latest master, so this bug must be due to a different regression from that patchset.
https://bugs.winehq.org/show_bug.cgi?id=51345
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll
--- Comment #6 from Damjan Jovanovic damjan.jov@gmail.com --- The kernelbase patch neither fixes the problem when reverted nor breaks it when applied alone on the prior good commits. The 6 remaining patches where the bug must lie, only affect ntdll:
ntdll: Move kernel32 loading into LdrInitializeThunk(). ntdll: Return system dir path for PE mapping bootstrap placeholders. ntdll: Fail to load non-existent dlls, except during prefix bootstrap. ntdll: Also check syswow64 to determine if the prefix was initialized. ntdll: Remove load_builtin_dll() and get_load_order() from the Unix interface. ntdll: Map the builtin or fake dll from the Wine dirs if it's missing from the prefix.
Setting component.
https://bugs.winehq.org/show_bug.cgi?id=51345
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexhenrie24@gmail.com
--- Comment #7 from Alex Henrie alexhenrie24@gmail.com --- Does it require 64-bit Wine to reproduce this bug? That could be an important clue. I ran `winetricks vc2005trial && wine cmd "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" devenv` in a 32-bit Wine bottle and didn't get any errors.
https://bugs.winehq.org/show_bug.cgi?id=51345
Hans Leidekker hans@meelstraat.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Component|ntdll |msi Fixed by SHA1| |d9d700f3328f00ec419571df0e0 | |2cef208fa1e7b Status|NEW |RESOLVED
--- Comment #8 from Hans Leidekker hans@meelstraat.net --- This turned out to be an msi bug uncovered by the loader changes. It should be fixed with d9d700f3328f00ec419571df0e02cef208fa1e7b.
https://bugs.winehq.org/show_bug.cgi?id=51345
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 8.2.
https://bugs.winehq.org/show_bug.cgi?id=51345
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |8.0.x
https://bugs.winehq.org/show_bug.cgi?id=51345
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|8.0.x |---
--- Comment #10 from Michael Stefaniuc mstefani@winehq.org --- Removing the 8.0.x milestone from bug fixes included in 8.0.1.
https://bugs.winehq.org/show_bug.cgi?id=51345
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |--- Status|CLOSED |REOPENED
--- Comment #11 from Damjan Jovanovic damjan.jov@gmail.com --- This was NOT fixed by d9d700f3328f00ec419571df0e02cef208fa1e7b.
Wine 8.1 was released only 9 commits after d9d700f3328f00ec419571df0e02cef208fa1e7b, and this bug can still be reproduced with both Wine 8.1 and Wine 10.0-rc3 on Ubuntu Focal.
Reopening.
https://bugs.winehq.org/show_bug.cgi?id=51345
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |hans@meelstraat.net Keywords|testcase |
https://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #12 from Damjan Jovanovic damjan.jov@gmail.com --- *** Bug 57605 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=51345
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=51345
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |bb065801a693e1cd305d2a507c2 | |06f1b21a142d3 Component|msi |-unknown Hardware|x86-64 |x86
--- Comment #13 from Damjan Jovanovic damjan.jov@gmail.com --- (In reply to Alex Henrie from comment #7)
Does it require 64-bit Wine to reproduce this bug? That could be an important clue. I ran `winetricks vc2005trial && wine cmd "C:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat" devenv` in a 32-bit Wine bottle and didn't get any errors.
Still happens in Wine 10.13, in both x86-only and WoW64 Wine builds.
After "winetricks vc2005trial", start Visual Studio using something like (customized to your user):
wine start "users/...../AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Microsoft Visual Studio 2005/Microsoft Visual Studio 2005.lnk"
and let it run for a while, and sooner or later you'll get those errors.
At runtime, the problem appears to come from some files in C:\windows\assembly, because replacing that directory from a bad Wine version with a copy installed by a good Wine version, stops those error messages from coming up.
When in C:\windows\assembly I do "find . -type f | sort" and run "diff -u" on the outputs of the good and bad Wine versions, there are quite a few files missing in the bad version, some of them resembling the names used in the error messages. There are also some files in C:\windows\assembly\NativeImages_v2.0.50727_32 with different paths, eg:
-./NativeImages_v2.0.50727_32/System.Design/a7efb811cf8f9242842cb8b3f5420ff3/System.Design.ni.dll +./NativeImages_v2.0.50727_32/System.Design/4ebfa375a5dbd844a809dab2c9772123/System.Design.ni.dll
but despite the .dll contents differing, file size is the same, so not sure that's relevant.
These bad/missing DLLs in C:\windows\assembly are all .NET assemblies, according to "file".
Last working Wine commit is 4a10f3a188e585bcf71bd191ab3d790f1a89b397, and the regression began at the first version thereafter that builds, so I'll set the regression to the version immediately after 4a10f3a188e585bcf71bd191ab3d790f1a89b397.
http://bugs.winehq.org/show_bug.cgi?id=51345
Damjan Jovanovic damjan.jov@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet
--- Comment #14 from Damjan Jovanovic damjan.jov@gmail.com --- "winetricks vc2005trial" installs both .NET 2 Framework and Visual Studio 2005.
73 of the C:\windows\assembly files are made during .NET 2 installation, and 188 exist after Visual Studio is also installed. However replacing C:\windows\assembly from a "good" .NET installation just before the "bad" Wine installs Visual Studio, does not noticeably help.
.NET 2 Framework makes (some of?) the NativeImages (or at least says so in the UI) by calling the infamous ngen.exe tool, "ngen.exe install ...". There are/were many bugs relating to ngen.exe, including bug 45930 which is still open.
http://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #15 from Damjan Jovanovic damjan.jov@gmail.com --- Subdirectories of C:\windows\assembly and their contents by Wine version that installed them:
Wine version Subdirectory | 4a10f3a188e585 | 10.13 ---------------+---------------------------+------------------------------ GAC | 18 files, all DLLs. | Directory doesn't exist. | Created during Visual | | Studio installation (not | | .NET installation). | ---------------+---------------------------+------------------------------ GAC_32 | Both have 39 DLLs with identical names and contents. ---------------+---------------------------+------------------------------ GAC_MSIL | 151 files, all DLLs. | 135 files, all DLLs. | | Each has the same name and | | contents as the DLL installed | | by 4a10f3a188e585. ---------------+---------------------------+------------------------------ NativeImages_ | index8.dat | v2.0.50727_32 | index9.dat | index9.dat (same) | | indexa.dat | 9 DLLs | 10 DLLs
(The reason 10.13 has 10 DLLs in NativeImages but 4a10f3a188e585 has only 9 is because there's a System.Drawing.ni.dll missing from 4a10f3a188e585 but present in 10.13, which means there might have been a bug back in 4a10f3a188e585 which didn't affect Visual Studio.)
So the main problem appears to be missing files in the GAC and GAC_MSIL subdirectories. GAC is completely missing and GAC_MSIL is 16 files short in Wine 10.13. Whether the different .dat files and DLL file contents in NativeImages_v2.0.50727_32 matter or not is uncertain.
Now to test: - Adding "GAC" from Wine 4a10f3a188e585 to 10.13 (where it's missing) doesn't help. - Replacing Wine 10.13's "GAC_MSIL" with 4a10f3a188e585's doesn't help. - But doing both fixes the problem: no more error dialogs :-).
So the problem doesn't appear to be file corruption, only missing files: - 16 missing files in C:\windows\assembly\GAC_MSIL. - The missing C:\windows\assembly\GAC directory with its 18 files.
The missing GAC files are (paths removed): adodb.dll CrystalDecisions.Enterprise.Desktop.Report.dll CrystalDecisions.Enterprise.Framework.dll CrystalDecisions.Enterprise.InfoStore.dll CrystalDecisions.Enterprise.PluginManager.dll CrystalDecisions.Enterprise.Viewing.ReportSource.dll extensibility.dll Microsoft.mshtml.dll Microsoft.stdformat.dll microsoft.visualstudio.designer.interfaces.dll Microsoft.VisualStudio.OLE.Interop.dll Microsoft.VisualStudio.Shell.Interop.dll Microsoft.VisualStudio.TextManager.Interop.dll Microsoft.VisualStudio.VSHelp.dll msdatasrc.dll stdole.dll VSLangProj.dll VSLangProj2.dll
The missing GAC_MSIL files are (paths removed): CrystalDecisions.Data.AdoDotNetInterop.dll envdte.dll envdte80.dll Microsoft.shdocvw.dll Microsoft.VisualStudio.CommandBars.dll Microsoft.VisualStudio.Debugger.Interop.dll Microsoft.VisualStudio.DeviceConnectivity.Interop.dll microsoft.visualstudio.shell.interop.8.0.dll microsoft.visualstudio.textmanager.interop.8.0.dll Microsoft.VisualStudio.VCCodeModel.dll Microsoft.VisualStudio.VCProject.dll Microsoft.VisualStudio.VCProjectEngine.dll Microsoft.VisualStudio.VSHelp80.dll msddsp.dll VSLangProj80.dll VsWebSite.Interop.dll
These are clearly files that should be installed by Visual Studio. So why aren't they getting installed?
http://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #16 from Damjan Jovanovic damjan.jov@gmail.com --- How Wine 6.6, the first release after 4a10f3a188e585, compares to the others:
Wine version Subdirectory | 4a10f3a188e585 | 6.6 | 10.13 ---------------+---------------------------+------------------+------------------ GAC | 18 DLL files. | Directory doesn't exist. | Created during Visual | | Studio installation (not | | .NET installation). | ---------------+---------------------------+------------------------------------- GAC_32 | All have 39 DLLs with identical names and contents. ---------------+---------------------------+------------------------------------- GAC_MSIL | 151 files, all DLLs. | 135 files, all DLLs. | | Each has the same name and | | contents as the DLL installed | | by 4a10f3a188e585. ---------------+---------------------------+------------------+------------------ NativeImages_ | index8.dat | index8.dat | v2.0.50727_32 | index9.dat | index9.dat | index9.dat | | | indexa.dat | 9 DLLs | 9 DLLs | 10 DLLs
http://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #17 from Hans Leidekker hans@meelstraat.net --- It would be interesting to compare to Windows as well.
http://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #18 from Damjan Jovanovic damjan.jov@gmail.com --- (In reply to Hans Leidekker from comment #17)
It would be interesting to compare to Windows as well.
Even the most "correct" Wine version, 4a10f3a188e585, has files missing relative to Windows:
Wine version Subdirectory | 4a10f3a188e585 | Windows ---------------+---------------------------+------------------------------ GAC | 18 DLLs. | 30 DLLs. ---------------+---------------------------+------------------------------ GAC_32 | 26 DLLs. | 29 DLLs. ---------------+---------------------------+------------------------------ GAC_MSIL | 151 DLLs. | 162 DLLs. ---------------+---------------------------+------------------------------ NativeImages_ | index8.dat | v2.0.50727_32 | index9.dat | | | indexe.dat | | indexf.dat | 9 DLLs | 15 DLLs
This is at least partly because one of the MS SQL Servers (mobile or embedded edition) fails to install on Wine (and always did fail; unrelated issue).
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?
http://bugs.winehq.org/show_bug.cgi?id=51345
--- Comment #20 from Hans Leidekker hans@meelstraat.net --- Looks like the missing assemblies are v1.0 assemblies while the ones that are installed are v2.0.