In my bootstrapper I have this:

<Chain>
      <ExePackage Id="SQLExpressx86"
                  DisplayName="Microsoft(r) SQL Server(r) 2012 - Express 
Edition x86"
                  SourceFile="..\..\PreReqs\SQLEXPR_x86_ENU.exe"
                  InstallCommand="/ACTION=install"
                  InstallCondition="(Not SQLServer2008Installed AND Not 
SQLServer2008x64Installed AND Not SQLServer2012Installed AND Not 
SQLServer2012x64Installed AND Not SQLServerExpressInstalled AND Not 
SQLServerExpressx64Installed) AND Not VersionNT64"

                  Permanent="yes"/>

      <ExePackage Id="SQLExpressx64"
                  DisplayName="Microsoft(r) SQL Server(r) 2012 - Express 
Edition x64"
                  SourceFile="..\..\PreReqs\SQLEXPR_x64_ENU.exe"
                  InstallCommand="/ACTION=install"
                  InstallCondition="(Not SQLServer2008Installed AND Not 
SQLServer2008x64Installed AND Not SQLServer2012Installed AND Not 
SQLServer2012x64Installed AND Not SQLServerExpressInstalled AND Not 
SQLServerExpressx64Installed) AND VersionNT64"
                  Permanent="yes"/>



<Fragment Id="InstallConditionChecks">
    <!-- Check for SQL Server Express -->
    <util:RegistrySearch
          Id="SQLServerExpressSearch"
          Key="SOFTWARE\Microsoft\Microsoft Sql 
Server\SQLEXPRESS\MSSQLServer\CurrentVersion"
          Value="CurrentVersion"
          Root="HKLM"
          Result="value"
          Variable="SQLServerExpressInstalled"/>
    <util:RegistrySearch
          Id="SQLServerExpressx64Search"
          Key="SOFTWARE\Microsoft\Microsoft Sql 
Server\SQLEXPRESS\MSSQLServer\CurrentVersion"
          Value="CurrentVersion"
          Root="HKLM"
          Result="value"
          Win64="yes"
          Variable="SQLServerExpressx64Installed"/>

    <!-- Check for Microsoft SQL Server 2008 -->
    <util:RegistrySearch
          Id="SQLServer2008Search"
          Key="SOFTWARE\Microsoft\Microsoft Sql 
Server\MSSQL10_50.MSSQLSERVER\MSSQLServer\CurrentVersion"
          Value="CurrentVersion"
          Root="HKLM"
          Result="value"
          Variable="SQLServer2008Installed"/>
    <util:RegistrySearch
          Id="SQLServer2008x64Search"
          Key="SOFTWARE\Microsoft\Microsoft Sql 
Server\MSSQL10_50.MSSQLSERVER\MSSQLServer\CurrentVersion"
          Value="CurrentVersion"
          Root="HKLM"
          Result="value"
          Win64="yes"
          Variable="SQLServer2008x64Installed"/>

    <!-- Check for Microsoft SQL Server 2012 -->
    <util:RegistrySearch
          Id="SQLServer2012Search"
          Key="SOFTWARE\Microsoft\Microsoft Sql 
Server\MSSQL11.MSSQLSERVER\MSSQLServer\CurrentVersion"
          Value="CurrentVersion"
          Root="HKLM"
          Result="value"
          Variable="SQLServer2012Installed"/>
    <util:RegistrySearch
          Id="SQLServer2012x64Search"
          Key="SOFTWARE\Microsoft\Microsoft Sql 
Server\MSSQL11.MSSQLSERVER\MSSQLServer\CurrentVersion"
          Value="CurrentVersion"
          Root="HKLM"
          Result="value"
          Win64="yes"
          Variable="SQLServer2012x64Installed"/>


-----Original Message-----
From: Chad McCune [mailto:c...@selerix.com] 
Sent: November-14-12 10:59 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Help?

I'm new to WiX, started playing with it last week.  

 

Our current software installer works, but has issues.  We are going to be 
moving to VS2012 soon, and the MS Setup Project is no longer available, so I 
was going to take this opportunity to update and improve it.

 

Scenario: Like most software, we have pre-requisites.  We require .NET 
Framework for one.  We currently also depend on a SQL Server Express instance 
to be installed and configured. We're also investingating using the new 
SqlLocalDB option from 2012 for users using a supported OS.

 

I've got my basic installer created (product.wxs) and it checks for the 
prerequisite of .NET.  This basic MSI works fine.

 

I've got a basic Bootstrapper project setup that will install .NET and then my 
MSI.  This basic bootsrapper works fine.

 

Where I've ran into a huge roadblock, is how to conditionally install SQL.  

 

I only want to install SQL if the instance is not already installed, or for 
some reason, the service won't start (ie. the user ran the desktop cleanup 
wizard that compressed their program files).  This is also where I'm trying to 
decide between using SQL Express and SQLLocalDB.

 

To do this, do I have to create a custom BA?  Can I use a wix extension instead?

 

I've tried both, but I think the extension was not the right way to go.
However, screwing around with the BA, I can get it to compile and my BA
starts, but it just seems to hang.   

 

 

       public class CustomBA : BootstrapperApplication

    {

              protected override void Run()

              {

                     this.Engine.Log( LogLevel.Verbose, "Running the CustomBA." 
);

                     Threading.Dispatcher.Run();

 

                     MessageBox.Show( "Dispatcher Run has finished." );

                     

                     this.Engine.Quit( 0 );

              

              }

    }

 

I see the entry "Running the CustomBA" in my log file, but nothing else after 
that.

 

What all do I have to do to create my own BA?  Do I have to completely recreate 
the entire UI experience? 

 

Short version, I just want to create some custom conditionals that I can use in 
my "DetectCondition" attribute, ie. <ExePackage blablabla 
DetectCondition="IDONTHAVESQL" />.  What is the "best" way to accomplish this.

 

Please Help! J

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single web 
console. Get in-depth insight into apps, servers, databases, vmware, SAP, cloud 
infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to