Tôi muốn kiểm tra xem Crystal Reports Basic cho Visual Studio 2008 có được cài đặt như một điều kiện cho gói cài đặt của riêng tôi không.Cách kiểm tra gói đã cài đặt trong WiX 3.0?
Tôi thấy điều này trong mô tả bootstrapper cho sản phẩm này (C: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Bootstrapper \ Packages \ CrystalReports10_5 \ product.xml):
<InstallChecks>
<MsiProductCheck Property="CRVSInstalled" Product="{AA467959-A1D6-4F45-90CD-11DC57733F32}"/>
<MsiProductCheck Property="CRVSRunTimex86Installed" Product="{CE26F10F-C80F-4377-908B-1B7882AE2CE3}"/>
<MsiProductCheck Property="CRVSRunTimex64Installed" Product="{2BFA9B05-7418-4EDE-A6FC-620427BAAAA3}. "/>
</InstallChecks>
Đang cố gắng để bắt chước hành vi này trong WiX, tôi đã làm như sau:
<Property Id="CRVSINSTALLED">
<ComponentSearch Id="CRVSInstalledSearch" Guid="{AA467959-A1D6-4F45-90CD-11DC57733F32}" />
</Property>
<Property Id="CRVSRUNTIMEX86INSTALLED">
<ComponentSearch Id="CRVSRunTimex86InstalledSearch" Guid="{CE26F10F-C80F-4377-908B-1B7882AE2CE3}" />
</Property>
<Property Id="CRVSRUNTIMEX64INSTALLED">
<ComponentSearch Id="CRVSRunTimex64InstalledSearch" Guid="{2BFA9B05-7418-4EDE-A6FC-620427BAAAA3}" />
</Property>
<Condition Message="!(loc.CrystalReportsRequired)">Installed OR CRVSINSTALLED OR CRVSRUNTIMEX86INSTALLED OR CRVSRUNTIMEX64INSTALLED</Condition>
Nhưng dường như ComponentSearch
đang tìm kiếm các thành phần gói (file, thư mục) mà có id riêng của họ, chứ không phải tìm kiếm gói riêng của mình.
Vậy làm cách nào tôi có thể thực hiện việc này?
Thú vị, nhưng tôi không nghĩ rằng tôi sẽ có thời gian để nghiên cứu kỹ các hành động tùy chỉnh. Bây giờ. – Mac