Share via


Demonstra Passo a passo: Usando uma ação personalizada para criar um banco de dados na instalação

A instrução a seguir demonstra o uso de uma ação personalizada e o CustomActionDatapropriedade para criar um banco de dados e tabela de banco de dados durante a instalação.

Observação:

Esta explicação passo a passo requer o SQL servidor no computador onde você implantará o aplicativo.

Observação:

As caixas de diálogo e o menu Comandos, consulte pode diferir daqueles descritos i n Ajuda , Dependendo das configurações ativas ou edição.Para alterar as configurações clicar Importar e exportar configurações on the Ferramentas menu.Para obter mais informações, consulte Configurações do Visual Studio.

Observação:

A seguir demon instruções strate como criar uma implantação projeto, usando um projeto Visual Basic; os princípios Geral se aplicam a todos os projetos de linguagem do Visual Studio que oferecem suporte à implantação de aplicativos baseados no baseado no Windows.

Para criar uma classe de instalador

  1. No menu File, clique em New Project.

  2. No Novo projeto caixa de diálogo de de seleçãoProjetos do Visual Basic in the Tipo de projeto painel e, em seguida, selecionar biblioteca de classes in the Modelos painel.No Nome box, type DBCustomAction.

  3. No menu Project, clique em Add New Item.

  4. No Adicionar novo item caixa de diálogo de de seleçãoClasse de instalador.No Nome box, type VbDeployInstaller.vb.

Para criar um objeto de conexão de dados

  1. In Gerenciador de servidores, selecionar Conexões de dados.clicar com o botão direito do mouse e clique em Adicionar conexão.

  2. No escolher a fonte de dados caixa de diálogo de de seleçãoMicrosoft SQL servidor.

  3. Na caixa de diálogo Add Connection, faça o seguinte:

    1. No Nome do servidor lista, digite ou selecionar um nome de servidor.

    2. selecionar Use a autenticação do Windows.

    3. Na caixa banco de dados, digite mestre.

    4. Clique OK para fechar a caixa de diálogo.

  4. From a Dados menu, clicar Adicionar nova fonte de dados e use o Assistente para adicionar a conexão que você estabeleceu nas etapas anteriores.Para verificar se a fonte de dados do projeto, clicar Mostrar fontes de dados on the Dados menu.

Para criar um arquivo de texto que contém uma demonstrativo SQL para criar um banco de dados

  1. In O gerenciador de soluções, selecionar o projeto DBCustomAction.No menu Project, clique em Add New Item.

  2. No Adicionar novo item diálogo, clicar Arquivo de texto.No Nome box, type SQL.txt (deve estar em letras em minúsculas).

  3. Adicione o seguinte ao arquivo sql.txt:

    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];
    
  4. In O gerenciador de soluções, selecionar sql.txt.No Propriedades janela, conjunto o BuildAction propriedade Recursos incorporados.

Para adicionar código à classe do instalador para ler o arquivo de texto

  1. In O gerenciador de soluções, selecionar VbDeployInstaller.vb.Sobre o Modo de exibição menu, clicar Código.

  2. Adicione o seguinte Imports demonstrativo na parte superior do módulo:

    Imports System.IO
    Imports System.Reflection
    Imports System.Data.SqlClient
    
  3. Adicione o seguinte código à VbDeployInstaller classe, após a declaração de MyBase.New:

    Public Class VbDeployInstaller
    
        Dim masterConnection As New System.Data.SqlClient.SqlConnection
    
        Public Sub New()
            MyBase.New()
    
            'This call is required by the Component Designer.
            InitializeComponent()
    
            'Add initialization code after the call to InitializeComponent
    
        End Sub
    
        Private Function GetSql(ByVal Name As String) As String
            Try
    
                ' Gets 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)
    
                ' Reads 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, masterConnection)
    
            ' Initialize the connection, open it, and set it to the "master" database
            masterConnection.ConnectionString = My.Settings.masterConnectionString
            Command.Connection.Open()
            Command.Connection.ChangeDatabase(DatabaseName)
            Try
                Command.ExecuteNonQuery()
            Finally
                ' Closing the connection should be done in a Finally block
                Command.Connection.Close()
            End Try
        End Sub
    
        Protected Sub AddDBTable(ByVal strDBName As String)
            Try
                ' Creates the database.
                ExecuteSql("master", "CREATE DATABASE " + strDBName)
    
                ' Creates the tables.
                ExecuteSql(strDBName, GetSql("sql.txt"))
    
            Catch ex As Exception
                ' Reports 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
    
    End Class
    
  4. Sobre o Compilação menu, clicar Criar DBCustomAction.

