Copy files into the executable directory in C#

[executable directory]

Sometimes it’s handy to copy a file into the program’s executable directory. For example, it’s sometimes nice to copy a configuration file, database file, or other data file into the directory where the executable program is created. That way the executable program knows it can find the file.

To copy a file into the executable directory, first add it to the project. To do that, open the Project menu, select Add Existing Item and select the file.

Next click on the file in Solution Explorer. In the Properties window, click on the “Copy to Output Directory” property and select one of the following options.

  • Do not copy – Don’t copy the file into the executable directory
  • Copy always – Copy the file into the executable directory every time Visual Studio builds the executable
  • Copy if newer – Copy the file into the executable directory if it is newer than the copy that is already in that directory. (I.e. it has been modified since it was last copied).

Now the program can assume the file is in the same directory where it is executing. The following code shows how the example program displays an image file on its background assuming the file is in the program’s startup directory.

// Load the picture from the startup directory.
private void Form1_Load(object sender, EventArgs e)
    BackgroundImage = new Bitmap("essential_algs_m.jpg");
    ClientSize = BackgroundImage.Size;

Download Example   Follow me on Twitter   RSS feed   Donate

This entry was posted in files and tagged , , , , , , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *