Hi David,

thanks for your advise. Now I'm dropping database instead of detaching and
it works according to my ideas.
I'm newbie in Wix, so I'm only discovering magics of this beautiful
technology ;)



David Reed (SQL) wrote:
> 
> I'm a little confused on the desired outcome. You're detaching the
> database on uninstall, instead of dropping it (which would delete the
> files)... You're also trying to drop the database elsewhere while the
> connection context is mapped to the database you're trying to drop, which
> won't work (you need to USE another database before you try to drop it).
> 
> 
> 
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of silence8212
> Sent: Thursday, August 14, 2008 10:05
> To: wix-users@lists.sourceforge.net
> Subject: Re: [WiX-users] Attach a database
> 
> 
> Hi Tim,
> 
> thanks for a code example, I allowed to use this example in my scenario
> and
> it works perfect, but it doesn't delete database files and directory when
> uninstall. I want to delete database files after uninstall. This is code:
> 
> ...
> <Directory Id="Data" Name="Data">
>         <Component Id="DemoDbComponent"
> Guid="c57c91e1-d185-49c1-91f9-fc41a26298a3">
>                 <CreateFolder>
>                         <Permission User="Administrators" GenericAll="yes"
> />
>                         <Permission User="NT AUTHORITY\NetworkService"
> GenericAll="yes" />
>                         <Permission User="Everyone" GenericAll="yes" />
>                 </CreateFolder>
>                 <File Id="DemoMDF" Name="Demo.mdf" Source="Demo.mdf"
> KeyPath="yes"/>
>                 <sql:SqlString Sequence="1" SqlDb="DB1" 
> ExecuteOnUninstall="yes"
> Id="DropUserId" SQL="USE [\[][DBNAME][\]];DROP LOGIN
>                         [USERIDVALUE];DROP USER [USERIDVALUE]"
> ContinueOnError="no"/>
>                 <sql:SqlString Sequence="2" SqlDb="DB1" 
> ExecuteOnUninstall="yes"
> Id="DetachDb" SQL="sp_detach_db [\[][DBNAME][\]], true, false"
> ContinueOnError="yes"/>
>                 <sql:SqlString Sequence="3" SqlDb="DB1" 
> RollbackOnInstall="yes"
> Id="RollbackDb" SQL="USE [\[][DBNAME][\]];DROP LOGIN
>                         [USERIDVALUE];DROP USER [USERIDVALUE];DROP
> DATABASE [\[][DBNAME][\]]"
> ContinueOnError="no"/>
>                 <sql:SqlString Sequence="4" SqlDb="DB1" 
> ExecuteOnInstall="yes"
> Id="AttachDb" SQL="CREATE DATABASE [\[][DBNAME][\]] ON
>                         (FILENAME=N'[#DemoMDF]') FOR ATTACH"
> ContinueOnError="no"/>
>                 <sql:SqlString Sequence="5" SqlDb="DB1" 
> ExecuteOnInstall="yes"
> 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];"
> ContinueOnError="no"/>
>         </Component>
> </Directory>
> ...
> <Fragment>
>         <sql:SqlDatabase Id="DB1" Database="master" Server='[SQLSERVER]'
>></sql:SqlDatabase>
> </Fragment>
> ...
> 
> When I uninstall, everything(files, directories) is deleted, but this one
> directory(Data) and database files(demo.mdf/ldf) are not deleted. In the
> msi
> uninstall log are no information, which can help me find out, why this
> files
> are not deleted.
> 
> thanks
> 
> 
> 
> 
> 
> Tim Fisher wrote:
>>
>> Yes, you're right it does. Ok, your suggestions worked. Now my SQL
>> scripts run correctly. Thank you!
>>
>> One thing to note is that if I tried to use ExecuteOnInstall in the
>> same element with a RollbackOnUninstall, then it doesn't get executed
>> at all (undocumented).
>>
>> Anyway I have a new problem, during uninstall. Is there a way to
>> install these files normally, but leave them alone on uninstall?
>> (Since they may now contain user data.)
>>
>> Here's my code now:
>>
>> <Directory Id="DbDataDir" Name="DATA">
>>       <Component Id="CmpntBaselineDb"
>> Guid="c57c91e1-d185-49c1-91f9-fc41a26298a3">
>>               <File Id="MDF" Name="Baseline.mdf" Source="Baseline.mdf"
>> KeyPath="yes"
>> />
>>               <File Id="LDF" Name="Baseline_log.ldf"
>> Source="Baseline_log.ldf" />
>>               <sql:SqlString Sequence="1" SqlDb="DB1"
>> ExecuteOnUninstall="yes"
>> Id="DropUserId" SQL="USE [\[][DBNAME][\]];DROP LOGIN
>> [USERIDVALUE];DROP USER [USERIDVALUE]" ContinueOnError ="yes" />
>>               <sql:SqlString Sequence="2" SqlDb="DB1"
>> ExecuteOnUninstall="yes"
>> Id="DetachDb" SQL="sp_detach_db [\[][DBNAME][\]], true, false"
>> ContinueOnError="yes" />
>>               <sql:SqlString Sequence="3" SqlDb="DB1"
>> RollbackOnInstall="yes"
>> Id="RollbackDb" SQL="USE [\[][DBNAME][\]];DROP LOGIN
>> [USERIDVALUE];DROP USER [USERIDVALUE];DROP DATABASE [\[][DBNAME][\]]"
>> ContinueOnError="yes" />
>>               <sql:SqlString Sequence="4" SqlDb="DB1"
>> ExecuteOnInstall="yes"
>> Id="AttachDb" SQL="CREATE DATABASE [\[][DBNAME][\]] ON
>> (FILENAME=N'[#MDF]') FOR ATTACH" ContinueOnError="yes" />
>>               <sql:SqlString Sequence="5" SqlDb="DB1"
>> ExecuteOnInstall="yes"
>> 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];"
>> ContinueOnError="yes" />
>>       </Component>
>> </Directory>
>>
>> Tim
>>
>> On Fri, Jun 13, 2008 at 2:55 PM, Rob Mensching
>> <[EMAIL PROTECTED]> wrote:
>>> We're working on getting the WiX v3 documentation up there.  However,
>>> every download of the WiX toolset includes an up to date (as much as we
>>> have it) version of the WiX.chm.  That should contain all the
>>> information...
>>>
>>
>> -------------------------------------------------------------------------
>> 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
>>
>>
> 
> --
> View this message in context:
> http://n2.nabble.com/Attach-a-database-tp712370p724565.html
> Sent from the wix-users mailing list archive at Nabble.com.
> 
> 
> -------------------------------------------------------------------------
> 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
> 
> 

-- 
View this message in context: 
http://n2.nabble.com/Attach-a-database-tp712370p725956.html
Sent from the wix-users mailing list archive at Nabble.com.


-------------------------------------------------------------------------
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

Reply via email to