http://bugs.winehq.org/show_bug.cgi?id=26426
Summary: Visual Basic 2008 Express can't create programs and/or load the tollbox Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: nitro7x@yahoo.com.br
Created an attachment (id=33640) --> (http://bugs.winehq.org/attachment.cgi?id=33640) The text of the error message
The error message attached, shows the error occurred when trying to create a program in VB 2008 Express. The project comes into being, but because the error is empty. Try displaying the tollbox cause the same error.
http://bugs.winehq.org/show_bug.cgi?id=26426
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #33640|application/octet-stream |text/plain mime type| |
http://bugs.winehq.org/show_bug.cgi?id=26426
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|major |normal
--- Comment #1 from Dmitry Timoshkov dmitry@codeweavers.com 2011-03-15 00:07:31 CDT --- http://bugs.winehq.org/page.cgi?id=fields.html#bug_severity
Please specify Wine version you are using (in the Version field above) and attach terminal output per http://wiki.winehq.org/FAQ#get_log
http://bugs.winehq.org/show_bug.cgi?id=26426
--- Comment #2 from Mauro nitro7x@yahoo.com.br 2011-03-15 17:07:03 CDT --- Created an attachment (id=33658) --> (http://bugs.winehq.org/attachment.cgi?id=33658) The terminal output of VB 2008
http://bugs.winehq.org/show_bug.cgi?id=26426
Mauro nitro7x@yahoo.com.br changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.3.15
http://bugs.winehq.org/show_bug.cgi?id=26426
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #33658|application/octet-stream |text/plain mime type| |
http://bugs.winehq.org/show_bug.cgi?id=26426
--- Comment #3 from Juan Lang juan_lang@yahoo.com 2011-03-15 17:14:51 CDT --- Does native msxml3, e.g. via 'winetricks msxml3', help?
http://bugs.winehq.org/show_bug.cgi?id=26426
--- Comment #4 from Mauro nitro7x@yahoo.com.br 2011-03-15 17:16:44 CDT --- (In reply to comment #1)
http://bugs.winehq.org/page.cgi?id=fields.html#bug_severity
Please specify Wine version you are using (in the Version field above) and attach terminal output per http://wiki.winehq.org/FAQ#get_log
Sorry, this was the first time I reported a bug, and forgot to send the output terminal, and had not even noticed that not informed the version of Wine. Thanks for warning, if not for you I would not have noticed. The terminal output is HUGE. When I saw not believe the amount of errors generated by Visual Basic 2008.
http://bugs.winehq.org/show_bug.cgi?id=26426
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Keywords| |download, Installer URL| |http://go.microsoft.com/fwl | |ink/?LinkId=104679 Component|-unknown |msi CC| |focht@gmx.net Ever Confirmed|0 |1 Summary|Visual Basic 2008 Express |.NET 3.5 Framework |can't create programs |installer fails to install |and/or load the tollbox |some assemblies into GAC | |(affects Visual Studio 2008 | |and later products)
--- Comment #5 from Anastasius Focht focht@gmx.net 2012-05-13 15:57:18 CDT --- Hello,
confirming. Refining summary as this affects all Visual Studio products that make use of .NET MSBuild engine 3.5
Visual Studio 2008 requires .NET Framework 3.5 as prerequisite before running the installer.
--- snip --- $ bash winetricks -q dotnet35 --- snip ---
From your terminal output:
--- snip --- Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. Exception from HRESULT: 0x80070002 File name: 'Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' at Microsoft.VisualStudio.Build.ComInteropWrapper.GlobalEngineAccessor.get_GlobalEngine() at EnvDTE.SolutionClass.AddFromTemplate(String FileName, String Destination, String ProjectName, Boolean Exclusive) at Microsoft.VisualStudio.TemplateWizard.Wizard.Execute(Object application, Int32 hwndOwner, Object[]& ContextParams, Object[]& CustomParams, wizardResult& retval) --- snip ---
This missing assembly reference has to be fixed.
The MSBuild engine reference assembly is located here:
"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\Microsoft.Build.Engine.dll"
In GAC we find the .NET 2.0 version of the build engine:
--- snip --- $ ls -g $(winepath "c:\windows\assembly\GAC_MSIL\Microsoft.Build.Engine") total 4 drwxrwxr-x. 2 focht 4096 May 13 19:34 2.0.0.0__b03f5f7f11d50a3a --- snip ---
Tracing .NET 3.5 Framework installation with right debug channels yields the cause...
WINEDEBUG=+tid,+seh,+msi,+fusion
--- snip --- ... 0031:trace:msi:load_component Loading Component L"MSBuildEngine_GAC_v35_x86.3643236F_FC70_11D3_A536_0090278A1BB8" ... 0031:trace:msi:get_assembly_record component is a global assembly ... 0031:trace:msi:msi_load_assembly feature L"NetFX_Core_x86_enu_DDF" ... 0031:trace:msi:msi_load_assembly manifest L"FL_MSBuildEngine_dll_GAC_v35_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8" 0031:trace:msi:msi_load_assembly application (null) 0031:trace:msi:msi_load_assembly attributes 0 ... 0031:trace:msi:msi_load_assembly display name L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"" 0031:trace:fusion:IAssemblyCacheImpl_QueryAssemblyInfo (0xcab730, 0, L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"", 0x33b1e4) 0031:trace:fusion:CreateAssemblyNameObject (0x33b198, L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"", 00000001, (nil)) 0031:trace:fusion:CreateAssemblyEnum (0x33b190, (nil), 0xc12ee0, 00000002, (nil)) 0031:trace:fusion:GetCachePath (00000002, 0x33ace8, 0x33ace4) 0031:trace:fusion:IAssemblyNameImpl_GetName (0xc12ee0, 0x33a1e4, 0x33a1e8) 0031:trace:fusion:IAssemblyNameImpl_GetName (0xc12ee0, 0x33a1e4, 0x33a1e8) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 4, 0x339912, 0x339920) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 5, 0x339910, 0x33991c) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 6, 0x33990e, 0x339918) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 7, 0x33990c, 0x339914) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 1, 0x3398b0, 0x339924) 0031:trace:fusion:CreateAssemblyNameObject (0xcae7e8, L"Microsoft.Build.Engine, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", 00000001, (nil)) 0031:trace:fusion:IAssemblyNameImpl_GetName (0xc12ee0, 0x33a1e4, 0x33a1e8) 0031:trace:fusion:IAssemblyEnumImpl_GetNextAssembly (0xcad190, (nil), 0x33b194, 0) 0031:trace:fusion:IAssemblyNameImpl_AddRef (0xc0f9f0)->(ref before = 1) 0031:trace:fusion:IAssemblyNameImpl_Release (0xc12ee0)->(ref before = 1) 0031:trace:fusion:IAssemblyNameImpl_Release (0xc0f9f0)->(ref before = 2) 0031:trace:fusion:IAssemblyEnumImpl_Release (0xcad190)->(ref before = 1) 0031:trace:fusion:IAssemblyNameImpl_Release (0xc0f9f0)->(ref before = 1) 0031:trace:msi:msi_load_assembly runtime version L"v1.0.3705" 0031:trace:fusion:IAssemblyCacheImpl_QueryAssemblyInfo (0xca1f78, 0, L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"", 0x33b1e4) 0031:trace:fusion:CreateAssemblyNameObject (0x33b198, L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"", 00000001, (nil)) 0031:trace:fusion:CreateAssemblyEnum (0x33b190, (nil), 0xc12ee0, 00000002, (nil)) 0031:trace:fusion:GetCachePath (00000002, 0x33ace8, 0x33ace4) 0031:trace:fusion:IAssemblyNameImpl_GetName (0xc12ee0, 0x33a1e4, 0x33a1e8) 0031:trace:fusion:IAssemblyNameImpl_GetName (0xc12ee0, 0x33a1e4, 0x33a1e8) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 4, 0x339912, 0x339920) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 5, 0x339910, 0x33991c) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 6, 0x33990e, 0x339918) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 7, 0x33990c, 0x339914) 0031:trace:fusion:IAssemblyNameImpl_GetProperty (0xc12ee0, 1, 0x3398b0, 0x339924) 0031:trace:fusion:CreateAssemblyNameObject (0xc0fb70, L"Microsoft.Build.Engine, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", 00000001, (nil)) 0031:trace:fusion:IAssemblyNameImpl_GetName (0xc12ee0, 0x33a1e4, 0x33a1e8) 0031:trace:fusion:IAssemblyEnumImpl_GetNextAssembly (0xcad190, (nil), 0x33b194, 0) 0031:trace:fusion:IAssemblyNameImpl_AddRef (0xc0f9f0)->(ref before = 1) 0031:trace:fusion:IAssemblyNameImpl_Release (0xc12ee0)->(ref before = 1) 0031:trace:fusion:IAssemblyNameImpl_Release (0xc0f9f0)->(ref before = 2) 0031:trace:fusion:IAssemblyEnumImpl_Release (0xcad190)->(ref before = 1) 0031:trace:fusion:IAssemblyNameImpl_Release (0xc0f9f0)->(ref before = 1) 0031:trace:msi:msi_load_assembly runtime version L"v1.1.4322" 0031:trace:msi:is_assembly_installed QueryAssemblyInfo returned 0x80070002 0031:trace:msi:msi_load_assembly assembly is installed ... 0031:Call KERNEL32.GetFileAttributesW(0033cd54 L"C:\windows\assembly\GAC_MSIL\Microsoft.Build.Engine\3.5.0.0__b03f5f7f11d50a3a") ret=79f0d7d5 0031:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=79f0d7d5 ... 0031:trace:msi:is_assembly_installed QueryAssemblyInfo returned 0x80070002 0031:trace:msi:msi_load_assembly assembly is installed ... 0031:trace:msi:calculate_install_state file L"FL_MSBuildEngine_dll_GAC_v35_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8" is not scheduled for install 0031:Call KERNEL32.GetFileAttributesW(01299570 L"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\Microsoft.Build.Engine.dll") ret=7d59fad8 0031:Ret KERNEL32.GetFileAttributesW() retval=ffffffff ret=7d59fad8 0031:trace:msi:calculate_install_state file L"FL_MSBuildEngine_dll_v35_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8" is missing --- snip ---
Fusion's IAssemblyCacheImpl_QueryAssemblyInfo() returned the already installed .NET 2.0 assembly as match two times:
Source: http://source.winehq.org/git/wine.git/blob/605e0b7b4176bf5e5cf5888073103016e...
--- snip --- 293 MSIASSEMBLY *msi_load_assembly( MSIPACKAGE *package, MSICOMPONENT *comp ) 294 { ... 328 if (a->application) 329 { ... 335 } 336 else 337 { 338 if (a->attributes == msidbAssemblyAttributesWin32) 339 a->installed = is_assembly_installed( package->cache_sxs, a->display_name ); 340 else 341 { 342 UINT i; 343 for (i = 0; i < CLR_VERSION_MAX; i++) 344 { 345 a->clr_version[i] = is_assembly_installed( package->cache_net[i], a->display_name ); 346 if (a->clr_version[i]) 347 { 348 TRACE("runtime version %s\n", debugstr_w(get_clr_version_str( i ))); 349 a->installed = TRUE; 350 } 351 } 352 } 353 } 354 TRACE("assembly is %s\n", a->installed ? "installed" : "not installed"); 355 msiobj_release( &rec->hdr ); 356 return a; 357 } --- snip ---
is_assembly_installed -> IAssemblyCache_QueryAssemblyInfo -> fusion's IAssemblyCacheImpl_QueryAssemblyInfo
Source: http://source.winehq.org/git/wine.git/blob/93f292506c4fefa126474ad323362e2bc...
I'm not sure about the rationale of this for-loop is_assembly_installed. Using the full canonical name of the assembly (with version 3.5.0.0) there wouldn't be any match.
Because of this mishap, some GAC assemblies that have lower .NET Framework version companions in GAC are mistakenly assumed installed.
Only the reference assembly gets installed. This doesn't help because it's a private path, it has to be in GAC for native image generation to work.
--- snip --- 0031:trace:msi:cabinet_copy_file extracting L"FL_MSBuildEngine_dll_v35_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8" -> L"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\Microsoft.Build.Engine.dll" ... --- snip ---
$ wine --version wine-1.5.4
Regards
http://bugs.winehq.org/show_bug.cgi?id=26426
--- Comment #6 from Anastasius Focht focht@gmx.net 2012-05-13 16:25:30 CDT --- Hello,
forgot to mention ... If that GAC assembly install bug is fixed the IDE can actually create projects, toolbox works (putting controls on forms), build, debug, run etc. Seeing that complex piece of software running is a testimony to the evolution of Wine ;-)
There are still issues that will be subject of other bugs.
Regards
http://bugs.winehq.org/show_bug.cgi?id=26426
Don Pobanz dpobanz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dpobanz@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=26426
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |0f82f72468dccc5655a39b73392 | |9012a08677af1 Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #7 from Anastasius Focht focht@gmx.net 2012-05-16 17:29:20 CDT --- Hello,
this is fixed by commit http://source.winehq.org/git/wine.git/commitdiff/0f82f72468dccc5655a39b73392...
Thanks Hans.
--- snip --- 002e:trace:msi:msi_load_assembly display name L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"" 002e:trace:fusion:IAssemblyCacheImpl_QueryAssemblyInfo (0xbce2f0, 0, L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"", 0x33b1e4) 002e:trace:fusion:CreateAssemblyNameObject (0x33b198, L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"", 00000001, (nil)) 002e:trace:fusion:CreateAssemblyEnum (0x33b190, (nil), 0xc8afc8, 00000002, (nil)) ... 002e:trace:msi:is_assembly_installed QueryAssemblyInfo returned 0x80070002 002e:trace:fusion:IAssemblyCacheImpl_QueryAssemblyInfo (0xcc6780, 0, L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"", 0x33b1e4) 002e:trace:fusion:CreateAssemblyNameObject (0x33b198, L"Microsoft.Build.Engine,version="3.5.0.0",publicKeyToken="b03f5f7f11d50a3a",processorArchitecture="MSIL",fileVersion="3.5.21022.8",culture="neutral"", 00000001, (nil)) 002e:trace:fusion:CreateAssemblyEnum (0x33b190, (nil), 0xc8afc8, 00000002, (nil)) ... 002e:trace:msi:is_assembly_installed QueryAssemblyInfo returned 0x80070002 002e:trace:msi:is_assembly_installed QueryAssemblyInfo returned 0x80070002 002e:trace:msi:msi_load_assembly assembly is not installed ... 002e:trace:msi:cabinet_copy_file extracting L"FL_MSBuildEngine_dll_GAC_v35_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8" -> L"C:\users\focht\Temp\msi1b.tmp\Microsoft.Build.Engine.dll" 002e:trace:msi:cabinet_copy_file extracting L"FL_MSBuildEngine_dll_v35_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8" -> L"C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.5\Microsoft.Build.Engine.dll" ... 002e:trace:msi:msi_install_assembly installing assembly L"C:\users\focht\Temp\msi1b.tmp\Microsoft.Build.Engine.dll" ... 002e:trace:msi:ACTION_PerformAction Performing action (L"[C:\windows\Microsoft.NET\Framework\v2.0.50727\ngen.exe install "Microsoft.Build.Engine, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /NoDependencies /queue:3 /nologo;<=>S-1-5-21-0-0-0-1000<=>{2FC099BD-AC9B-33EB-809C-D332E1B27C40}]CA_ConfigureNativeImageCommit_x86.3643236"...) ... --- snip ---
The .NET 3.5 reference assembly is installed side-by-side with 2.0 in GAC:
--- snip --- $ pwd /home/focht/.wine/drive_c/windows/assembly/GAC_MSIL/Microsoft.Build.Engine ... $ ls -g * 2.0.0.0__b03f5f7f11d50a3a: total 340 -rw-rw-r--. 1 focht 348160 May 17 00:09 Microsoft.Build.Engine.dll
3.5.0.0__b03f5f7f11d50a3a: total 720 -rw-rw-r--. 1 focht 737280 May 17 00:20 Microsoft.Build.Engine.dll --- snip ---
Regards
http://bugs.winehq.org/show_bug.cgi?id=26426
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|msi |fusion
http://bugs.winehq.org/show_bug.cgi?id=26426
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org 2012-05-25 13:41:41 CDT --- Closing bugs fixed in 1.5.5.
http://bugs.winehq.org/show_bug.cgi?id=26426
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet