我正在尝试寻找一种好方法来实现共享文件夹上的应用程序更新。如果程序有更新,我需要卸载并重新安装共享文件夹上的程序。为了尽量减少给用户带来的不便,最好的方法是什么?编辑:我正在使用 Windows 7 谢谢
答案1
我将重述您的问题以验证我的假设:您开发了一个应用程序,该应用程序将由多个用户通过从共享文件夹运行 EXE 来访问。您希望制定一个策略来更新 EXE,即使用户可能正在使用该应用程序(此时 EXE 将被锁定,无法替换)。
我采用的策略是让应用程序启动一个子进程。你可以用几种不同的方法来处理这个问题,这两种方法都涉及用户执行一个“启动器”程序,然后该程序将“真实”应用程序作为子进程执行。(我会让启动器程序阻塞直到子进程退出,这只是为了方便那些可能希望通过脚本执行你的程序并希望脚本阻塞直到你的程序退出的系统管理员。)
以下是关于该“启动器”程序如何工作的几个想法:
“启动器”在共享文件夹中找到最新的可执行应用程序并将其作为子进程执行。
“启动器”将应用程序可执行文件从共享文件夹复制到用户的 %TEMP% 文件夹(除非与共享文件夹中最新的应用程序可执行文件相比,那里已缓存的副本具有匹配的日期/时间和大小等)。
这两种策略都允许您在用户使用程序时部署新的 EXE。实际上,您只是将难以替换的负担转移到“启动器”程序上,希望它不需要频繁替换。