At the top of the Fragment: <SqlDatabase Id="LocalMasterDB" Server="(local)" Database="master" />
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tim Fisher Sent: Thursday, June 05, 2008 16:53 To: General discussion for Windows Installer XML toolset. Subject: Re: [WiX-users] Attach a database Can you show the definition for your LocalMasterDB element? Tim On Thu, Jun 5, 2008 at 1:35 PM, Rob Mensching <[EMAIL PROTECTED]> wrote: > I have something that looks a lot like this (in WiX v2): > > > <File Id="Baseline.mdf" Name="$(var.ShortPrefix).mdf" > LongName="$(var.LongDBName)_data.mdf" > Source="SourceDir\$(var.LongDBName)Baseline.mdf" /> > <File Id="Baseline.ldf" Name="$(var.ShortPrefix).ldf" > LongName="$(var.LongDBName)_log.ldf" > Source="SourceDir\$(var.LongDBName)Baseline.ldf" /> > > <RemoveFile Id="CleanupDb" > Directory="$(var.PublicLongDBName)_FOLDER" Name="$(var.ShortPrefix)*.*" > LongName="$(var.LongDBName)*.*" On="uninstall" /> > > <SqlString Id="RollbackDropRoleMember" > SqlDb="LocalMasterDB" RollbackOnUninstall="yes" Sequence="1" > SQL="EXEC > $(var.LongDBName).dbo.sp_addrolemember 'db_owner', '$(var.ServiceAccount)'" /> > <SqlString Id="DropRoleMember" SqlDb="LocalMasterDB" > ExecuteOnUninstall="yes" Sequence="2" ContinueOnError="yes" > SQL="EXEC > $(var.LongDBName).dbo.sp_droprolemember 'db_owner', '$(var.ServiceAccount)'" > /> > > <SqlString Id="RollbackDropLoginPermissions" > SqlDb="LocalMasterDB" RollbackOnUninstall="yes" Sequence="3" > SQL="EXEC master.dbo.sp_grantlogin > '$(var.ServiceAccount)'" /> > <SqlString Id="DropLoginPermissions" SqlDb="LocalMasterDB" > ExecuteOnUninstall="yes" Sequence="4" ContinueOnError="yes" > SQL="EXEC master.dbo.sp_droplogin > '$(var.ServiceAccount)'" /> > > <SqlString Id="RollbackDetach" SqlDb="LocalMasterDB" > RollbackOnUninstall="yes" ContinueOnError="yes" Sequence="5" > SQL="CREATE DATABASE $(var.LongDBName) ON > (FILENAME=N'[#Baseline.mdf]'), (FILENAME=N'[#Baseline.ldf]') FOR ATTACH" /> > <SqlString Id="OfflineDatabase" SqlDb="LocalMasterDB" > ExecuteOnUninstall="yes" ContinueOnError="yes" Sequence="6" > SQL="ALTER DATABASE $(var.LongDBName) SET > OFFLINE WITH ROLLBACK IMMEDIATE" /> > <SqlString Id="Detach" SqlDb="LocalMasterDB" > ExecuteOnUninstall="yes" ContinueOnError="yes" Sequence="7" > SQL="EXEC sp_detach_db > @dbname='$(var.LongDBName)', @skipchecks='true'" /> > > <SqlString Id="Attach" SqlDb="LocalMasterDB" > ExecuteOnInstall="yes" Sequence="8" > SQL="CREATE DATABASE $(var.LongDBName) ON > (FILENAME=N'[#Baseline.mdf]'), (FILENAME=N'[#Baseline.ldf]') FOR ATTACH" /> > <SqlString Id="RollbackAttach" SqlDb="LocalMasterDB" > RollbackOnInstall="yes" ContinueOnError="yes" Sequence="9" > SQL="EXEC sp_detach_db > @dbname='$(var.LongDBName)', @skipchecks='true'" /> > > <SqlString Id="RollbackGrantLoginPermissions" > SqlDb="LocalMasterDB" RollbackOnInstall="yes" Sequence="10" > ContinueOnError="yes" > SQL="EXEC master.dbo.sp_droplogin > '$(var.ServiceAccount)'" /> > <SqlString Id="GrantLoginPermissions" > SqlDb="LocalMasterDB" ExecuteOnInstall="yes" Sequence="11" > SQL="IF NOT EXISTS (SELECT * FROM > sys.server_principals WHERE name = N'$(var.ServiceAccount)') EXEC > master.dbo.sp_grantlogin '$(var.ServiceAccount)'; USE $(var.LongDBName); IF > EXISTS(SELECT name FROM sys.sysusers WHERE name=N'$(var.ServiceAccount)') > EXEC $(var.LongDBName).dbo.sp_dropuser '$(var.ServiceAccount)'; EXEC > $(var.LongDBName).dbo.sp_grantdbaccess '$(var.ServiceAccount)'; IF > EXISTS(SELECT name FROM sys.sysusers WHERE name=N'ms') EXEC > $(var.LongDBName).dbo.sp_dropuser 'ms'; EXEC > $(var.LongDBName).dbo.sp_grantdbaccess 'ms'" /> > > <SqlString Id="RollbackAddRoleMember" > SqlDb="LocalMasterDB" RollbackOnInstall="yes" Sequence="12" > ContinueOnError="yes" > SQL="EXEC > $(var.LongDBName).dbo.sp_droprolemember 'db_owner', '$(var.ServiceAccount)'" > /> > > > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Tim Fisher > Sent: Thursday, June 05, 2008 08:58 > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Attach a database > > I'm using WiX 3.0.4130.0 and I'm trying to figure out how to attach a > database. I'm getting a runtime error using this method: > > <Component Id="Component2" Guid="c57c91e1-d185-49c1-91f9-fc41a26298a3"> > <File Id="MDF" Name="MyDb.mdf" Source="MyDb.mdf" KeyPath="yes" > /> > <File Id="LDF" Name="MyDb_log.ldf" Source="MyDb_log.ldf" /> > <sql:SqlDatabase Id="DB1" Server="[DBSERVERNAME]" > Database="[DBNAME]" DropOnUninstall="yes"> > <sql:SqlString Id="SqlCmd1" ExecuteOnInstall="yes" > SQL="CREATE > DATABASE [\[][DBNAME][\]] ON (FILENAME=N'[#MDF]') FOR ATTACH" /> > </sql:SqlDatabase> > </Component> > > The log file looks good, but the error looks like it's trying to > access the database before it's been created or something. > > What am I doing wrong? > > Tim > > ------------------------------------------------------------------------- > 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 > > ------------------------------------------------------------------------- > 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 > ------------------------------------------------------------------------- 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 ------------------------------------------------------------------------- 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