我在 Windows 窗体应用程序中有一个更新按钮。当用户单击更新按钮时,应用程序会检查应用程序的当前版本与从 Web 服务获取的服务器中可用的版本。如果版本不匹配,应用将从webservice获取的路径下载新版本。
我目前在同一个解决方案中使用两个项目
应用运行的主项目
更新项目-它的目的是用来删除.exe文件和下载新的.exe文件。 (更新项目添加为主项目的引用)
问题是当我尝试通过更新项目中的代码删除 mainproject.exe 时,它显示一个异常“捕获到未经授权的异常”。有谁知道为什么会这样?或者有没有人有更好的主意在应用程序中使用更新功能??
这是我用于删除文件的代码。
Unauthorized Exception in Windows Forms - C#
编辑:-
当我调试应用程序时,我能够删除 .exe 文件。但是当我在桌面上安装后尝试删除应用程序时,我再次收到异常消息“访问被拒绝”。
最佳答案
在你的更新按钮中,你启动了另一个小应用程序作为一个单独的进程,在小应用程序中,你可以使用以下代码杀死你的进程,然后删除原来的应用程序。
try
{
Process [] proc Process.GetProcessesByName("YourAppName");
proc[0].Kill();
}
关于c# - 无法通过c#删除.exe文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18325805/