【问题标题】:Setup InstallShield Limited Edition for VS2010 so it automatically uninstalls previous versions of my application为 VS2010 设置 InstallShield Limited Edition,以便自动卸载我的应用程序的早期版本
【发布时间】:2011-09-18 20:08:57
【问题描述】:

我正在开发 WPF 桌面应用程序,并且正在通过 InstallShield Limited Edition 生成的安装文件进行部署。 我希望安装程序在安装新版本之前提示用户并删除任何以前版本的应用程序。 我怀疑这是通过 InstallShield 中的升级路径选项完成的,但我无法弄清楚。

Answer 转到一个解释或链接,指向一个可以回答我的问题的体面的操作方法、教程或手册页。

目前,在运行安装程序时,我得到: “已安装此产品的另一个版本。无法继续安装此版本。要配置或删除此产品的现有版本,请使用控制面板上的添加/删除程序。”

谢谢

【问题讨论】:

    标签: upgrade uninstallation installshield-le


    【解决方案1】:

    试试这个:

    • 在解决方案资源管理器中转到“常规信息”页面
    • 增加产品版本
    • 生成新的产品代码
    • 确保 ALLUSERS 属性与旧包中的值相同
    • 转到“升级路径”页面并添加旧的 MSI
    • 构建并安装您的新版本

    在运行这个新包时,它应该会自动检测并删除旧版本。

    您可以在此处阅读有关 Windows Installer 升级的信息: http://msdn.microsoft.com/en-us/library/aa370579(VS.85).aspx

    【讨论】:

    • 嗨,宇宙。从那以后我注意到这个解决方案只是安装了应用程序的多个版本——更改产品代码意味着 Windows 将其视为一个完全不同的应用程序,并且它与以前安装的版本没有链接。我还不能让它工作,但我很确定生成一个新的产品代码不是要走的路。苏兹。
    • 每个新版本都应该有不同的产品代码。版本通过升级代码链接:msdn.microsoft.com/en-us/library/aa372399(VS.85).aspx?ppud=4
    • 你测试过这个吗?因为我创建了一个类似于 Hello World 的应用程序来对其进行测试,并且生成新的产品代码会导致 Windows 将新版本与旧版本一起安装 - “添加删除程序”列表显示了这两个版本。更糟糕的是 - 我的桌面快捷方式仍然运行旧版本。如果您对此进行了测试并获得了不同的结果,那么也许某些实现发生了变化?我正在使用 VS2010、InstallShield LE 和 Windows 7。
    • 另外,来自kb.flexerasoftware.com/doc/Helpnet/installshield12helplib/…:“ProductCode - 这是一个包含产品 GUID 的 Windows Installer 属性。Windows Installer 将具有不同 ProductCode GUID 的两个产品视为不相关,即使ProductName 属性相同。”
    • 新产品代码和升级路径的组合解决了这个问题。有用!我高兴得几乎崩溃了。感谢您的耐心等待。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-13
    • 1970-01-01
    相关资源
    最近更新 更多