-----------------------------------------------------------
New Message on MumbaiUserGroup
-----------------------------------------------------------
From: Yesu
Message 3 in Discussion
Hi
Manish,
yes
you can create Database using setup project
Please
check the url in MSDN, if u have installed in ur machine
ms-help://MS.VSCC/MS.MSDNVS/vsintro7/html/vxwlkWalkthroughUsingCustomActionToCreateDatabaseDuringInstallation.htm
or
check this
Hope
it will help u
Regards
yesu
The following walkthrough demonstrates the use of a custom action and the
CustomActionData property to create a database and database table
during installation.
To create an installer class
On the File menu, point to New, and then choose
Project.
In the New Project dialog box, select Visual Basic
Projects in the Project Type pane, and then choose Class
Library in the Templates pane. In the Name box, type
DBCustomAction.
On the Project menu, choose Add New Item.
In the Add New Item dialog box, choose Installer Class. In
the Name box, type DBCustomAction.
To create a data connection object
In Server Explorer, select Data Connections. Right-click and
choose Add Connection.
In the Data Link Properties dialog box, enter the server name,
user name, and password values that are valid for your SQL Server
configuration. In the database box, type master. Check the Allow
saving password check box.
Drag the new connection and drop it on the DBCustomAction.vb
designer to create a sqlConnection1 object.
To create a text file that contains a SQL statement to
create a database
In Solution Explorer, select the DBCustomAction project. On the
Project menu, choose Add New Item.
In the Add New Item dialog box, choose Text File. In the
Name box, type sql.txt (must be in lower case).
Add the following to the sql.txt file: CREATE TABLE [dbo].[Employees] (
[Name] [char] (30) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Rsvp] [int] NULL ,
[Requests] [nvarchar] (4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY];
ALTER TABLE [dbo].[Employees] WITH NOCHECK ADD
CONSTRAINT [PK_Employees] PRIMARY KEY CLUSTERED
(
[Name]
) ON [PRIMARY];
In Solution Explorer, select sql.txt. In the Properties window,
set the BuildAction property to Embedded Resource.
To add code to the installer class to read the text
file
In Solution Explorer, select DBCustomAction.vb. On the View
menu, choose Code.
Add the following Imports statement at the top of the module: Imports System.IO
Imports System.Reflection
Add the following code to the class: Private Function GetSql(ByVal Name As
String) As String
Try
' Get the current assembly.
Dim Asm As [Assembly] = [Assembly].GetExecutingAssembly()
' Resources are named using a fully qualified name.
Dim strm As Stream = Asm.GetManifestResourceStream(Asm.GetName().Name + "." +
Name)
' Read the contents of the embedded file.
Dim reader As StreamReader = New StreamReader(strm)
Return reader.ReadToEnd()
Catch ex As Exception
MsgBox("In GetSQL: " & ex.Message)
Throw ex
End Try
End Function
Private Sub ExecuteSql(ByVal DatabaseName As String, ByVal Sql As String)
Dim Command As New SqlClient.SqlCommand(Sql, sqlConnection1)
Command.Connection.Open()
Command.Connection.ChangeDatabase(DatabaseName)
Try
Command.ExecuteNonQuery()
Finally
' Finally, blocks are a great way to ensure that the connection
' is always closed.
Command.Connection.Close()
End Try
End Sub
Protected Sub AddDBTable(ByVal strDBName As String)
Try
' Create the database.
ExecuteSql("master", "CREATE DATABASE " + strDBName)
' Create the tables.
ExecuteSql(strDBName, GetSql("sql.txt"))
Catch ex As Exception
' Report any errors and abort.
MsgBox("In exception handler: " & ex.Message)
Throw ex
End Try
End Sub
Public Overrides Sub Install(ByVal stateSaver As System.Collections.IDictionary)
MyBase.Install(stateSaver)
AddDBTable(Me.Context.Parameters.Item("dbname"))
End Sub
On the Build menu, choose Build DBCustomAction.
To create a deployment project
On the File menu, choose Add Project, New Project.
In the Add Project dialog box, select Setup and Deployment
Projects in the Project Type pane, and then choose Setup
Project in the Templates pane. In the Name box, type
DBCustomAction Installer.
In the Properties window, select the ProductName property and
type DB Installer.
In the File System Editor, select the Application Folder. On the
Action menu, choose Add, Project Output.
In the Add Project Output Group dialog box, select the primary
output for the DBCustomAction project.
To create a custom installation dialog
Select the DBCustomAction Installer project in Solution Explorer.
On the View menu, point to Editor, and choose User
Interface.
In the User Interface Editor, select the Start node under
Install. On the Action menu, choose Add Dialog.
In the Add Dialog dialog box, select the Textboxes (A)
dialog.
On the Action menu, choose Move Up. Repeat until the
Textboxes (A) dialog is above the Installation Folder node.
In the Properties window, select the BannerText property and type
Specify Database Name.
Select the BodyText property and type This dialog allows you
to specify the name of the database to be created on the database
server.
Select the Edit1Label property and type Name of DB:.
Select the Edit1Property property and type CUSTOMTEXTA1.
Select the Edit2Visible, Edit3Visible, and
Edit4Visible properties and set them to false.
To create a custom action
Select the DBCustomAction Installer project in Solution Explorer.
On the View menu, point to Editor, and choose Custom
Actions.
In the Custom Actions Editor, select the Install node. On the
Action menu, choose Add Custom Action.
In the Select item in project dialog box, double-click the
Application Folder.
Select the Primary output from DBCustomAction(Active) item.
In the Properties window, select the CustomActionData property
and type /dbname=[CUSTOMTEXTA1].
On the Build menu, choose Build DBCustomActionInstaller.
To install on your development computer
Select the DBCustomAction Installer project in Solution Explorer.
On the Project menu, choose Install.
This will run the installer on your development computer.
To deploy to another computer
In Windows Explorer, navigate to your project directory and find the
built installer. The default path will be \documents and
settings\yourloginname\DBCustomAction Installer\project
configuration\DBCustomAction Installer.msi. The default project
configuration is Debug.
Copy the DBCustomAction Installer.msi file and all other files and
subdirectories in the directory to another computer.
Note To install
on a computer that is not on a network, copy the files to traditional
media such as CD-ROM.
On the target computer, double-click the Setup.exe file to run the
installer.
To uninstall the application
In the Windows Control Panel, double-click Add/Remove Programs.
In the Add/Remove Programs dialog box, select DBCustomAction
Installer and click Remove.
Tip To
uninstall from your development computer, on the Project menu,
choose Uninstall.
See Also
Custom
Actions Management in Deployment | CustomActionData
Property | <MSHelp:link tabIndex=0
keywords="vboriADONETConnections">Connecting to Data Sources with
ADO.NET</MSHelp:link> | Error
Handling in Custom Actions
Send
feedback to Microsoft
-----------------------------------------------------------
To stop getting this e-mail, or change how often it arrives, go to your E-mail
Settings.
http://groups.msn.com/MumbaiUserGroup/_emailsettings.msnw
Need help? If you've forgotten your password, please go to Passport Member Services.
http://groups.msn.com/_passportredir.msnw?ppmprop=help
For other questions or feedback, go to our Contact Us page.
http://groups.msn.com/contact
If you do not want to receive future e-mail from this MSN group, or if you received
this message by mistake, please click the "Remove" link below. On the pre-addressed
e-mail message that opens, simply click "Send". Your e-mail address will be deleted
from this group's mailing list.
mailto:[EMAIL PROTECTED]