wix - 如何配置 .wxs 文件以在写入 FEATURE_BROWSER_EMULATION RegistryKey 时检测最新版本的 IE?

标签 wix

我有一个带有组件的 .wxs 文件

<Component Id="IE_BROWSER_EMULATION_REGISTRY" Guid="*">
     <RegistryKey Root="HKCU" Key="SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION">
          <RegistryValue Type="integer" Name="SDLTradosStudio.exe" Value="9999" KeyPath="yes"/>
     </RegistryKey>
</Component>

我知道最终用户将使用 Windows 7,并且很可能在他们的计算机上至少安装了 IE 9。但我真的很想将值设置为用户计算机上安装的最新版本的 IE。我正在使用 WiX Edit 工具构建 .msi。如何检测用户计算机上安装的最新版本的 IE?

最佳答案

IE 版本存储在注册表中的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\svcVersion

使用以下代码获取属性的注册表键值

<Property Id="IEVERSION">
    <RegistrySearch Id="IEVer"
                    Root="HKLM"
                    Key="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer"
             Name="svcVersion"
                    Type="raw" />
</Property>

在属性中获得 IE 版本后,您可以使用条件来检查它。

示例:

<![CDATA[IEVersion >= 9]]>

关于wix - 如何配置 .wxs 文件以在写入 FEATURE_BROWSER_EMULATION RegistryKey 时检测最新版本的 IE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26744511/

相关文章:

wix - [Wix 3.9]如何创建针对多种语言本地化的单个 exe( Bootstrap )

wix - 使用Windows-Installer了解GUIDS,更新和补丁

wix - 在 Visual Studio Online 上构建 Wix 结果为 'incorrectly registered scripting engine'

c# - 使用 WiX 工具集编辑文件

c# - 用自定义处理程序替换 Wix 默认欢迎的点击事件

.net - Wix:将自定义操作中的文件复制到程序目录(Windows 7)

combobox - 如何在安装时在 WiX 中填充 ComboBox?

visual-studio - WiX 不嵌入二进制文件

properties - WiX:如何从属性值创建文件名

wix - 启动条件以确保在 64 位系统上使用 64 位安装程序