Chciałbym sprawdzić, czy Crystal Reports Basic for Visual Studio 2008 jest instalowany jako warunek dla mojego własnego pakietu instalacyjnego.Jak sprawdzić zainstalowany pakiet w WiX 3.0?
Znalazłem to w opis programu inicjującego dla tego produktu (C: Program Files \ \ Microsoft SDK \ Windows \ v6.0A \ inicjującego \ 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>
Próbując naśladować to zachowanie w Wix zrobiłem następujące:
<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>
Ale wydaje się, że ComponentSearch
szuka składników pakietu (pliki, katalogi), które mają swoje własne identyfikatory, a nie szuka samego opakowania.
Jak mogę to zrobić?
Interesujące, ale nie sądzę, że będę miał czas, aby zagłębić się w działania niestandardowe. Na razie. – Mac