الإرشادات التفصيلية: استخدام إجراء مخصص لإنشاء قاعدة بيانات خلال التثبيت

توضح معاينة التالية استخدام إجراء مخصص والخاصية CustomActionData إلى إنشاء قاعدة بيانات وجدول قاعدة البيانات أثناء التثبيت.

ملاحظة

تتطلب هذه معاينة SQL الخادم تشغيل الكمبيوتر الموقع سيتم نشر تطبيق.

ملاحظة

قد يعرض جهاز الكمبيوتر الخاص بك أسماء أو مواقع مختلفة لبعض عناصر واجهة مستخدم Visual Studio في الإرشادات التالية. يحدد كل من إصدار Visual Studio لديك والإعدادات المستخدمة هذه العناصر. لمزيد من المعلومات، راجع العمل مع إعدادات.

ملاحظة

توضح الإرشادات التالية كيفية إنشاء توزيع المشروع باستخدام مشروع Visual أساسى؛ وتطبيق المبادئ عام لكافة مشاريع لغة ‏‫Visual Studio التي تدعم نشر التطبيقات المستندة إلى Windows.

إلى إنشاء دراسي مثبت

  1. من القائمة ملف، انقر فوق مشروع جديد.

  2. في مشروع جديد صندوق حوار تحديد مشاريع Visual أساسى في الجزء نوع المشروع وقم بتحديد مكتبة الفئات في الجزء القوالب. في الاسم صندوق، اكتب من DBCustomAction.

  3. في مشروع قائمة ، انقر فوق إضافة عنصر جديد .

  4. في إضافة عنصر جديد? مربع حوار، تحديد فئة مثبت. في الاسم صندوق، اكتب من VbDeployInstaller.vb.

إلى إنشاء كائن اتصال بيانات

  1. في من مستعرض الخادم، تحديد الاتصالات بيانات . انقر نقراً مزدوجاً فوق و انقر فوق إضافة اتصال.

  2. في من اختيار مصدر بيانات صندوق حوار، تحديد من Microsoft SQL Server.

  3. في مربع حوار إضافة اتصال ، قم بما يلي:

    1. في القائمة اسم الملقم، نوع أو تحديد اسم ملقم.

    2. تحديد من استخدام مصادقة Windows.

    3. في قاعدة بيانات صندوق، اكتب الرئيسية .

    4. انقر فوق OK (موافق) لإغلاق مربع الحوار.

  4. من قائمة بيانات ، انقر فوق إضافة جديد البيانات المصدر ، ومن ثم استخدم معالج لإضافة الاتصال التي قمت بتأسيسها في الخطوات السابقة. إلى التحقق من أن مصدر البيانات في مشروع، انقر فوق إظهار المصادر البيانات في قائمة بيانات.

إلى إنشاء ملف نصيي يحتوي على عبارة SQL ل إنشاء قاعدة بيانات

  1. في مستكشف الحل ، تحديد مشروع DBCustomAction. في مشروع قائمة ، انقر فوق إضافة عنصر جديد .

  2. في إضافة عنصر جديد? صندوق حوار، انقر فوق من ملف نصي. في الاسم صندوق، اكتب sql.txt (يجب أن يكون بأحرف صغيرة).

  3. إضافة التالية إلى ملف 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. في مستكشف الحل ، تحديد sql.txt. في الإطار خصائص ، قم بتعيين BuildAction خاصية إلى الموارد المضمنة.

إلى إضافة التعليمة البرمجية للفئة مثبت لقراءة الملف النصي

  1. في مستكشف الحل ، تحديد VbDeployInstaller.vb. في القائمة عرض، انقر فوق تعليمات برمجية.

  2. إضافة التالية Importsالعبارة في الأعلى من وحدة نمطية?:

    Imports System.IO
    Imports System.Reflection
    Imports System.Data.SqlClient
    
  3. قم بإضافة التعليمة البرمجية التالية إلى VbDeployInstallerالفئة، بعد التصريح 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. تشغيل انقر بنية قائمة إنشاء DBCustomActi تشغيل .

إلى إنشاء مشروع نشر

  1. من القائمة File، انقر فوق New، ثم انقر فوق Project.

  2. في إضافة مشروع جديد صندوق حوار وافتح العقدة أنواع غير ذلك من المشروع وحدد إعداد ونشر مشاريع في الجزء نوع المشروع. قم بتحديد إعداد مشروع في الجزء القوالب. في المربع الاسم ، اكتب من DBCustomAction_Setup.

  3. في الإطار خصائص ، تحديد خاصية اسم _ المنتج و نوع قاعدة بيانات مثبت.

  4. في محرر ملف النظام، تحديد مجلد التطبيقات. في قائمة إجراء ، انقر فوق إضافة، ومن ثم انقر فوق إخراج مشروع .

  5. في إضافة مجموعة إخراج مشروع صندوق حوار، تحديد الإخراج الأساسية للمشروع DBCustomAction.

