Why games compiled in .NET cant run on pc without .NET Frameworks installed?
I have always wanted to ask this question but was afraid it could be a stupid question, but I think I will go ahead and ask it this time. Why the games compiled in Microsoft Visual Studio .NET 2005 cannot run on machines that do not have the development tool and .NET Frameworks installed? Isn't this a bad thing since only the people who have the tool (probably only developers have it) can play your games? Or was it just me? Do I need to change something in the settings?
I apologize if it is a silly question but I really need to know why.
Thanks!
Did you compile in debug or release mode? Tot the best of my knowledge you should only need the framework installed if its compiled in release mode.
Althoug I could be wrong.
Althoug I could be wrong.
Depends what you mean.
Programs compiled with Visual Studio .NET do not require the .NET framework unless they are using the .NET framework. This means C++ (not C++/CLI), an unmanaged language, does not require the framework. However, they may require some DLLs for the C++ runtime.
Programs written in managed languages that use the .NET framework, however, will obviously require the framework.
Programs compiled with Visual Studio .NET do not require the .NET framework unless they are using the .NET framework. This means C++ (not C++/CLI), an unmanaged language, does not require the framework. However, they may require some DLLs for the C++ runtime.
Programs written in managed languages that use the .NET framework, however, will obviously require the framework.
There is a program called 'ngen' I think that it compiles .NET stuff to native code but I think that you would need to compile your .NET programs into IL or MSIL as an input to ngen...
You could search for ngen and see what that tells you aswell.
You could search for ngen and see what that tells you aswell.
"(Ngen.exe) is a tool that improves the performance of managed applications. Ngen.exe creates native images, which are files containing compiled processor-specific machine code, and installs them into the native image cache on the local computer. The runtime can use native images from the cache instead using the just-in-time (JIT) compiler to compile the original assembly."
You can't do this pre-ship; you need to run ngen.exe on the target machine. It's usually done as part of the install process.
You can't do this pre-ship; you need to run ngen.exe on the target machine. It's usually done as part of the install process.
You shouldn't need VS 2005 to run any .NET program, only the framework -- unless you're trying to distribute a debug build. .NET programs are unlike normal ones because they are only compiled into an intermediate language. They require an interpreter to finish compiling them into the language of the machine they're run on. It's possible for you to make VS2005 compile .NET programs to x86 (a normal PC), but you'll still need to install .NET because it contains a whole pile of libraries every application depends on (someone correct me if I'm wrong).
For non-.NET applications created by Visual C++ 2005, they still depend on the new C runtime libraries. If you look in the VC directories there are some redistributables to easily install these on anyone's computer.
For non-.NET applications created by Visual C++ 2005, they still depend on the new C runtime libraries. If you look in the VC directories there are some redistributables to easily install these on anyone's computer.
Hi,
It has been already said but .NET applications generates MSIL which can only executed by the CLR (.NET runtime). There's no trick that allow you to get rid of .NET runtime, sorry.
The worse part of this is that .NET runtime doesn't ship with Managed DirectX libraries :(
Most people won't have any of them. You can add a Redistributable .net framework to your setup (it basically adds dotnet setup to yours), but as far as i know you can't do the same for MDirectX.
It has been already said but .NET applications generates MSIL which can only executed by the CLR (.NET runtime). There's no trick that allow you to get rid of .NET runtime, sorry.
The worse part of this is that .NET runtime doesn't ship with Managed DirectX libraries :(
Most people won't have any of them. You can add a Redistributable .net framework to your setup (it basically adds dotnet setup to yours), but as far as i know you can't do the same for MDirectX.
Thanks for the reply everyone. I found out from somewhere that .NET Framework is actually a virtual machine, that's why it has to be installed in order to run an executable file on a machine. I think It is bad because many people will just lost interested on your games if they couldn't get it to run. Is there anyway to run the program without the Framework?
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement