(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

Reply via email to