الإرشادات التفصيلية: إعادة توجيه إلى الهدف الخدمة ويب مختلفة عند تثبيت تطبيق

توضح هذه معاينة كيفية إلى إنشاء تطبيق ويب الذي يمكن إعادة توجيه إلى تستهدف الخدمة ويب مختلفة باستخدام خاصية سلوك URL ودراسي مثبت ومشروع "إعداد ويب". Th هو هو مفيدة عندما تحتاج إلى الهدف الخدمة ويب محلياً أثناء التطوير وترغب في استخدام إصدار إنتاج ويب الالخدمة عند تطبيق الخاص بك هو نشرها.

ملاحظة

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

قم بإنشاء مشروع تطبيق ويب

أول خطوة لإنشاء ASP.NETمشروع "تطبيق ويب" الذي يحتوي على مرجع ويب إلى الخدمة ويب.

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

  • إنشاء تطبيق ويب الذي يحتوي على مرجع ويب إلى الخدمة ويب. مرجع ويب إلى سوف suffice أي الخدمة ويب صالح لهذه معاينة.

إضافة فئة مثبت

فئات مثبت، والتي تعرف أيضا بتثبيت المكونات، يتم .NET Frameworkاستدعاء فئات ك مخصص الإجراءات أثناء التثبيت. في هذه الحالة، تتم إضافة فئة مشروع المكتبة إلى الحل. في هذا مشروع مكتبة الفئات، سيتم إنشاؤه دراسي مثبت وتجاوز به Installالأسلوب، قم بإضافة التعليمة البرمجية لتعديل.config تطبيق ويب ملف.

لإنشاء مشروع مكتبة الفئات

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

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

  3. اسم مشروع من InstallerClassLibrary.

