如果我的文档文件夹重定向到安装项目中的另一个位置,则无法在我的文档中创建文件

时间:2013-11-07 06:05:17

标签: c# permissions setup-project special-folders

我正在创建一个安装项目,在安装中,我应该在My Documents文件夹中创建一个文件,我在Commit方法中的代码如下所示:

base.Commit(savedState);
string folderPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\MyApp";
        string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\MyApp\Backup.xml";
        if (!Directory.Exists(folderPath))
        {
            Directory.CreateDirectory(folderPath);
        }

        if (!File.Exists(path))
        {
            File.Create(path).Close();
        }

        using (TextWriter file = new StreamWriter(path, true))
        {                
            file.WriteLine("adfasdfafdasdfaf");
        }

这很有效。但是,如果我将“我的文档”重定向到另一个位置(例如D:\ TestFolder),则代码无法在我的新位置创建该文件,并且安装成功完成。有人可以帮忙吗?

编辑: 我发现Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments)给我一个错误的值。在控制台应用程序中,这会返回一个正确的值,但在安装项目中,它会返回一个空字符串。

0 个答案:

没有答案