WIX中的功能自定义操作

时间:2018-02-27 12:35:01

标签: wix windows-installer installer wix3.7 wix3.8

我正在尝试通过安装执行EXE文件,如果相关功能将安装在功能树中,则应安装此文件。 我有两个问题:

1 - 如何将自定义操作与此功能相关联。"条件"

2-如何在生成的文件中包含此exe文件。 "这个EXE文件是一个SQL安装,我已经在WIX BOOTSTRAPPER"

http://apprize.info/web/wix/13.html

我的代码是

<Feature Id="SubFeature1" Title="SQL Installation" Level="1" >
    <ComponentRef Id="SubComponent1"/>
  </Feature>
  <Feature Id="SubFeature2" Title="Second Subfeature" Level="1" >
    <ComponentRef Id="SubComponent2"/>
    <!-- <Condition Level="0">IISMAJORVERSION=""</Condition>    -->
  </Feature>
</Feature>


<CustomAction Id="CreateSQLINSTALLER" Directory="BMSS4_Installer"
Execute= "deferred" Impersonate="no" Return="ignore"
ExeCommand="[BMSS4_Installer]Sql_Installation_Test1.exe -install" />

<InstallExecuteSequence>

  <Custom Action="CreateSQLINSTALLER"  Before="InstallFinalize"><![CDATA[(&SubFeature1)]]></Custom>

</InstallExecuteSequence>

Sql_Installation_Test1.exe包含在主文件夹中,所以BMSS4_Installer .. 但是在目录标签om CustomAction !!中使用它是直接的吗?

1 个答案:

答案 0 :(得分:2)

此处记录了功能条件:

https://msdn.microsoft.com/en-us/library/aa368012(v=vs.85).aspx

在功能的动作状态中。基本上你使用的条件如:

&安培; featurename = 3

其中3是INSTALLSTATE_LOCAL,如文档中所示。可以使用条件的位置有限,主要是在CostFinalize之后。

目前尚不清楚您是否正在安装某些版本的SQL本身,但是它会有自己的安装而不需要重新打包,例如,它将是与Burn一起安装的先决条件。如果它是你的独立MSI设置,那么Burn软件包可能是安装它和你的其他MSI的最佳方式。