的过程中,我有一个应用程序(的WinForms C#)中,我想一些文件从“下载”目录复制到PROGRAMFILES目录。本质上,我试图通过滚动我自己的自动更新程序来更新一些(或全部)当前正在运行的程序dll和可执行文件。启动一个新的进程,杀死创建它
所以我有应用程序会自动检查更新和下载更新到ProgramData \ MyApplication的目录。问题是,我需要在相应的ProgramFiles \ MyApplication目录中覆盖应用程序的所有文件,包括当前正在运行的.exe文件。任何想法如何可以执行?
这是您的问题的解决方案。请查看[解决方案] [1]。 [1]:http://stackoverflow.com/questions/2335755/how-to-update-an-assembly-for-a-running-c-sharp-process-aka-hot-deploy –
有趣的是,我正在考虑使用Process.Start(“PathToMyUpdaterExecutable”)启动进程,然后从主程序中调用Application.Exit()...你认为这是一个好方法吗? – Chadley08
我这样建议你,因为你在寻找自我更新。更好的想法是使用标准方法,如martin_costello在下面回答你。 –