【发布时间】:2011-11-23 03:45:11
【问题描述】:
使用 WiX,我如何检测 SourceDir 文件夹中是否存在特定文件?
我有以下 WiX 片段,旨在确定 Adobe Reader 安装程序是否已分发到与我的 MSI 文件相同的文件夹中,如果是,请在安装后运行它。
<Property Id="ADOBEREADERINSTALLER">
<DirectorySearch Id="SourceDir" Path="[SourceDir]" Depth="0" AssignToProperty="yes">
<FileSearch
Id="AdbeRdr810_en_US.exe"
Name="AdbeRdr810_en_US.exe"
MaxDate="2011-03-24T13:18:59" MaxSize="23402288" MaxVersion="1.0.0.92"
MinDate="2011-03-24T13:18:00" MinSize="23402288" MinVersion="1.0.0.92"
/>
</DirectorySearch>
</Property>
<Property Id="INSTALLADOBEREADER" Value="1" />
<CustomAction
Id ="InstallAdobeReader"
Property ="ADOBEREADERINSTALLER"
ExeCommand =""
Execute ="immediate"
Return ="asyncNoWait" />
<InstallUISequence>
<ResolveSource After="CostInitialize"> UPGRADINGPRODUCTCODE OR NOT Installed </ResolveSource>
</InstallUISequence>
<InstallExecuteSequence>
<Custom Action="InstallAdobeReader" After="InstallFinalize"> (UPGRADINGPRODUCTCODE OR NOT Installed) AND ADOBEREADERINSTALLER AND INSTALLADOBEREADER </Custom>
</InstallExecuteSequence>
看来AppSearch 操作(执行DirectorySearch 和FileSearch)必须在ResolveSource 操作(设置SourceDir 的值)之前发生。这让我陷入了倒退的境地.
【问题讨论】:
标签: properties wix windows-installer