Skip to main content
GameDev.net gamedev.net
🔒 Locked

[.net] Redistribution woe - Cannot find Microsoft.DirectX.Direct3DX or one of it's component

Started by paulecoyote Apr 28, 2005 at 10:55 AM 5 replies 4.4k views
Original Post
paulecoyote
paulecoyote
Hi all, having redistribution problems First of all it was not even getting past a process id dialog. Now it's showing a dialog: "Cannot find Microsoft.DirectX.Direct3DX or one of it's components" ... but the installer in Visual Studio 2003 is including that and other DirectX dlls in it's dependences, and putting them out in the install directory of the application. The installer (and end executable) work fine if the DirectX SDK is installed, but not on a computer that has not had it installed (but does have the DirectX runtime). Now I've had a few [google] leads, but nothing that has sorted the problem. Here (test doc from a university) http://www.cs.umb.edu/twist/doc/environment+test.doc ... they seem to solve it using some kind of hard coded path. I've not tried that yet as it just seems wrong ... Here (forum post): http://www.eggheadcafe.com/ng/microsoft.public.win32.programmer.directx.managed/post20836056.asp That links here: http://www.ircomm.net/forums/50/ShowPost.aspx That last post someone suggested a walkthrough to make a setup project in Visual Studio 2003, and I would second that (if anyone has had any success at this!) Any help appreciated. Cheers, Paul EDIT: Gut thought, could this be a security thing?
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
RomSteady
RomSteady
Are you using the April 2005 redist?
Michael Russell / QA Manager, Ritual EntertainmentI used to play SimCity on a 1:1 scale.
paulecoyote
paulecoyote
I got my friend to download the latest directx from the website. I am using the April SDK, and the installer is copying across dependancies into the application directory
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
Mykre
Mykre
From what I have experienced when creating and using the DX ssemblies the referances in the project referance the assembly that is loaded into the windows directory (Or the default location that the run time uses). The good thing is that the april 2005 release will automaticly install the managed classes if you have the 1.1 framework installed. This means that if when creating the setup project (or Installer) all you should have to do is add the merge modules for both the framework and the DX Runtime (Apr2005).

You might want to try that..., and make sure that the correct framework is also installed.
paulecoyote
paulecoyote
Hi Mykre, what do you mean by adding the merge modules? Is that something obvious I'm missing in the Visual Studio interface? I've got the depenencies included in the setup project in the same solution as the game, and have marked files in the source project as being content (texture files etc) so they are included...

I may try and find some webspace to show a couple of screen captures of the dialog.

Thanks for replying though, all help appreciated! (++++rating)
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.
Jason Zelsnack
Jason Zelsnack
I was getting that exact same exception on other peoples' computers. I was building using the April SDK and it only started working after my "testers" installed the April redistributable.

Managed directX is extremely picky about which version is installed. There is almost no compatibility between versions. Somewhat true with .NET too. Taking something that compiled under 1.1 and then compiling under 2.0 won't necessarily run under 1.1 anymore.

Before I installed the April SDK I wasn't able to chose the version of DirectX under references. After installing the April SDK I was able to choose from any of the three version which were installed on my computer. (The installer did some voodoo I guess)

What is the version of your Direct3DX reference?
The April Version is 1.0.2905.0

Just including the DLLs from your computer won't work on another computer unless they have the same version of DirectX installed. (At which point you don't need those DLLs)

Using dxdiag compare your versions of Microsoft.DirectX.Direct3D.dll to your testers' computers.

I hope I understood your problem and that I was helpful.
paulecoyote
paulecoyote
I kind of think it might be my friends particular installation, though we can't figure out why. I even installed things in the wrong order (Directx 9 and then net 1.1 framework), then my game, and it still worked on yet another machine.

I'm perplexed. I'll give props for bothering to answer... I checked out the dxdiag and I seem to have a different version number from what you gave, but checking out a different april 2005 install the same as that.

as far as my friends machine, the only copy of the direct3dx dll was in my applications install directory. This is the same as the other clean machine I found and installed (that i mentioned just now) and it works on that machine.
Anything posted is personal opinion which does not in anyway reflect or represent my employer. Any code and opinion is expressed “as is” and used at your own risk – it does not constitute a legal relationship of any kind.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.