Click here to Skip to main content
15,898,134 members
Articles / Programming Languages / C#
Tip/Trick

C# Portable Exe File

Rate me:
Please Sign up or sign in to vote.
4.73/5 (23 votes)
26 May 2012CPOL1 min read 144.7K   49   33
Making an exe file from C# project that runs from any Windows, without must of Net Framework instaled.

Introduction 

One of the disadvantages of C# is that when you want to run it, the computer must have .NET Framework installed on it. After this article, you will be able to make it runnable from any Windows without the must of .NET. 

How to do it?

  1. Make a C# project.
  2. In Solution Explorer, inside your project, there is a line "Reference". Click the plus near it. Now you can see all the dependencies of your project. Delete all references that aren't used (delete, and try to run/build. If it is possible to do it, that it is unused. If there is an error, return it by adding it (right mouse click, "Add Reference")).
  3. For each reference, go to Properties, and in the property "Copy Local" choose "True". For each Image, Icon... make like to the referenced.
  4. Rebuild you project. Now in your Build/Release folder (inside bin) you will see many dll files. Those files have the information of every resource.
  5. Copy all the files in the folder (from step number 4) into a new folder.
  6. Go to the folder: "<windows folder>\Microsoft.Net\Framework\<latest version>" and copy the file "mscorlib.dll" to the new folder from step 5.  If you don't find this file, you can always make a search in the Hard Drive which contains Windows folder.
  7. Now your app is portable (with the whole folder content).
  • All the referenced should be in the same folder as the .exe file.
  • If something is missing, there may be problems with the program.

Review

This solution is not the best. The whole program is heavy. But it is a solution! When you search the Internet, you will find such solutions like Portable Net, publish... But this one is quick, easy and does the right result.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Israel Israel
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionQuestion Pin
yogiCsharp29-May-12 20:12
yogiCsharp29-May-12 20:12 
AnswerRe: Question Pin
arthur zamarin30-May-12 1:48
arthur zamarin30-May-12 1:48 
QuestionDepends on CLR version Pin
Nicolas Dorier28-May-12 10:41
professionalNicolas Dorier28-May-12 10:41 
AnswerRe: Depends on CLR version Pin
arthur zamarin29-May-12 2:38
arthur zamarin29-May-12 2:38 
GeneralRe: Depends on CLR version Pin
Nicolas Dorier29-May-12 2:43
professionalNicolas Dorier29-May-12 2:43 
GeneralRe: Depends on CLR version Pin
arthur zamarin30-May-12 1:54
arthur zamarin30-May-12 1:54 
QuestionWhat ?? Pin
Jasper4C#28-May-12 1:43
Jasper4C#28-May-12 1:43 
AnswerRe: What ?? Pin
arthur zamarin28-May-12 2:30
arthur zamarin28-May-12 2:30 
It is working!

I know about Windows 7. Regularly, Net Framework 4 is installed. But it is working on Windows XP and Vista (Lower I don't know, but I think it would). And there are some Windows versions of xp and vista which doesn't have Net installed at all (I saw).

I tried it on on some computer with no Net (XP, Vista) and it worked.

I tried to run my test program on x84 and x64 (without changing something) and it worked. But if you want to be sure make 2 releases for x84 and x64.

Smile | :)
Questiontypo or not Pin
pian_christian27-May-12 22:22
pian_christian27-May-12 22:22 
AnswerRe: typo or not Pin
arthur zamarin27-May-12 23:48
arthur zamarin27-May-12 23:48 
GeneralMy vote of 5 PinPopular
Gixabel26-May-12 6:16
Gixabel26-May-12 6:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.