在过去的几年里,我一直使用ClickOnce来安装和更新我的软件。我决定将安装程序切换到NSIS。对于软件的单个用户来说,卸载软件然后重新安装(使用NSIS安装程序)是不可行的。
在安装软件之前,我曾考虑在NSIS脚本中添加一些代码来删除应用程序的注册表项,但Microsoft强烈建议使用Windows Installer服务进行卸载。
我的问题是:1.安装时不卸载以前的版本有什么危险?2.在安装当前版本之前,有没有办法(使用NSIS或通过其他方式)以编程方式卸载以前安装的版本?
发布于 2015-06-25 03:58:11
不删除每次用户点击一次安装的典型后果是,用户可能会被程序的两个版本搞混。例如,这可能是两个不同的办公插件处于活动状态。
我在静默卸载的问题上做了一些搜索,我不确定ClickOnce是否曾经支持过这一点。我确实找到了一些开源项目,它们报告说能够做到这一点。将它们实现到ActiveSetup样式模式中,以使其在每个用户上下文中运行,似乎可以摆脱旧版本。
https://stackoverflow.com/questions/31032068
复制相似问题