لإنشاء صندوق حوار تثبيت مخصص

  1. تحديد مشروع DBCustomAction_Setup من مستكشف الحل. في قائمة عرض ، أشر إلى محرر، وانقر فوق واجهة مستخدم .

  2. في محرر واجهة مستخدم، تحديد ابدأ العقدة تحت يثّبت . تشغيل Acti تشغيل قائمة، انقر فوق إضافة مربع حوار.

  3. في إضافة صندوق حوار صندوق حوار، تحديد Textboxes (أ) صندوق حوار، ثم انقر فوق ‏‏موافق .

  4. في قائمة إجراء ، انقر فوق تحريك للأعلى . التكرار حتى صندوق الحوار Textboxes (أ) هو أعلى العقدة مجلد التثبيت.

  5. في الإطار خصائص ، حدد BannerText خاصية و نوع تحديد اسم قاعدة بيانات.

  6. BodyText خاصية حدد ثم اكتب هذا مربع حوار يتيح لك تحديد اسم قاعدة بيانات المراد إنشاؤه تشغيل خادم قاعدة بيانات.

  7. تحديد خاصية Edit1Label و نوع اسم قاعدة بيانات:.

  8. تحديد نوع Edit1Property CUSTOMTEXTA1 .

  9. تحديد Edit2Visible ، Edit3Visible ، و خصائص Edit4Visible و تعيينها إلى خطأ.

إلى إنشاء إجراء cusإلىm

  1. تحديد مشروع DBCustomAction_Setup من مستكشف الحل. في قائمة عرض ، أشر إلى محرر، و ثم انقر فوق الاجراءات مخصصة.

  2. في محرر الاجراءات مخصصة، تحديد يثّبت عقدة. في قائمة إجراء ، انقر فوق إضافة إجراء مخصص .

  3. في تحديد عنصر في مشروع صندوق حوار، انقر نقراً مزدوجاً فوق مجلد التطبيقات.

  4. تحديد إخراج أساسي من DBCustomAction (نشط)، ثم انقر فوق ‏‏موافق لإغلاق صندوق حوار.

  5. تأكد من أن هذا العنصر إخراج أساسي من DBCustomAction (نشط) هو المحددة في محرر الاجراءات مخصصة. في الإطار خصائص ، تحديد CustomActionData خاصية و اكتب /dbname = [CUSTOMTEXTA1 . Th هو بيانات هو التي تم تمريرها إلى الإجراء المخصص التي هو تشغيلها في إنهاء عملية التثبيت. لمزيد من المعلومات، راجع خاصية CustomActionData.

  6. تشغيل انقر بنية قائمة إنشاء DBCustomActiتشغيل_Setup.

إلى يثّبت تطبيق تشغيل الكمبيوتر التطوير

  • تحديد مشروع DBCustomAction_Setup من مستكشف الحل. في قائمة Project ، انقر فوق يثّبت .

    سيعمل هذا مثبت تشغيل الكمبيوتر التطوير.

    ملاحظة

    يجب أن يكون لديك أذونات التثبيت على جهاز الكمبيوتر لكي تتمكن من تشغيل مثبت.

لنشر تطبيق إلى آخر الكمبيوتر

  1. في مستكشف Windows, التنقل إلى your الدليل مشروع و بحث the built مثبت. يكون مسار الافتراضي\مستندات و إعدادات\ yourloginname \DBCustomAction_Setup\ تكوين مشروع \DBCustomAction_Setup.msi. تكوين مشروع الافتراضي هو التصحيح.

  2. قم بنسخ DBCustomAction_Setup.msi وكافة ملفات والدلائل الفرعية في الدليل إلى كمبيوتر آخر.

    ملاحظة

    لتثبيت تطبيق تشغيل كمبيوتر الذي هو ليس تشغيل شبكة اتصال، قم بنسخ الملفات إلى وسائط التقليدية مثل محرك الأقراص المضغوطة.

    تشغيل الكمبيوتر الوجهة، انقر نقراً مزدوجاً فوق الملف Setup.exe إلى تشغيل مثبت.

    ملاحظة

    يجب أن يكون لديك أذونات التثبيت على جهاز الكمبيوتر لكي تتمكن من تشغيل مثبت.

إلى بإزالة تثبيت تطبيق

  1. في Windows من لوحة التحكم، انقر نقراً مزدوجاً فوق إضافة أو إزالة البرامج.

  2. في إضافة أو إزالة البرامج صندوق الحوار، تحديد DBCusإلىmAction_Setup إزالةانقر وثم انقر فوق ‏‏موافق إلى يغلق صندوق الحوار.

    تلميحتلميح

    إلى أزاله التثبيت تطبيق من الكمبيوتر التطوير، في قائمة مشروع ، انقر فوق أزاله التثبيت .

راجع أيضًا:

المرجع

خاصية CustomActionData

المبادئ

خطأ في المعالجة في الاجراءات مخصص

موارد أخرى

إدارة الاجراءات مخصصة في توزيع