[SlimDX] Error loading the slimdx dll
Members - Reputation: 100
Posted 19 September 2011 - 06:16 AM
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).
Members - Reputation: 2502
Posted 19 September 2011 - 07:52 AM
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.
Members - Reputation: 100
Posted 19 September 2011 - 08:03 AM
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.
Members - Reputation: 101
Posted 10 May 2012 - 03:57 PM
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...