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

时间:2015-08-11 12:34:56

标签: wix windows-installer

我需要检查2008R2服务器上是否安装了Application Initialization。

该应用未作为功能安装,它是我从以下link下载的IIS模块。

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

1 个答案:

答案 0 :(得分:1)

TLDR:

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

完整答案:

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

然后在Orca中,打开Registry表并找到 Registry=reg8BD5741527F144C70BDB7B0134BC7B84行。在其中,您会找到要创建值的KeyNameValue

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

修改

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

<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>