İzlenecek Yol: Yüklemede Bir Veritabanı Oluşturmak için Özel Eylem Kullanma
Aşağıdaki yönergeler, özel bir eylemin kullanımını ve yükleme sırasında veritabanı ile veritabanı tablosu oluşturmak için CustomActionData özelliğini gösterir.
Not
Bu yönergeler uygulamayı dağıtacağınız bilgisayar üzerinde SQL Sunucu gerektirir.
Not
Bilgisayarınız, aşağıdaki yönergelerde yer alan Visual Studio kullanıcı arabirimi öğelerinden bazıları için farklı adlar veya konumlar gösterebilir. Bu öğeleri bilgisayarınızdaki Visual Studio sürümü ve kullandığınız ayarlar belirler. Daha fazla bilgi için bkz: Visual Studio Ayarlar.
Not
Aşağıdaki yönergeler bir Visual Basic projesi kullanarak nasıl bir dağıtım projesi oluşturacağınızı gösterir; ortak ilkeler Windows tabanlı uygulamaların dağıtımını destekleyen tüm Visual Studio dili projeler için geçerlidir.
Yükleyici sınıfı oluşturmak için
Dosya menüsünden Yeni Proje'yi tıklayın.
Yeni proje iletişim kutusunda, Proje Türü bölmesinde Visual Basic Projeleri'ni seçin ve sonra Şablonlar bölmesinde Sınıf Kitaplığı'nı seçin. İsim kutusuna, DBCustomAction yazın.
Proje menüsünde, Yeni Öğe Ekle'yi tıklayın.
Yeni Öğe Ekle iletişim kutusunda, Yükleyici Sınıfı'nı seçin. İsim kutusuna VbDeployInstaller.vb yazın.
Bir veri bağlantı nesnesi oluşturmak için
Sunucu Gezgini'nde, Veri Bağlantıları'nı seçin. Sağ tıklayın ve Bağlantı Ekle'yi tıklayın.
Veri Kaynağını Seç iletişim kutusunda, Microsoft SQL Server'ı seçin.
Bağlantı Ekle iletişim kutusunda, aşağıdakileri yapın:
Sunucu adı listesinde, bir sunucu ismi yazın veya seçin.
Windows Kimlik Doğrulamasını Kullan'ı seçin.
Veritabanı kutusuna master yazın.
İletişim kutusunu kapatmak için Tamam’ı tıklayın.
Veri menüsünden, Yeni Veri Kaynağı Ekle'yi tıklayın ve sonra önceki adımlarda kurulan bağlantıyı eklemek için sihirbazı kullanın. Projede bulunan veri kaynağını doğrulamak için, Veri menüsünde Veri Kaynaklarını Göster'i tıklayın.
Bir veritabanı oluşturmak üzere SQL deyimi içeren bir metin dosyası oluşturmak için
Çözüm Gezgini içinde, DBCustomAction projesini seçin. Proje menüsünde, Yeni Öğe Ekle'yi tıklayın.
Yeni Öğe Ekle iletişim kutusunda, Metin Dosyası'nı tıklayın. İsim kutusuna, sql.txt yazın. (Küçük harflerle yazılmalıdır.)
Aşağıdakileri sql.txt dosyasına ekleyin:
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];
Çözüm Gezgini içinde, sql.txt'yi seçin. Özellikler penceresinde, BuildAction özelliğini Gömülü Kaynak olarak ayarlayın.
Metin dosyasını okumak üzere yükleyici dosyasına kodu eklemek için
Çözüm Gezgini içinde, VbDeployInstaller.vb'yi seçin. Görünüm menüsünde Kod'u tıklayın.
Aşağıdaki Imports ifadesini modülün başına ekleyin:
Imports System.IO Imports System.Reflection Imports System.Data.SqlClient
MyBase.New bildiriminin ardından aşağıdaki kodu VbDeployInstaller sınıfına ekleyin:
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
Build (Yapı) menüsünde, Build DBCustomAction'ı (DBCustomAction Oluştur) tıklayın.
Bir dağıtım projesi oluşturmak için
Dosya menüsünde, Ekle'yi tıklayın ve daha sonra Yeni Proje'yi tıklayın.
Yeni Proje Ekle iletişim kutusunda, Diğer Proje Türleri düğümünü açın ve Proje Türü bölmesinde Kurulum ve Dağıtım Projeleri'ni seçin. Daha sonra Şablonlar bölmesinde Kurulum Projesi'ni seçin. İsim metin kutusuna DBCustomAction_Setup yazın.
Özellikler penceresinde, ProductName (Ürün Adı) özelliğini seçin ve DB Installer yazın.
Dosya Sistemi Düzenleyicisi'nde Uygulama Klasörü'nü seçin. Eylem menüsünde Ekle'yi, sonra da Proje Çıktısı'nı tıklayın.
Proje Çıktı Grubu Ekle iletişim kutusunda, DBCustomAction projesi için Birincil çıktı'yı seçin.
Özel bir yükleme iletişim kutusu eklemek için
Çözüm Gezgini içinde DBCustomAction_Setup'ı seçin. Görünüm menüsünde, Düzenleyici'ye gelin ve Kullanıcı Arayüzü'nü tıklayın.
Kullanıcı Arayüzü Düzenleyicisi'nde, Yükle düğümü altındaki Başlat düğümünü seçin. Eylem menüsünde İletişim Kutusu Ekle'yi tıklayın.
İletişim Kutusu Ekle iletişim kutusunda, Textboxes (A) iletişim kutusunu seçin ve Tamam'ı tıklayın.
Eylem menüsünde Yukarı Taşı'yı tıklayın. Textboxes (A) iletişim kutusu Yükleme Klasörü düğümü üstüne gelene kadar bunu tekrarlayın.
De Özellikler pencere, seçme BannerText özelliği ve belirtme veritabanı adını yazın.
Seçin BodyText özelliği ve türü bu iletişim kutusunu sağlar veritabanı sunucusu üzerinde oluşturulacak veritabanının adını belirtin.
Seçin Edit1Label özelliği ve veritabanının adını yazın:.
Edit1Property özelliğini seçin ve CUSTOMTEXTA1 yazın.
Edit2Visible, Edit3Visible ve Edit4Visible özelliklerini seçin ve False olarak ayarlayın.
Özel bir eylem oluşturmak için
Çözüm Gezgini içinde DBCustomAction_Setup'ı seçin. Görünüm menüsünde Düzenleyici'ye gelin ve Özel Eylemler'i tıklayın.
Özel Eylemler Düzenleyicisi'nde, Yükle düğümünü seçin. Eylem menüsünde, Özel Eylem Ekle'yi tıklayın.
Proje içinde öğe seç iletişim kutusunda, Uygulama Klasörü'nü çift tıklayın.
Primary output from DBCustomAction (Active)'i (DBCustomAction'dan birincil çıktı -etkin-) seçin ve iletişim kutusunu kapatmak için Tamam'ı tıklayın.
Primary output from DBCustomAction (Active) (DBCustomAction'dan birincil çıktı -etkin-) öğesinin Özel Eylem Düzenleyicisi'nde seçildiğinden emin olun. Özellikler penceresinde, CustomActionData özelliğini seçin ve /dbname=[CUSTOMTEXTA1] yazın. Bu veri yükleme sonunda çalışacak özel eylem geçirilir. Daha fazla bilgi için bkz. CustomActionData Özelliği.
Build (Yapı) menüsünde, Build DBCustomAction_Setup'ı (DBCustomAction_Setup Oluştur) tıklayın.
Geliştirme bilgisayarınızda uygulamayı yüklemek için
Çözüm Gezgini içinde DBCustomAction_Setup'ı seçin. Project (Proje) menüsünde, Yükle'yi tıklayın.
Bu, geliştirme bilgisyarınızda yükleyiciyi çalıştıracaktır.
Not
Yükleyiciyi çalıştırmak için, bilgisayarınızda yükleme izinlerine sahip olmalısınız.
Uygulamayı başka bir bilgisayara dağıtmak için
Windows Gezgini içinde, proje dizinine gidin ve yerleşik yükleyiciyi bulun. Varsayılan yol, \documents and settings\yourloginname\DBCustomAction_Setup\project configuration\ DBCustomAction_Setup.msi olacaktır. Varsayılan project configuration (proje yapılandırma) Hata Ayıkla'dır.
DBCustomAction_Setup.msi, diğer tüm dosyalar ve dizindeki alt dizinleri başka bir bilgisayara kopyalayın.
Not
Uygulamayı ağ üzerinde olmayan bir bilgisayara yüklemek için dosyaları CD-ROM gibi geleneksel bir ortama kopyalayın.
Hedef bilgisayarda, Setup.exe dosyasını yükleyiciyi çalıştırmak için çift tıklayın.
Not
Yükleyiciyi çalıştırmak için, bilgisayarınızda yükleme izinlerine sahip olmalısınız.
Uygulamayı kaldırmak için
Windows Denetim Masası'nda, Program Ekle veya Kaldır'ı çift tıklayın.
Program Ekle veya Kaldır iletişim kutusunda DBCustomAction_Setup'ı seçin, Kaldır'ı tıklayın ve sonra iletişim kutusunu kapatmak için Tamam'ı tıklayın.
İpucu Uygulamayı geliştirme bilgisayarınızdan kaldırmak için, Proje menüsünde Kaldır'ı tıklayın.