我正在尝试使用Winforms创建自动更新应用。我不能使用click-once或更新程序块,因为应用程序也需要在Mono上运行。
从webservice下载新的exe文件后,是否可以解锁正在运行的exe文件,替换它,然后重新启动应用程序?
答案 0 :(得分:4)
没有。您无法替换正在运行的可执行文件。您将获得访问冲突。
最好的选择是创建一个单独的小型可执行文件来替换您。您的应用程序可以调用它,自行关闭,第二个可执行文件可以为您执行下载/替换/重新启动。
这样做的另一个好处是允许您设置“已更新”以要求提升权限,这可能是必需的,具体取决于您要替换的应用程序的安装位置。
答案 1 :(得分:1)
我不会这样做(它不起作用;你会受到访问侵犯)。相反,你可以: