0

我希望 WiX 首先为 .NET 3.5 安装MSChart,即 ExePackage。目前,即使它已经存在,它也会始终安装它。我通过查看目标目录来检测它是否已经安装MSChartInstalled FileSearch

<Bundle ... etc.>
    <Chain>
        <ExePackage Id="mschart" SourceFile="MSChart.exe"
                    DetectCondition="MSChartInstalled"
                    Permanent="yes"
        />

        <MsiPackage SourceFile="..\Setup\bin\Release\Setup.msi" />
    </Chain>
</Bundle>

<Fragment>
    <util:FileSearch
          Id='SearchForMSChart'
          Variable="MSChartInstalled"
          Result="exists"
          Path="[ProgramFilesFolder]Microsoft Chart Controls\Assemblies\System.Windows.Forms.DataVisualization.dll"
       />
</Fragment>
4

1 回答 1

2

答案是使用引用将 Fragment 放入包中:

<bundle ... >
...
<util:FileSearchRef Id="SearchForMSChart"/>
...

正如在有关检查注册表的相关问题中发现的那样。

于 2013-07-23T13:42:19.580 回答