我写了一个程序,如果它在服务器上找到一个更新的版本,它会更新自己,但我发现它很难干净地实现.
检查远程服务器并下载文件很简单但是那又如何呢?它不能简单地File.Copy("newversion.exe","myprogram.exe"),因为myprogram正在运行且文件被锁定.
我通过下载两个文件newversion和更新来做到这一点.myprogram然后启动更新并退出.更新等待两秒钟,复制,然后启动myprogram(现在是更新版本)并退出.myprogram在启动时查找更新并删除它,如果找到则返回newversion.mypogram现在是新版本,没有留下任何文件.
必须有比这更好的方法,那么程序更新自己的.net方式是什么?
PS.对不起,如果这个问题出现两次 - 我第一次提交时遇到'堆栈溢出已损坏'页面.
.net ×1