我需要一些有关如何更新我的应用程序的建议。表单应用程序将被放置在一个驱动器上供许多用户全天使用。在使用过程中如何更新程序或允许更新程序?如果我更新程序并为其创建一个新版本,试图复制粘贴到旧应用程序上将不起作用,如果其他人正在使用该应用程序,则无法复制。欢迎任何建议。
我需要一些有关如何更新我的应用程序的建议。表单应用程序将被放置在一个驱动器上供许多用户全天使用。在使用过程中如何更新程序或允许更新程序?如果我更新程序并为其创建一个新版本,试图复制粘贴到旧应用程序上将不起作用,如果其他人正在使用该应用程序,则无法复制。欢迎任何建议。
选项1:使用ClickOnce部署应用程序,并设置每次运行时检查更新。
ClickOnce:
在项目设置中,单击“发布”选项卡。
从这里,您可以配置应用程序发布的位置以及是否应只安装或仅在线提供。
一旦您将其全部配置好,您将使用“立即发布”按钮来编译并上传更新到发布位置。每次用户打开应用程序时,它都会在您设置的位置检查更新。要使您的应用程序以编程方式检查更新,请使用此MSDN链接中找到的代码 - https://msdn.microsoft.com/en-us/library/ms404263.aspx
您应该注意,用户将不再直接运行exe文件,并且您不会将exe文件复制到发布文件夹中。您的用户将不得不单击具有扩展名为.application的文件。用户可以创建指向此 .application 文件的快捷方式,放置在他们的桌面或任何其他地方。
还要注意,如果使用ClickOnce并发布了错误版本(例如带有错误的版本),则您的用户可以恢复到先前的版本,以便在您修复错误时继续使用应用程序。您的用户还可以选择跳过更新,因此您需要告知他们永远不要跳过更新。
选项2:创建一个应用程序来发布您的主应用程序
我承认这个答案不是一个好方法
您可以为发布主exe而创建另一个exe。发布exe将简单地尝试将新exe复制到旧exe上,并一直尝试,直到成功为止。当程序的所有实例都终止时,它将成功。
选项3:使用数据库
使您的应用程序检查指示更新可用的数据库值。在应用程序中提示用户关闭,并在设置为更新可用时不允许其他实例启动。