Jump to content
  • Advertisement
Sign in to follow this  
Lord_Jekky

[SlimDX] Error loading the slimdx dll

This topic is 2413 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I've been working on a SlimDX application using VC# 2010 express edition. I ran into a few problems when attempting to deploy it on another PC..

The target machine is XP SP3, and has .NET framework 4.0 installed, I also ran the slimdx runtime installer (and installed the vc++ 2010 runtime and the directx runtimes just to be absolutely sure).

When attempting to run the application, i ran into an error stating that it could not load the slimdx dll or one of it's dependencies.

After a lot of searching (with no luck), and running dependency walker on it (also with no luck, the only reported issues were with DX10 and WPF related stuff which are not relevant here) I started looking closer at the slimdx dll itself. After opening it with a hex editor, i found the manifest.

While the slimdx runtime installer installed the vc++ 2010 runtimes, and dependency walker says that the dll links to that version, the manifest in the dll claims to require Microsoft.VC90.CRT (the vc++ 2008 runtime). installing this runtime on the target machine gets everything up and running again.

I've checked and rechecked the version of the slimdx dlls, and they seem to be the current versions (march 2011) - Am I missing something here? did i make some stupid basic mistake, or is this a real problem in the march 2011 slimdx dll files? I'm assuming that this is my mistake since i can't find any reference to this elsewhere (although i did find a number of threads regarding similar deployment issues).

Share this post


Link to post
Share on other sites
Advertisement
All of the 2011 files should be built against the VC10 runtimes. We've had sporadic issue reports about deployment problems though, which always end up being impossible to reproduce. Obviously we want all of our products to be completely bug free; our stance on the end-user runtime packages, however, has always been this: they're good for quickly showing someone your work, but for a professional project you're going to want an installer of your own, in which case you can just build the three simple steps we perform into your own installer.

Either way, we're aiming at doing another release some time this month, so hopefully those new builds will fix any lingering problems with the old ones.

Share this post


Link to post
Share on other sites
As far as i can tell, it is built against the VC10 runtime.. but the manifest is telling it that it -also- needs the VC9 runtimes - they never get loaded or used as far as i can tell, but if they are not present windows (or maybe .NET, not sure which) gets upset.

Here is a copy of the manifest extracted from slimdx.dll:


<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
</dependentAssembly>
</dependency>
</assembly>


the dll this was extracted from was located at C:\Program Files (x86)\SlimDX SDK (March 2011)\Bin\net40\x86 - since the forum won't allow me to upload the file (even in a rar/zip), i've placed it on the web server i use for testing: http://lordjekky.dyndns.org/SlimDX.dll

the above xml can be found at offset 0x326a58 in the file.

Share this post


Link to post
Share on other sites
Hi Guys,

FYI, I can reproduce this with the latest January 2012 redistributable package on a clean install of Windows XP. If I install the VS2008 redist then the problem goes away.

Mike, you mention the 3 steps your installer performs: are these documented anywhere? A google search didn't turn up anything and I'm less than familiar with WIX scripts...

Thanks,
Steven

Share this post


Link to post
Share on other sites
Looking further I notice that the .wxs for the SDK installs the vs2008 redist whereas the runtime does not. It looks like there is a still dependency on the vs2008 runtime in SlimDX somewhere.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!