访问被拒绝(运行.bat文件)

时间:2013-08-12 22:05:33

标签: c#

这是构建.bat文件并运行它的代码。

StringBuilder Batch = new StringBuilder();
Batch.AppendLine("@echo off");
Batch.AppendLine("taskkill /IM " + Process.GetCurrentProcess().ProcessName + ".exe /F");
Batch.AppendLine("ping localhost > nul");
Batch.AppendLine("del /f " +  (char)34 + Application.ExecutablePath + (char)34);
Batch.AppendLine("ren " + (char)34 + Application.StartupPath + @"\update.exe" + (char)34 + " " + Process.GetCurrentProcess().ProcessName);
Batch.AppendLine((char)34 + Application.ExecutablePath + (char)34);
Batch.AppendLine("del %0");

File.WriteAllText(Application.StartupPath + @"\update.bat", Batch.ToString(), Encoding.Default);
        Process.Start(Application.StartupPath + @"\update.bat");

但是,我被拒绝访问,我必须以管理员身份运行它,我该怎么办?

1 个答案:

答案 0 :(得分:0)

不是你问题的答案,但我认为你没有从最佳方向接近它。相反,请参阅此问题,为您实际尝试的内容提供非常强大的答案:what-is-the-best-way-to-auto-update-a-windows-application

TL; DR如果您的原始安装是“所有用户”,那么您将无法手动提升权限。安装是“每用户”,这样可以简化权限问题。