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
、它的 Name
和 Value
。
这样,您可以轻松地执行注册表搜索并评估模块是否已安装。
编辑
要在启动期间执行搜索并验证模块是否已安装,请添加以下代码:
<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>
我需要检查应用程序初始化是否安装在 2008R2 服务器上。
该应用程序未作为功能安装,它是我从以下 link.
下载的 IIS 模块我遇到的问题是文件夹实际上放在哪里以便能够在我的 WiX 项目中执行搜索以查看它们是否存在。
TLDR:
在 HKLM\SOFTWARE\Microsoft\IIS Extensions\Application Initilaization
中查找 Version
值。当前版本是 7.1.1636.0.
完整答案:
由于这是一个 MSI 安装包,您可以使用 Orca 打开它并搜索正在创建的任何注册表项。
然后在 Orca 中,打开注册表 table 并找到
与 Registry=reg8BD5741527F144C70BDB7B0134BC7B84
排在一起。在其中,您将找到将创建值的 Key
、它的 Name
和 Value
。
这样,您可以轻松地执行注册表搜索并评估模块是否已安装。
编辑
要在启动期间执行搜索并验证模块是否已安装,请添加以下代码:
<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>