过去几年我一直在使用ClickOnce来安装和更新mysoftware。我决定将安装程序切换到NSIS。 软件的各个用户卸载软件然后重新安装(使用NSIS安装程序)是不可行的。
我考虑在NSIS脚本中添加一些代码以在安装软件之前删除应用程序的注册表项,但Microsoft强烈建议使用Windows Installer服务进行卸载。
我的问题是1.在不卸载以前版本的情况下安装的危险是什么? 2.在安装当前版本之前,有没有办法(使用NSIS或其他方法)以编程方式卸载以前安装的版本?
答案 0 :(得分:0)
安装后不删除每用户点击的典型后果是用户可能会对该程序的两个版本感到困惑。例如,这可能是两个不同的办公室插件活动。
我在静默卸载问题上进行了一些搜索,我不确定ClickOnce是否支持过这个问题。我确实找到了一些据报道能够做到这一点的开源项目。将它们实现为ActiveSetup样式模式以使其在每个用户上下文中运行似乎可以解决旧版本的问题。