This project has moved. For the latest updates, please go here.
2

Closed

VC CRT Dependency

description

There is one dependency that I totaly overlooked. Its the CRT dependency of the Interop assembly. Interop is built with Vs2008 and that requires the Microsoft.VC90.CRT package.
I ran a simple test on a WinXP/.NET 2.0 VPC (this is what I'm targeting) trying to start the host sample application (after copying Interop and Core ;-). I saw events in the System event log that tells you Microsoft.VC90.CRT is not found. Can you confirm that?
 
So your quick fix will probably be to install the Microsoft.VC90.CRT package (redistributable). But I have not tested that yet.
Here are some helpful links:
http://blogs.msdn.com/aymans/archive/2006/04/04/568466.aspx
http://msdn.microsoft.com/en-us/ms235291(VS.80).aspx
 
Meanwhile I will look into how I will solve this for future releases of VST.NET.
 
Can you tell me if your system (win2000 and Xp) has the following folder?
%WINDOWS%\WinSxS\x86_Microsoft.VC80.CRT_1fc8b3b9a1e18e3b_8.0.50727.42_x-ww_0de06acd
 
The WinSxS is the target folder where these dependencies are installed these days. This is the only CRT I could find on my WinXp/NET2.0 machine. But as you can see, its from the previous version (Vs2005)...
Closed Sep 21, 2014 at 6:15 AM by obiwanjacobi
This dependency is now documented. Workaround/fix not possible because the C++/CLI Interop assembly cannot statically link this dependency AND be CLR compatible,

comments

LeifBloomquist wrote Nov 2, 2012 at 1:35 AM

I think I am having the same problem, but it's hard to tell since my VST Host (FL Studio 10, which is 32-bit) just crashes when loading my VST, and there's nothing in the Event Log apart from the name of the FL DLL that crashed.

I might be making things more complicated by using Visual Studio Beta 2011. :-P However, on the development machine (Windows 7 64-bit) everything works fine. I can load the resulting VST into FL with no problems.

On the target machine, though, (also Windows 7 64-bit), it crashes as above.

Dependency Walker says I'm missing IESHIMS.DLL (I'm assuming this is a red herring) and MSVCR90.DLL. Installing the VS2008 runtime (32-bit, I assume, but I also tried 64-bit) didn't help, even if I copied the missing file into my VST directory.

I have these files in the VST directory:
Jacobi.Vst.Core.dll
Jacobi.Vst.Framework.dll
MyPlugin.dll
MyPlugin.net.vstdll

Would copying the Jacobi.* DLLs to the GAC help? (I can't do this on my target machine, even though I have Admin rights). Other suggestions? Thanks!

obiwanjacobi wrote Nov 2, 2012 at 6:23 AM

Try to find out what version of VC-CRT VS2012 is on. (VS 2008 was 9.0 and I think 2010 was 10. So perhaps its 11?)
Then try to find a 32-bit version of that.

wrote Dec 4, 2012 at 10:31 PM

LeifBloomquist wrote Dec 5, 2012 at 6:07 AM

Found the cause of my crash - not related to DLLs at all. Sorry for the red herring.

(https://github.com/LeifBloomquist/MIDIMapperX/issues/2 describes the issue and the fix)

wrote Feb 21, 2013 at 10:35 PM

wrote Sep 21, 2014 at 6:15 AM