No! Don't try to find a work-around. It's merely a bug.
Look through your application and make sure you never use any hard-coded path names. There is not situations when such names could be useful. You cannot also rely on the working directory, as it totally depends on how the user loads your application. The user can do it from any directory.
All path names can only be calculated in run-time based on application's main executable module (for read-only files only) or relative to this path or relative to one of special directories, see
System.Environment.GetFolderPath(System.Environment.SpecialFolder)
,
http://msdn.microsoft.com/en-us/library/system.environment.aspx[
^].
To find the application's executable path use this:
string exePath =
System.Path.GetDirectoryName(
System.ReflectionAssembly.GetEntryAssembly().Location);
Also, path names could be stored in input data files (such as application settings); but then the content of such files should be tuned on installation.
—SA