I created a program in C# .net using VS2008.
When the user installs the program I don’t know if it will be on the C: drive or D: drive or someplace else. The issue is that I need the program to automatically create files and then retrieve those files later on without any assistance from the user.
I thought the least complex situation was to place these files in the directory where the program is installed so that the location would remain constant and this strategy would reduce the chances that the files will be accidentally deleted by the user.
Question 1:
How to I refer to the install directory of my app when the user has their choice of the install location?
Question 2:
Should I even be doing it this way or should I be looking at this from a totally different perspective.
Assembly.GetExecutingAssembly().Location will give you the path to the currently executing assembly.
However, writing to that location will cause problems for users running on Vista, Server 2008 and later, which are more strict about normal users not writing to places like C:\Program Files. Your best bet is probably something like:
There are a bunch of options for Environment.SpecialFolder, based on what exactly you want to store.