【发布时间】:2012-10-15 20:56:47
【问题描述】:
我有一个在系统上安装 Windows 服务的 msi 安装文件。现在每次我安装更新版本的设置时,我希望它首先完全卸载以前安装的版本,然后安装当前版本。我对这些配置很陌生,所以对此一无所知。
任何帮助将不胜感激。
提前致谢!
【问题讨论】:
标签: installation windows-installer setup-project uninstallation
我有一个在系统上安装 Windows 服务的 msi 安装文件。现在每次我安装更新版本的设置时,我希望它首先完全卸载以前安装的版本,然后安装当前版本。我对这些配置很陌生,所以对此一无所知。
任何帮助将不胜感激。
提前致谢!
【问题讨论】:
标签: installation windows-installer setup-project uninstallation
您必须确保当您在应用程序的第一个版本上运行卸载时,它确实使您的系统处于您期望的原始状态。不幸的是,根据您的设置和应用程序,无法自动保证完全卸载,因为您在用于安装应用程序的同一个 Windows Installer 程序包上运行了卸载。您需要test the original installation package thoroughly 以确保Uninstallation Leaves the User's Computer in a Clean State。例如,如果您的应用程序必须注册,则必须编写安装包以在卸载应用程序时清理注册表。
如果您的安装包确实总是让用户的计算机处于干净状态,那么您可以使用带有 /uninstall 选项的Standard Command Line Option 或以下选项之一来删除使用 Windows 安装程序包安装的应用程序Windows 安装程序 API,例如 MsiInstallProduct。
如果您想在已安装的旧版本上安装较新版本的应用程序,最好开发一个更新包来更新应用程序。有几种类型的更新:小更新、次要升级和主要升级。请参阅文档中的Patching and Upgrades,以确定您需要向应用程序的用户提供哪种类型的更新包。
Windows Installer 的一个目的是支持这样的应用程序服务,其中可能存在共享组件和用户系统上的多个更新。这可能是一种更有弹性的维修方法,因为与淘汰和更换的方法相比,它可能需要更少的用户计算机先验知识。
【讨论】: