I created a new wxs file with a Fragment in it, then I moved my SqlDatabase element over into the Fragment element like this:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:sql="http://schemas.microsoft.com/wix/SqlExtension"> <Fragment> <sql:SqlDatabase Id="DB1" Server="[DBSERVERNAME]" Database="master"> <sql:SqlString Id="RollbackDb" RollbackOnInstall="yes" SQL="DROP DATABASE [\[][DBNAME][\]]" Sequence="1" /> <sql:SqlString Id="InstallDb" ExecuteOnInstall="yes" SQL="CREATE DATABASE [\[][DBNAME][\]] ON (FILENAME=N'[#MDF]') FOR ATTACH" Sequence="2" /> <sql:SqlString Id="CreateUserId" SQL="IF NOT EXISTS ( SELECT * FROM sys.server_principals WHERE name = N'[USERIDVALUE]' ) CREATE LOGIN [USERIDVALUE] WITH PASSWORD='[PWDVALUE]', DEFAULT_DATABASE=[DBNAME], CHECK_POLICY=OFF;USE [DBNAME];IF EXISTS(SELECT name FROM sys.sysusers WHERE name=N'[USERIDVALUE]')DROP USER [USERIDVALUE];CREATE USER [USERIDVALUE];EXEC sp_addrolemember db_owner, [USERIDVALUE];" ExecuteOnInstall="yes" Sequence="3" /> </sql:SqlDatabase> </Fragment> </Wix> Now I have two new questions. First, how do I reference this SqlDatabase element over in the Component element that uses it over in the main wxs file? Second, when I try to compile I get, "SqlString element cannot be specified unless the element has a component as an ancestor." How did you get your SqlStrings to work using a Fragment? Tim -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Rob Mensching Sent: Friday, June 06, 2008 12:46 PM To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Attach a database If you place the SqlDatabase element under a Component element that will attempt to create the database. My SqlDatabase element is a direct child of one of my Fragment elements. It is a little confusing but that causes the SqlDatabase element to search for an existing database. Unfortunate naming a long time ago that hasn't been straightened out. ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users