(Cross posting: http://stackoverflow.com/questions/16108405/wix-bundle-balcondition-utilregi strysearch-variable-always-false)
I want my install to fail if a third party software element is not installed. I added a `Fragment` with a `util:RegistrySearch` and a `bal:Condition` to the `Bundle`, but I can't get it to work. `ThirdPartyCOMLibraryInstalled` never evaluates to true. I've confirmed that the key exists, and the value I use for `Key` is correct - I copy/pasted the name from the selected key in regedit. There are no errors in the log. I'm building the installer with WiXTools 3.7 in VS2012 on Win7 64bit and testing on both WinXP SP3 and Win7 64bit. Searching online for other examples for `util:RegistrySearch` I ran across the following alternative forms for the condition test expression. 1. `ThirdPartyCOMLibraryInstalled = 0` - always False 1. `ThirdPartyCOMLibraryInstalled <> 1` - always True Here is the `Bundle` code: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"> <Bundle Name="!(bind.packageName.MyApp)" Version="!(bind.packageVersion.MyApp)" Manufacturer="!(bind.packageManufacturer.MyApp)" UpgradeCode="a07ce1d5-a7ed-4d89-a7ee-fb13a5dd69ba" Copyright="Copyright (c) 2013 [Bundle/@Manufacturer]. All rights reserved." IconSourceFile="$(var.My_Application1.ProjectDir)MyCo.ico"> <bal:Condition Message="ThirdParty Application COM Library Required. Please (re)install ThirdParty Application and ensure 'Windows API' and '.Net Components' are installed.">ThirdPartyCOMLibraryInstalled</bal:Condition> <Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]MyCo Systems\My_Application\"/> <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkLicense" > <bal:WixStandardBootstrapperApplication ThemeFile="Resources\HyperlinkTheme.xml" LaunchTarget="[InstallFolder]My_Application.exe" LocalizationFile="Resources\HyperlinkTheme.wxl" SuppressRepair="yes" SuppressOptionsUI="yes" LicenseUrl="" LogoFile="Resources/MyCoLogoWt64.png" /> </BootstrapperApplicationRef> <Chain> <PackageGroupRef Id="NetFx40Redist"/> <MsiPackage Id ="MyApp" Vital="yes" Name="My Application" SourceFile="$(var.MyApp_Install.TargetDir)MyApp_Install.msi"> <MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" /> </MsiPackage> </Chain> </Bundle> <Fragment> <util:RegistrySearch Variable="ThirdPartyCOMLibraryInstalled" Result="exists" Root="HKLM" Key="SOFTWARE\Classes\ThirdPartyId.Server\CLSID"/> </Fragment> </Wix> ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users