views:

498

answers:

3

I'm having problems getting my game engine to run on my brother's machine, which is running 64-bit Windows 7. I'm developing on 32-bit XP SP2.

My app uses XNA, FMOD.NET, and another dll I wrote entirely in C#. Everything is targeted to x86, not AnyCPU. I've read that this is required for XNA to work because there is no 64-bit xna framework. I recompiled FMOD.NET as x86 as well and made sure to be using the 32-bit version of the native dll. So I don't see any problems there.

However when he tries to run my app, it gives an error which is mysterious, but not unheard of.

A FileNotFoundException with an empty file name, and the top of the stack trace is in my main form constructor. The message is The specified module could not be found. (Exception from HRESULT: 0x8007007E)

I found some threads online about this error, all with very vague, mixed, and fuzzy responses that don't really help me. Most remind people to target x86. Some say check that they have all the dlls necessary.

I gave my brother Microsoft.Xna.Framework.dll, but does he need to install the entire XNA redistributable package? When I take everything I sent him and stick it in a random directory, it still runs fine for me. I developed the game in VS2008, not in game studio, using XNA 3.0 and a Windows Forms control that uses XNA drawing which I found in an msdn tutorial. I would also like to avoid requiring a full installer if possible.

Any insight? Please?

+2  A: 

I would start with having him try to install the redistributable packer for XNA. The entire point of the redistributable package:

"The XNA Framework Redistributable download provides game developers with the XNA Framework run-time libraries they can include with their product"

I haven't tried running an XNA project on Windows 7 64, but I've certainly had it run fine on Vista 64. You can read up a bit on places like here but I haven't been able to find any place on microsoft that specifically mentions Windows 7 support. Wikipedia states that it supporst Windows 7 but most of the things I find from microsoft only officially support Windows XP/Vista such as this:

The XNA Framework Redistributable download provides game developers with the XNA Framework run-time libraries they can include with their product for redistribution on Windows XP and Windows Vista.

If this means you shouldn't have to download it for Windows 7 support, maybe. But like I said I haven't personally tried it.

NebuSoft
Tried it, at least with 3.1 he says it still doesn't work.
Tesserex
Update - version 3.0 works! It's because I built with version 3.0.
Tesserex
+1  A: 

You need to install the XNA Framework Redistributable. Windows 7 comes with .Net 3.5 preinstalled, but not the XNA libraries.

I imagine Microsoft's download site does not list Windows 7 in the supported OS list because the date of publishing was 6/11/2009, well before Windows 7 was officially released.

JohnForDummies
A: 

there is no 64 bit version of xna, thus you must target your assembly/program to x86 based processor (for windows ) please see http://www.start64.com/index.php?option=com_content&task=view&id=1932&Itemid=114 for more details.

dvhh