I'm guessing that the locator will be resolved when the first SqlString
in the 2nd component tries to run against it?

I think that is effectively the case

Michael

-----Original Message-----
From: Mike Menaker [mailto:mi...@voicebox.com] 
Sent: Tuesday, 12 April 2011 10:28 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] SqlDatabase install optional and SqlString execute

Ok, thanks.

I guess my question is when the locator is resolved.

The scenario you described is exactly what I have. I just wasn't sure if
the locator would try and resolve itself before the db is created in the
scenario where the db doesn't exist yet.

I'm guessing that the locator will be resolved when the first SqlString
in the 2nd component tries to run against it?

Thanks.

-----Original Message-----
From: Michael Osmond [mailto:mosm...@baytech.com.au] 
Sent: Monday, April 11, 2011 5:13 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] SqlDatabase install optional and SqlString
execute

No unfortunately the cancel is for the whole installer.


Just re-read the original message, and I think you can make your
scenario work.

Have two components and a non component SqlDatabase locator:
- the first component has the SqlDatabase element and SqlString elements
for the MSI to create the database.  Only put the things in here that
matter when the database is created.
- the second component has the SqlString elements to be run when there
is a pre-existing database or when the MSI creates the database - so
anything that is common to both scenarios.   Link each of the SqlString
elements here to the non component SqlDatabase locator.    You can put a
condition on this component so that if you are not creating the database
at all the component is not installed.

Use the sequence number to ensure the order of the scripts is correct -
the sequence number is universal so seq=1 in Component B runs before
seq=2 in Component A.   

The MSI will do the database creation step first before any SqlString
elements are run - it is that smart.

This assumes that both SqlDatabase elements resolve to the same
database.

Hope this helps 

Michael


-----Original Message-----
From: Mike Menaker [mailto:mi...@voicebox.com] 
Sent: Tuesday, 12 April 2011 9:47 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] SqlDatabase install optional and SqlString
execute

The cancel will apply to only the DB creation, not to the whole
installer, right?

-----Original Message-----
From: Michael Osmond [mailto:mosm...@baytech.com.au] 
Sent: Monday, April 11, 2011 3:46 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] SqlDatabase install optional and SqlString
execute

Mike,

 SqlDatabase has an option ConfirmOverwrite, if set to yes the installer
will prompt if it finds a database already created, and allows you to
cancel or continue.   Using this option the installer only needs to deal
with option 1 and you get 2 for free.

If you want to be defensive against the pre-existing database actually
having objects in it, then in one of your SqlStrings check for a
table(s) existing and then use RAISERROR to cause the installer to fail
and complain that the pre-existing database is populated already.  This
can be important in restore scenarios.

Michael

-----Original Message-----
From: Mike Menaker [mailto:mi...@voicebox.com] 
Sent: Tuesday, 12 April 2011 3:24 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] SqlDatabase install optional and SqlString execute

Hi,

 

I want to adjust my installer to have 2 different modes:

 

1.       User wants to create database and then I run a set of SqlString

2.       User uses preexisting database and then I run the same set of
SqlString

 

Right now I have a SqlDatabase element in a component that creates the
db (only when a certain feature is selected).

 

And I have a SqlDatabase element in a feature that is just a locator
(that will be evaluated always).

 

However I'm not sure how to make the non component SqlDatabase locator
not error when the msi is run if we are in db creation mode. Or would it
be execute after the SqlDatabase is created?

 

Also is wix smart enough to only run SqlString elements after a
SqlDatabase is created?

 

Thanks,

Mike

------------------------------------------------------------------------
------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------
------
Forrester Wave Report - Recovery time is now measured in hours and
minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report
as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and
vision.
Read this report now!  http://p.sf.net/sfu/ibm-webcastpromo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------
------
Forrester Wave Report - Recovery time is now measured in hours and
minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report
as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and
vision.
Read this report now!  http://p.sf.net/sfu/ibm-webcastpromo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------
------
Forrester Wave Report - Recovery time is now measured in hours and
minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report
as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and
vision.
Read this report now!  http://p.sf.net/sfu/ibm-webcastpromo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Forrester Wave Report - Recovery time is now measured in hours and minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and vision.
Read this report now!  http://p.sf.net/sfu/ibm-webcastpromo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Forrester Wave Report - Recovery time is now measured in hours and minutes
not days. Key insights are discussed in the 2010 Forrester Wave Report as
part of an in-depth evaluation of disaster recovery service providers.
Forrester found the best-in-class provider in terms of services and vision.
Read this report now!  http://p.sf.net/sfu/ibm-webcastpromo
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to