C# msi安装程序在升级时不提示用户

C# msi安装程序在升级时不提示用户,c#,windows-installer,installscript-msi,C#,Windows Installer,Installscript Msi,我有一个简单的msi安装程序setup.exe(通过VS2010创建)。在第一次安装中一切正常,问题在第二次安装中: 1.msi设置为: a、 RemovePreviousVersions设置为TRUE。 2.我升级了安装版本(第二次安装)号,然后按OK 当我问我是否要升级产品代码时 此时,我重新编译了msi并双击setup.exe。 问题是: 我希望安装程序会检测到已经安装了以前的版本 并询问我是否要删除\升级它。 安装程序会自动将已安装的产品升级到新版本,而无需询问任何问题 是否有任何方法来

我有一个简单的msi安装程序setup.exe(通过VS2010创建)。在第一次安装中一切正常,问题在第二次安装中: 1.msi设置为: a、 RemovePreviousVersions设置为TRUE。 2.我升级了安装版本(第二次安装)号,然后按OK 当我问我是否要升级产品代码时

此时,我重新编译了msi并双击setup.exe。 问题是: 我希望安装程序会检测到已经安装了以前的版本 并询问我是否要删除\升级它。 安装程序会自动将已安装的产品升级到新版本,而无需询问任何问题

是否有任何方法来配置msi项目,以便它提示“升级\删除”屏幕

非常感谢..

我觉得这很有帮助。特别是:

•如果新的MSI文件具有相同的 ProductCode和PackageCode作为 已安装的产品, Windows指示您必须修复 或移除产品

Remove卸载产品,但 修复可能更令人困惑

修复不使用新的MSI文件 修理产品,也不修理 更新以前安装的内容。 相反,它修复了现有系统 已安装的产品。也就是说,它的行为 好像你去了原始的微星 用于安装现有数据库的文件 产品,选择关联菜单, 选择了修理。(注意:修理罐 也可以从“添加/删除”启动 程序。)

•如果新的MSI文件具有相同的 作为已安装产品的ProductCode 但是不同的软件包代码,您将 收到一条消息,表明 该产品的另一个版本是 已安装


我没有使用VS安装程序,但它受到严格限制。从技术上讲,您的升级包必须具有

  • 新产品代码
  • 升级代码与以前的产品相同
  • 您还需要将FindRelatedProducts和RemoveExistingProducts以适当的顺序添加到InstallE表中。您可以在上面添加一些MSI GUI,但这意味着您必须使用Orca编辑器手动编辑MSI。一个更简单的方法可能是在您有更多自由的地方使用工具箱。 你的问题已经回答了