【问题标题】:Creating file association with WiX Toolset使用 WiX 工具集创建文件关联
【发布时间】:2016-03-30 07:20:33
【问题描述】:

我创建了一个可以打开图像文件的应用程序。现在我正在使用 WiX 工具集创建安装程序。在过去的几天里,我陷入了一些误解:试图注册我的应用并将其与所需的扩展关联。一切都出现在注册表中,但我的应用程序没有打开任何文件,就好像它没有安装一样。

这是我描述可执行文件并为其注册所有扩展名的部分:

<Component Id="CmpLightImageViewer.exe" Guid="{...}">
  <File Id="MainExe" Name="LightImageViewer.exe" />
</Component>

<Component Id="CmpLightImageViewerProgId" Guid="{391FBC30-B5A1-4AB7-8FA4-254C1CE2BF69}" KeyPath="yes">
  <ProgId Id="LightImageViewerSvg" Description="Light image viewer">
    <Extension Id="svg">
      <Verb Id="open" TargetFile="MainExe" Argument="&quot;%1&quot;" />
    </Extension>
  </ProgId>
  <ProgId Id="LightImageViewerGif" Description="Light image viewer">
    <Extension Id="gif">
      <Verb Id="open" TargetFile="MainExe" Argument="&quot;%1&quot;" />
    </Extension>
  </ProgId>
...
</Component>

这就是我在注册表 HKCR 中看到的。在 HKCU/Software/Classes 中相同,但在 HCLM/Software/Classes 中不同:

我错过了什么?我还需要做什么才能使其正常工作?虽然我可以使用 Windows 工具为每种类型手动设置文件关联,但这不是我想要的工作方式。

我正在使用 wix3.10 在 windows10 中使用 vs2015 构建它

【问题讨论】:

    标签: xml wix installation registry file-association


    【解决方案1】:

    这是在 Vista 中启动的一种安全功能 - Windows 保护“默认”关联,允许用户选择它们。如果您希望您的程序成为处理现有文件类型的“默认”,从而覆盖用户设置(这正是该功能应该防止的,就我明白了),那么你可以看看这个问题的例子:

    How to associate application with existing file types using WiX installer?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多