我正在创建一个安装项目,在安装中,我应该在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)给我一个错误的值。在控制台应用程序中,这会返回一个正确的值,但在安装项目中,它会返回一个空字符串。