إلى إضافة وقم بتطبيق دراسي مثبت

  1. انقر نقراً مزدوجاً فوق عقدة مشروع InstallerClassLibrary في من مستكشف الحلول و انقر فوق ثم إضافة فئة.

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

    عند النقر فوق تمت الإضافة ، الفئة تمت الإضافة ed إلى مشروع وسيتم فتح مصمم للفئة مثبت.

  3. انقر نقراً مزدوجاً فوق المصمم إلى فتح Ediإلىr في تعليمات برمجية.

  4. في WebServiceInstaller.vb، إضافة التعليمة البرمجية التالية في أسفل فئة المثبت وحدة نمطية? (أعلى إعلان فئة الأطراف)؛ وتنفيذ هذه تعليمات برمجية Installأسلوب:

    Public Overrides Sub Install(
            ByVal stateSaver As System.Collections.IDictionary)
    
        ' Gets the parameter passed across in the CustomActionData.
        Dim install_log As New System.IO.StreamWriter("Installation.log")
        install_log.AutoFlush = True
    
        Try
            Dim providedName = Me.Context.Parameters.Item("ServerName")
            Dim svcName = Me.Context.Parameters.Item("ServiceName")
    
            install_log.WriteLine("Starting Edit of the config file")
    
            If providedName = "" OrElse svcName = "" Then
                Throw New InstallException("No arguments specified")
            End If
    
            ' Uses reflection to find the location of the config file.
            Dim strConfigLoc =
                System.Reflection.Assembly.GetExecutingAssembly().Location
    
            Dim strTemp = strConfigLoc
            strTemp = strTemp.Remove(strTemp.LastIndexOf("\"), Len(strTemp) -
              strTemp.LastIndexOf("\"))
            strTemp = strTemp.Remove(strTemp.LastIndexOf("\"), Len(strTemp) -
              strTemp.LastIndexOf("\"))
    
            Dim fInfo As New System.IO.FileInfo(strTemp & "\web.config")
    
            install_log.WriteLine("File info: " & strTemp)
    
            If Not fInfo.Exists Then
                Throw New InstallException("Missing config file")
            End If
    
            ' Loads the config file into the XML DOM.
            ' Loads the config file into the XML DOM.
            Dim xmlDoc = XDocument.Load(fInfo.FullName)
    
            ' Finds the right node and change it to the new value.
            Dim foundIt As Boolean = False
            For Each node In xmlDoc.<configuration>.<appSettings>.<add>
                If node.@key = "servername.service" Then
                    ' Note that "Service1.asmx" should be replaced with the
                    ' actual name of the XML Web service file.
                    node.@value = "http://" &
                        providedName & "/" & svcName & "/Service1.asmx"
                    foundIt = True
                End If
            Next node
    
            If Not foundIt Then
                Throw New InstallException("Config file did not contain a ServerName section")
            End If
    
            ' Writes out the new config file.
            xmlDoc.Save(fInfo.FullName)
    
        Finally
            install_log.WriteLine("Ending edit of config file")
            install_log.Close()
        End Try
    
    End Sub
    

    التعليمة البرمجية أعلاه أولاً بإنشاء ملف يسجل تثبيت سيقوم بتسجيل التقدم مخصص إجراء. System.Reflectionمساحة الاسم هو يستخدم في تحديد موقع تجميع الذي هو مثبتة والبحث عن ملف.config المقترن. يتم استخدام طراز مستند XML ليكرر من خلال.config ملف حتى appSettings العثور على مقطع. عند المفتاح servername.serviceوجد، يتم تم تغييره القيمة المقترنة الخاصة به إلى تتضمن المعلمات التي تم تمريرها في، إعادة توجيه تطبيق إلى استخدام جديد ويب الخدمة.

  5. في من مستكشف الحل، انقر نقراً مزدوجاً فوق ملف ويب.config إلى فتحه.

  6. نسخ قيمة المفتاح الخاص بك خدمة ويب في appSettings المقطع. The المفتاح takes the نموذج servername.service الموقع إسمالخادم هو the الخادم الموقع the ويب الخدمة هو located, و الخدمة هو the اسم of the ويب الخدمة.

  7. فتح the فئة مثبت وحدة نمطية? في the تعليمات برمجية محرر و استبدال the نص "إسمالخادم.الخدمة" مع the القيمة that you copied في the السابق step.

إضافة إعداد مشروع ويب

Setup مشاريع are used إلى إنشاء an مثبت for your تطبيق. Based تشغيل Windows مثبت التقنية, setup مشاريع تضمين features such كـ the ability إلى run الاجراءات مخصصة during installation و إلى يخصص the installation مستخدم واجهة. For المزيد معلومات تشغيل Setup مشاريع, see نشر تطبيقات ومكونات.

إلى إضافة مشروع "إعداد ويب"

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

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

    في the قوالب جزء, تحديد ويب إعداد مشروع. في the اسم صندوق, اسم the مشروع WebAppSetup.

    عند النقر فوق ‏‏موافق ، ستتم إضافة المشروع إلى الحل وسيتم فتح محرر نظام الملفات .

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

  4. في the محرر ملف النظام, تحديد the ويب مجلد التطبيقات.

  5. تشغيل the إجراء قائمة, يؤشر إلى إضافة, then انقر مشروع إخراج.

  6. في إضافة مجموعة إخراج مشروع صندوق حوار، وتحديد InstallerClassLibrary من القائمة مشروع المنسدلة لأسفل؛ ثم تحديد إخراج أساسي .

    عندما تقوم انقر ‏‏موافق ، الإخراج الأساسي من InstallerClassLibrary سيضاف إلى مشروع "ويب برنامج الإعداد".

إضافة إجراء مخصص

يتم استخدام الاجراءات Cusإلىm إلى تشغيل تعليمات برمجية في إنهاء التثبيت في ترتيب إلى تنفيذ الالاجراءات التي لا يمكن معالجتها أثناء التثبيت. التعليمة البرمجية الخاصة إجراء مخصص يمكن تضمين في ملف.dll أو.exe برنامج نصي أو تجميع. ل المزيد المعلومات تشغيل الاجراءات مخصصة، راجع إدارة الاجراءات مخصصة في توزيع.

إلى إضافة مثبت الفئة كإجراء cusإلىm

  1. في مستكشف الحل ، تحديد مشروع WebAppSetup.

  2. تشغيل القائمةعرض، انقر فوق ثم محرر Actiتشغيلs مخصص.

    Theمحرر الاجراءات مخصصةopens.

  3. في محرر الاجراءات مخصصة، تحديد يثّبت عقدة.

  4. في قائمة إجراء ، اختر إضافة إجراء مخصص .

  5. مزدوج-انقر مجلد تطبيقات الويب، ثم تحديد إخراج أساسي من InstallerClassLibrary (نشط) .

  6. في الإطار خصائص ، تأكد من أن InstallerClass خاصية هو تعيين إلى صواب.

  7. تحديد CustomActionData خاصية و Enter الزر نص التالي: /اسم الخادم/ServiceName [EDITA1] = = [EDITA2]

    CustomActionData خاصية توفير معلمتين التي تم تمريرها إلى إجراء المخصص وفصل بواسطة مسافة.

إضافة صندوق حوار

واجهة مستخدم يتم عرض مربعات الحوار أثناء التثبيت لجمع المعلومات من مستخدم. للحصول تشغيل مزيد من المعلومات حول واجهة مستخدم مربعات الحوار، راجع إدارة واجهة مستخدم في نشر.

لإضافة مخصص واجهة المستخدم صندوق الحوار

  1. في من مستكشف الحل، تحديد إعداد مشروع.

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

  3. في محرر واجهة مستخدم، تحديد ابدأ العقدة تحت يثّبت .

  4. في قائمة إجراء ، اختيار إضافة حوار .

  5. في إضافة صندوق حوار صندوق حوار وقم باختيار صندوق حوار Textboxes (أ) وانقر فوق ‏‏موافق .

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

  7. يمكنك تعيين الخصائص التالية في النافذة خصائص .

    الخصائص

    Value

    BannerText

    Enter الزر اسم الخادم واسم الخدمة

    Edit1Label

    اسم الخادم:

    Edit1Value

    localhost

    ملاحظةملاحظة
    يعين الخادم افتراضي.يمكنك إدخال اسم الخادم الافتراضي الخاص بك هنا.

    Edit2Label

    اسم الخدمة:

    Edit2Value

    < اسم الخدمة >

    Edit3Visible

    False

    Edit4Visible

    False

    لاحظ أنه Edit1Property خاصية هو معينة إلى "EDITA1" و Edit2Property خاصية هو معينة إلى "EDITA2". هذه تتوافق مع قيم التي أدخلتها في خاصية CustomActionData في "محرر الاجراءات مخصصة". عندما يقوم مستخدم بإدخال نص في هذه عناصر تحكم التحرير أثناء التثبيت، يتم تلقائياً تمرير قيم من خلال CustomActionData خاصية.

إنشاء و نشر تطبيق

الخطوة الأخيرة هو لبناء مشروع الإعداد لإنشاء مثبت، ثم يثّبت تطبيق الخاص بك تشغيل الملقم الهدف.

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

  • من قائمة بنية ، اختيار إنشاء اسم مشروع ، الموقع من اسم مشروع هو الاسم الخاص بك إعداد مشروع.

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

  1. في من مستكشف الحل، تحديد مشروع الإعداد.

  2. في قائمة Project ، انقر فوق يثّبت .

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

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

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

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

راجع أيضًا:

موارد أخرى

نشر تطبيقات ومكونات

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

إدارة واجهة مستخدم في نشر