我设法让我的应用程序检查更新与WebService
我的服务器上,它会查看是否有更新,在那里进行。 但我面对现在真正的问题是,我不知道如何下载新版本.exe
我的应用程序,并取代目前我跑。
最后,我需要知道如何下载新版本.exe
我的应用程序,并取代目前我跑。
我设法让我的应用程序检查更新与WebService
我的服务器上,它会查看是否有更新,在那里进行。 但我面对现在真正的问题是,我不知道如何下载新版本.exe
我的应用程序,并取代目前我跑。
最后,我需要知道如何下载新版本.exe
我的应用程序,并取代目前我跑。
那么实际上你需要创建一个单独的进程来处理更新步骤。 我曾经开发了一个桌面应用程序与接收更新形成一个Web服务器的能力,而我做了通过创建角色为主要切入点,主要应用不同的工艺。
它启动主应用程序,同时它保持运行,以检查更新。 然后,如果有任何更新它下载到临时文件夹后,它关闭它,然后它提交新的更新,并再次重新启动主应用程序之前通知的主要应用。
但是,如果你想坚持一个可执行文件和一个过程。 我想这是运行不是由操作系统本身允许的,而你不能取代任何可执行文件。
你需要创建一个单独的引导应用程序来为你做的工作,否则应用程序与运行这样的操作系统会阻止您覆盖它。
那么实际上有办法。 我几年前发现的。
你不能删除当前执行的.exe程序文件。 但是,您可以移动。
所以,我从我的Web服务器的更新文件下载到/updates/myprogram.exe
然后,我1)File.Delete以往任何myprogram.bak文件2)File.Move的myprogram.exe到myprogram.bak。 3)File.Copy的/updates/myprogram.exe到/myprogram.exe位置。 4)询问用户是否要重新启动,调用Application.Restart()
瞧。 问题主程序解决。 无需启动程序。