将多个程序与扩展程序相关联

时间:2016-01-05 08:55:48

标签: wix wix3.6 wix3.7 wix3.8

我有软件,为了举例,它会调用A. A - 有一个以上的版本:

  • A 1.0
  • A 1.1
  • A 2.0

所有这些版本都可以安装并共存 - 这意味着更高版本不会升级更低版本。 文件扩展名.aaa与所有3个程序相关联,这意味着程序将文件保存在扩展名为.aaa的文件中,当双击.aaa扩展名时,会触发最新安装的软件。

现在我遇到了以下问题:

  • 用户安装1.1版本的A.
  • 一段时间后,用户安装了A 2.0。
  • 用户使用A 2.0并生成扩展名为.aaa
  • 的保存文件
  • 用户卸载A 1.1用户双击.aaa扩展文件,然后 收到一个弹出窗口,找到打开文件的软件(意思是 卸载A 1.1后,文件扩展名无关联。)

A的可执行文件的组件ID和文件名是不同的,当然还有升级代码和程序ID。然而,卸载它的低版本之后如何打破关联,我该如何使其工作?

1 个答案:

答案 0 :(得分:1)

两个版本的'A'之间的注册表值的位置相同,因此您应该为组件使用相同的GUID。要遵循的一些好规则可以在Change my component GUID in wix?

找到

从A 1.1中获取文件扩展名条目的组件的GUID,并在A 2.0中使用它。这应该允许在删除A 1.1后延长。

旁注: 这可能打开了在安装多个版本时需要管理应该打开的应用程序版本的大门。例如,如果您安装A 2.0然后安装A 1.1,您的文件扩展名可能会打开A 1.1中的文件。