Nic, what I've been doing is using the sql:sqldatabase as an anchor outside a component with "master" as the target database (since it's guaranteed to be there and any authenticated user is guaranteed to be able to connect to it), then I use the sql:sqlstring to restore the database from a compressed backup. The AdventureWorks sample database installers for 2008 on CodePlex are built this way. We intend to publish the single wix project that builds all the samples installers One of These Days(tm).
Using sql:string this way for your CREATE DATABASE or other statements will allow you to format the strings using whatever variables you want at installation time... The only downside is that sql:sqldatabase does not currently allow "continue on error" behavior if it's not inside a component for some reason... which means that you have to make sure that the instance target is up and running or you won't be able to install (or possibly not uninstall) if you use this approach and the connection can't be made. Hence, I don't use a sql:sqlstring @ uninstall because I don't want to block an uninstall just because they uninstalled SQL Server first... or it's shutdown, etc. A custom action prompts the user to drop the database and executes a sqlcmd from a custom action instead to work around this limitation of sql:sqldatabase. [Yes, I filed a bug on it @ SF.] -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Christopher Karper Sent: Thursday, August 07, 2008 14:40 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Dynamically naming a database during its installation - WiX VERSION 3.0.4318.0 There is not anything built in to Wix right now that will let you use variables in SqlScripts. You can load them into SqlString elements and use the normal [property] syntax. You can build a CA that will do this as well, which is what I did. Good luck! Chris On Thu, Aug 7, 2008 at 5:01 PM, Nic Barden <[EMAIL PROTECTED]> wrote: > Sorry forgot to mention I am running the latest WiX version - 3.0.4318.0. > And SQL 2005 if that makes any difference. > > > > Hi guys, > > > > I am trying to use the SqlDatabase and SqlScript elements to install a > database and run some scripts to generate stored procs and tables etc. > > What I would ideally like is the user to be able to specify the database > name in the setup UI, and then use that within the scripts. > > The SqlDatabase element has a "Database" attribute which specifies the name > of the database to create, so obviously this can be a WiX variable at > runtime. > > However, inside the sql scripts I need to reference the name of the > database > also. I am unsure whether it is possible to pass parameters into the > script > at run time? > > > > How would this task normally be achieved? Do we have to hard code the > database name and then manually change it? :-( > > > > Thanks for your help! > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's > challenge > Build the coolest Linux based applications with Moblin SDK & win great > prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users