[wix-users] 2 features installer with validation

Eric Stott eric at stottcreations.com
Fri Mar 4 12:35:43 PST 2016


We created something similar
Present features to install based on the items found in the registry

   - SSMS (SQL 2012 or  SQL 2014)
   - IIS
   - BizTalk
   - Visual Studio

example for IIS and SQL:

<Property Id="IISMAJORVERSION"  >
      <RegistrySearch Id="_F8081BA1_38BB_48FE_8544_2BF44C25084D"
Root="HKLM" Key="SYSTEM\CurrentControlSet\Services\W3SVC\Parameters"
Name="MajorVersion" Type="raw" />
</Property>

<Property Id="SSMS2012INSTALL" Secure="yes">
      <RegistrySearch Id="D473AC6F_C26E_4D10_8D82_37D0B761BD44" Type="raw"
Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\110\Tools\Setup"
Name="SQLPath" />
</Property>
<Property Id="SSMS2014INSTALL" Secure="yes">
      <RegistrySearch Id="F8A51A58_B80B_462C_BCD9_69A1E66F306C" Type="raw"
Root="HKLM" Key="SOFTWARE\Microsoft\Microsoft SQL Server\120\Tools\Setup"
Name="SQLPath" />
</Property>

and then in our feature tree the features show up based on the presence of
the items being in the registry

<Feature Id="Portal" Title="Portal" Level="1" Description="Installs the
Portal components" ConfigurableDirectory="RUNTIMEDIR"
 TypicalDefault="install" InstallDefault="followParent">
  <ComponentRef Id="PortalSettings"/>
  <ComponentGroupRef Id="ESBConfig"/>
  <ComponentGroupRef Id="IISWebComponents"/>
  <MergeRef Id="ServiceWCFMM"/>
  <ComponentGroupRef Id="WCFConfig"/>
  <MergeRef Id="WebMVCMM"/>
  <ComponentGroupRef Id="MVCConfig"/>
  <ComponentGroupRef Id="Resubmission"/>
  <Feature Id="RedisServer" Title="Redis Server" Level="1"
Description="Installs the Redis Server service"
ConfigurableDirectory="RUNTIMEDIR"  TypicalDefault="install"
InstallDefault="followParent">
    <ComponentGroupRef Id="RedisCG"/>
  </Feature>
  <Condition Level="0">IISMAJORVERSION=""</Condition>
</Feature>
<Feature Id="SQLServer" Title="SQL Server" Level="1" Description="Installs
the SQL Server components, including the Cache Loader"
ConfigurableDirectory="RUNTIMEDIR">
  <ComponentRef Id="SQLSettings"/>
  <ComponentGroupRef Id="SQLComponents" />
  <ComponentGroupRef Id="CacheDataLoaderCG"/>
  <ComponentGroupRef Id="CacheLoaderConfig"/>
  <Condition Level="0">(SSMS2012INSTALL="") AND
(SSMS2014INSTALL="")</Condition>
</Feature>

Eric Stott
(623) 261-7208
http://stottcreations.com
"We are what we repeatedly do. Excellence, therefore, is not an act, but a
habit." - Aristotle


On Fri, Mar 4, 2016 at 1:03 PM, Lavoie, Sylvain <Sylvain.Lavoie at mckesson.com
> wrote:

> Hi there,
>
> I have a simple installer to change.
> The installer install a web site and a database.
> In the first version, everything was installed on the same computer .
> Now I have to update the installer with 2 features
>
> -          Website
>
> -          Database
> This is to allow installation of the website only on one computer and the
> database on a separate server.
> In the first version I had Launch Condition to check if IIS was installed
> and if the Windows Authentication and Url authorization was installed.
>
> Now, since I can install only the DB, I want to do the check for IIS only
> if the feature is selected.
>
> What is the best way to do that?
>
> -          From the UI on the next  btn?
>
> -          With a Custom Action
>
> o   What is the best place to schedule it?
>
> Thanks
>
>
> ____________________________________________________________________
> WiX Toolset Users Mailing List provided by FireGiant
> http://www.firegiant.com/
>


More information about the wix-users mailing list