我有一个msi安装文件,它在系统上安装了一个Windows服务。现在,每当我安装较新版本的安装程序时,我希望它首先应完全卸载以前安装的版本,然后安装当前版本。我对这些配置很陌生,所以对此没有任何想法。
非常感谢任何帮助。
提前致谢!
答案 0 :(得分:0)
当您在应用程序的第一个版本上运行卸载时,您必须确保它确实使您的系统处于您期望的原始状态。遗憾的是,根据您的设置和应用程序,仅仅因为您在用于安装应用程序的同一Windows Installer程序包上运行卸载,因此无法自动保证干净卸载。您需要test the original installation package thoroughly才能确保Uninstallation Leaves the User's Computer in a Clean State。例如,如果必须注册您的应用程序,则必须编写安装包以在卸载应用程序时清理注册表。
如果您的安装包确实总是让用户的计算机处于干净状态,那么您可以使用带有/ uninstall选项的Standard Command Line Option或者一个删除使用Windows Installer程序包安装的应用程序Windows Installer API,例如MsiInstallProduct。
如果要在已安装的旧版本上安装较新版本的应用程序,则最好开发更新包以更新应用程序。有几种类型的更新:小更新,次要升级和主要升级。请参阅文档中的Patching and Upgrades,以确定您需要向应用程序用户提供哪种类型的更新包。
Windows Installer的目的之一是支持这样的应用程序服务,其中可能存在共享组件和用户系统上的多个更新。这可能是一种更具弹性的服务方法,因为它可能需要较少的用户计算机的先验知识而不是撕裂和替换的方法。