Para criar um projeto de implantação

  1. Sobre o Arquivo menu, clicar Adicionare, em seguida, clicar Novo projeto.

  2. No Adicionar novo projeto caixa de diálogo, open the Outros tipos de projeto nó e selecionar O programa de instalação e projetos de implantação in the Tipo de projeto painel.Em seguida, selecionar Projeto de instalação in the Modelos painel.No Nome box, type DBCustomAction_Setup.

  3. No Propriedades janela, selecionar o ProductName propriedade e tipo de Instalador de banco de dados.

  4. No Editor de arquivo do sistema, selecionar o Pasta de aplicativo.Sobre o Ação menu, clicar Adicionare, em seguida, clicar Saída do projeto.

  5. No Adicionar Project Output agrupar caixa de diálogo de de seleçãoSaída principal for the DBCustomActionprojeto .

Para criar uma caixa de diálogo Instalação personalizada

  1. selecionar o DBCustomAction_Setup projeto em O gerenciador de soluções.Sobre o Modo de exibição , aponte para Editore clicar Interface do usuário.

  2. No Editor de interface do usuário, selecionar o IniciarInstalar.Sobre o Ação menu, clicar Caixa de diálogo Adicionar.

  3. No Caixa de diálogo Adicionar diálogo, selecionar o Caixas de texto (A) diálogo caixa e, em seguida, clicar OK.

  4. Sobre o Ação menu, clicar Mover para cima.Repetir até que o Caixas de texto (A) caixa de diálogo está acima de Pasta de instalação nó.

  5. No Propriedades janela, selecionar o BannerTextpropriedade e especifique o nome do banco de dados do tipo.

  6. selecionar o Exigidas propriedade e tipo esta caixa de diálogo permite que você especifique o nome do banco de dados a ser criado no servidor de banco de dados.

  7. selecionar o Edit1Label propriedade e tipo de nome de banco de dados:.

  8. selecionar o Edit1Property propriedade e tipo de CUSTOMTEXTA1.

  9. selecionar o Edit2Visible, Edit3Visible, and Edit4Visible propriedades e defina-os para False.

Para criar uma ação personalizada

  1. selecionar o DBCustomAction_Setup projeto em O gerenciador de soluções.Sobre o Modo de exibição , aponte para Editore, em seguida, clicar Ações personalizadas.

  2. No Editor de ações personalizadas, selecionar o Instalar nó.Sobre o Ação menu, clicar Adicionar ação personalizada.

  3. No selecionar item no projeto diálogo caixa, clicar duas vezes o Pasta de aplicativo.

  4. selecionar Saída primária do DBCustomAction (ativo), em seguida, clicar OK para fechar a caixa de diálogo.

  5. Certifique-se de que Saída primária do DBCustomAction (ativo) item é selecionado no Editor de ações personalizadas.No Propriedades janela, selecionar o CustomActionData propriedade e tipo de /dbname = [CUSTOMTEXTA1.

  6. Sobre o Compilação menu, clicar Criar DBCustomAction_Setup.

Para instalar o aplicativo no computador de desenvolvimento

  • selecionar o DBCustomAction_Setup projeto em O gerenciador de soluções.Sobre o Projeto menu, clicar Instalar.

    Isso será executado o instalador em seu computador de desenvolvimento.

    Observação:

    Você deve instalar l permissões no computador para executar o instalador.

Para implantar o aplicativo para outro computador

  1. In Windows Explorer, navegar para o diretório de projeto e localize o instalador integrado.O caminho padrão será \documents and settings\ yourloginname\DBCustomAction_Setup\ configuração de projeto \ DBCustomAction_Setup.msi.O padrão de configuração de projeto é depurar.

  2. Copie DBCustomAction_Setup.msi e todos os outros arquivos e subdiretórios no diretório para outro computador.

    Observação:

    Para instalar o aplicativo em um computador que não está no uma rede, copie sistema autônomo arquivos para mídia tradicional, sistema autônomo CD-ROM.

    No computador de destino, clicar duas vezes no arquivo Setup.exe para executar o instalador.

    Observação:

    Você deve ter as permissões de instalar no computador para executar o instalador.

Para desinstalar o aplicativo

  1. No Windows Painel de controle, clicar duas vezes em Adicionar ou remover programas.

  2. No Adicionar ou remover programas caixa de diálogo de de seleçãoDBCustomAction_Setup, clicar Removere, em seguida, clicar OK para fechar a caixa de diálogo.

    Dica:

    Para desinstalar o o aplicativo do seu developm ENT computador diante de Projeto menu, clicar Desinstalar o.

Consulte também

Conceitos

Erro Handling in Custom Actions

Referência

Propriedade CustomActionData

Outros recursos

Gerenciamento de ações personalizadas no implantação