Sign in to follow this  

[SlimDX] Deploying with VS 2010 and .net 2.0

This topic is 2544 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

Hi there,

I created a small game which I wanted to distribute, so I created a deployment project for that game, using Visual Studio 2010. Originally, I was using .net Framework 2.0, because I don't need the Features of 3.0 upwards and wanted to keep the system requirements as low as possible. Everything works fine on my computer, but the application won't start on most other computers and will just crash. However, it didn't crash but showed a proper error message back in the days when I used Managed DirectX (which means that it basically worked), and other .net 2.0 framework applications I created work just fine, so the problem appears to be related to SlimDX.
So I made a few tests and found out that everything works fine when I target .net 4.0 and use the corresponding SlimDX.dll. The problem is that this forces me to include .net Framework 4.0 in my installer, as most people don't have this already on their PC, forcing them to download it which can consume a lot of time and is inappropriate for such a small game.
I had the guess that this is somehow related to the VC++ runtime used by SlimDX, but I can't figure out what to do. As a VS2010 user, I have versions 9.0.30729.17, 9.0.30729.4148 and 9.0.30729.4974 (this one is exclusive to visual studio) of the VC++ 2008 runtimes installed. According to Dependency Walker, SlimDX uses version 9.0.30729.4974, which I can't install on the target computer. The versions which come closest to that are 9.0.30729.4148 and 9.0.30729, but the program still won't run.
Ah, I nearly forgot it, I program in Visual Basic.
I must admit that I'm not quite familiar with Windows Installer and C++. I guess someone of you knows a solution for that, so I would appreciate if it was a bit more detailed.

Thanks in advance :)

[Edited by - Cheaterhater on December 26, 2010 7:21:54 PM]

Share this post


Link to post
Share on other sites
I use .NET 2.0, with Studio 2010 and vb.net with SlimDX. No problems noticed with my app, although I did have a problem on one computer where I had to uninstall and then reinstall the SlimDx runtime. What version of SlimDX dll reference are you targeting?

Share this post


Link to post
Share on other sites
Quote:
Original post by Monza
I use .NET 2.0, with Studio 2010 and vb.net with SlimDX. No problems noticed with my app, although I did have a problem on one computer where I had to uninstall and then reinstall the SlimDx runtime. What version of SlimDX dll reference are you targeting?
I added SlimDX as a .net reference, so the version is automatically determined, which is 2.0.10.43.
I tried the following with a test application:
1. Created a simple Windows Forms application (.net 2.0) which does just give you a message box with random numbers and shows a form. This works on the target machine.
2. Added the SlimDX reference, but don't use it. The application does still work.
3. Added a procedure to create a D3D object, a Device and a Sprite, showing the form and then calling the procedure will cause the application to crash without any error message.
4. Tried to show that message box before creating the D3D9 objects, but the message box won't show, so it has got the same outcome as point 3.

However, doing the same stuff with targeting .net 4.0 and therefore using SlimDX 4.0.10.43 will work just fine.

Share this post


Link to post
Share on other sites
Yep - used the same procedure here, and all OK.

Scratching in the dark here, but maybe try setting SPECIFIC VERSION to TRUE in reference properties. Make sure no other version of SLIMDX is installed in the Windows Programs listings.

Also, what happenings if you BROWSE and point to a specific instance of the SLIMDX.DLL, rather than using the .NET listings?

Share this post


Link to post
Share on other sites

This topic is 2544 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.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this