• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 219
  • Last Modified:

Need help with MS VS 2010 Deployment Project

I have a WinForms application created using MS VS 2010.  I created a deployment package but am having a problem accessing a folder in the package.

I have a function to export data.  I want the exported data to be stored in a folder in the user's My Documents folder.  In my deployment package I have added User's Personal Data Folder to the File System in the Deployment package.

MS Deployment

In my application I do the following to create the file.  I want the file to be created in the User's Personal Data folder.
            string mydocpath = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
            string FileName = mydocpath + @"\HWLocal77\Exports\Export_" + curDate.Month.ToString() + curDate.Year.ToString() + ".txt";
            using (StreamWriter sw = new StreamWriter(FileName))
            {
                // my extract code is here
            }

Open in new window


When I run the install, the HWLocal77\Exports is created in my My Documents folder but when I run the application and try and export the data, the application creates the following path:

C:\Users\Owner\Documents\HWLocal77\Exports\Export_72014.txt

and I get an error stating part of the path does not exist.  The folder exists in the My Documents folder.

My Documents
But it doesn't exist in the C:\Users\Owner\Documents folder.

Can someone please help me figure out how to change my Deployment Package or what change I need to make to my program?  Any help is greatly appreciated.
0
dyarosh
Asked:
dyarosh
1 Solution
 
Miguel OzSoftware EngineerCommented:
Your deployment package is OK, but your C# code is not because it does not create file if it does not exist, please replace:
using (StreamWriter sw = new StreamWriter(FileName))

Open in new window

with this constructor:
using (StreamWriter sw = new StreamWriter(FileName, false))

Open in new window

The extra parameter creates the file if it does not exist as per MSDN explanation: "Use false to overwrite the file. If the specified file does not exist, this parameter has no effect, and the constructor creates a new file. "
0
 
dyaroshAuthor Commented:
After looking closer at the error message I realized the folder name was being created as "HWLocal77" but the folder was "HWLocal 77".  Once I fixed that everything worked.  Thank you for your help.
0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now