views:

606

answers:

6

I complied my C# windows forms application on Visual Studio 2008 with configuration "Release". When I try to run it on another computer, no windows are shown at all. Complied on Windows 7, another computer has windows xp installed. What can it be?

Added: I didn't create any installer. Another machine has .net framework 3.0, not 3.5 installed, but simple hello world application works just fine. I tried to copy the program to another folder on my computer - no changes.

+3  A: 

There are a lot of possibilities, from permission problems to difference in installed framework versions. Consider adding a deployment project, at least then all your dependencies will be taken care of, removing a large set of possible issues.

Edit: We won't really be able to help without more details though.

Rekreativc
+3  A: 

Create a setup program instead of simply copying the files. This will help determine if you are missing anything such as .net fw 3.5.

Otávio Décio
How do you do this?
baron
A: 

I agree with everyone. There are a lot of things that could go wrong. Here is my take on this issue. Are you spawning any threads when application starts up? If so, make sure you child threads are not failing and if you're doing any exception handling, keep in mind that you will not be able to catch exceptions in child threads from the main thread as they don't bubble up and will essentially be swallowed. Just a heads up.

Sergey
A: 

Try running your program from a command prompt. Sometimes a message will be dumped to the console. I'm going to guess that it has to do with the .net version though.

rally25rs
+1  A: 

You said:

Another machine has .net framework 3.0, not 3.5 installed

If you configured your project to run with .NET 3.5 then you MUST install it on the other machine.

Sameh Serag
+1  A: 

Double check on the .NET version, if you built a release against .NET 3.5, and the other machine does not have .NET 3.5, that must be installed I'm afraid, not alone that, don't forget the Service Pack 1 as well. Have a look at this SO thread here to determine the .NET version that is installed, run it on the computer that 'appears to be broken' to see what version...

Hope this helps, Best regards, Tom.

tommieb75