Wix 检查应用程序初始化是否安装在 2008R2 上

Wix Check if Application Initialization is installed on 2008R2

我需要检查应用程序初始化是否安装在 2008R2 服务器上。

该应用程序未作为功能安装,它是我从以下 link.

下载的 IIS 模块

我遇到的问题是文件夹实际上放在哪里以便能够在我的 WiX 项目中执行搜索以查看它们是否存在。

TLDR:

HKLM\SOFTWARE\Microsoft\IIS Extensions\Application Initilaization 中查找 Version 值。当前版本是 7.1.1636.0.

完整答案:

由于这是一个 MSI 安装包,您可以使用 Orca 打开它并搜索正在创建的任何注册表项。

然后在 Orca 中,打开注册表 table 并找到 与 Registry=reg8BD5741527F144C70BDB7B0134BC7B84 排在一起。在其中,您将找到将创建值的 Key、它的 NameValue

这样,您可以轻松地执行注册表搜索并评估模块是否已安装。

编辑

要在启动期间执行搜索并验证模块是否已安装,请添加以下代码:

<Property Id="MODULEINSTALLED">
    <RegistrySearch Id="IsModuleInstalled"
                    Root="HKLM"
                    Key="SOFTWARE\Microsoft\IIS Extensions\Application Initilaization"
             Name="Version"
                    Type="raw" />
</Property>

然后在一个条件下使用属性:

<Condition Message="This application requires Application Initialization module. Please install the Application Initialization module then run this installer again.">
    <![CDATA[Installed OR MODULEINSTALLED]]>
</Condition>