WriteAllBytes到“在程序中”创建的目录访问路径拒绝

时间:2014-01-01 02:09:12

标签: c# access-denied directory-permissions

您在C#中使用app.manifest参数创建了一个小安装程序,以便能够自由编辑计算机,但是当我执行此代码时:

System.IO.Directory.CreateDirectory(cheminInstall.Text);
File.WriteAllBytes(cheminInstall.Text, Properties.Resources.Sara);

2 个答案:

答案 0 :(得分:3)

您将目录与文件混淆。您可以写入文件,并将其保存到目录中。但不能直接写入目录。

cheminInstall.Text = System.Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)+"\\Storationer";
System.IO.Directory.CreateDirectory(cheminInstall.Text);
File.WriteAllBytes(cheminInstall.Text+"\\YourFileName.txt", Properties.Resources.Sara);

答案 1 :(得分:2)

查看代码:

System.IO.Directory.CreateDirectory(cheminInstall.Text);
File.WriteAllBytes(cheminInstall.Text, ...);

好吧,您创建了一个目录,然后尝试编写一个与该目录同名的文件。那是不可能的。您可以在目录中编写文件。您可以使用新文件覆盖现有文件。但是您无法将文件写入指定目录的路径。

我不知道你的意思。但是大概你想创建一个目录,并在该目录中写一个文件。这将要求您将路径传递给WriteAllBytes,该路径指定您创建的目录中的对象。