الإرشادات التفصيلية: نشر عدة حلول المكتب في مثبت ClickOnce مفرد ل.NET Framework 4

ينطبق على

تنطبق المعلومات الموجودة في هذا الموضوع فقط على أنواع المشاريع وإصدارات Microsoft Office التالية: لمزيد من المعلومات، راجع الميزات المتوفرة بواسطة تطبيقات Office و نوع المشروع.

نوع المشروع

  • مشروعات على مستوى المستند

  • مشروعات على مستوى التطبيق

إصدار Microsoft Office

  • نظام 2007 Microsoft Office

  • Microsoft Office 2010

يمكنك نشر عدة حلول Office في حزمة واحدة لتبسيط عملية التثبيت وتحديثها. يتطلب ذلك أن تقوم بتعديل و إعادة توقيع التطبيق و بيان التوزيع بعد النشر و قبل التثبيت .

توضح هذه الإرشادات التفصيلية المهام التالية:

  • إنشاء حلين Office للنشر ، و حل Office واحد كمشروع المثبت.

  • تعديل بيان التطبيق الخاص بمشروع المثبت لتثبيت اثنين من حلول Office.

  • إعادة توقيع التطبيق و بيان التوزيع.

ملاحظة

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

المتطلبات الأساسية

تحتاج إلى المكونات التالية لاستكمال هذه الإرشادات التفصيلية:

-

إصدار لـ Visual Studio 2010 يشمل أدوات مطوري Microsoft Office. لمزيد من المعلومات، راجع [تكوين كمبيوتر لتطوير حلول Office](bb398242\(v=vs.100\).md).
  • Word 2007 أو Word 2010.

  • برنامج Outlook 2007 أو Outlook 2010.

  • Excel 2007 أو Excel 2010.

  • كمبيوتر اختبار.

إنشاء حلول Office متعددة

ابدأ عن طريق إنشاء ثلاثة مشاريع Office، بحيث أن أحدهم يعمل كمثبِّت. سيتم نشر الاثنين الآخرين إلى كمبيوتر المستخدم النهائي.

لإنشاء وتطوير مشاريع Word ،Outlook و Excel الجديدة

  1. إنشاء مشروع المستوى مستند الكلمة.NET Framework 4. قم بتسمية المشروع ContosoInstallerو احفظ المشروع إلى الدليل %USERPROFILE%\Documents\Visual Studio 10\Projects.

    إن مشروع ContosoInstaller سيتم استخدامه كمثبِّت. لمزيد من المعلومات، راجع كيفية القيام بما يلي: إنشاء مشاريع Office في Visual Studio.

  2. في الحل ContosoInstaller ، قم بإضافة مشروع Outlook على مستوى التطبيق باسم ContosoOutlookAddIn ،و أضف التعليمات البرمجية الخاصة بك إلى مشروع Outlook المذكور.

  3. في الحل ContosoInstaller ، قم بإضافة مشروع Excel على مستوى المستند باسم ContosoExcelWorkbook ، و أضف التعليمات البرمجية الخاصة بك إلى مشروع Excel المذكور.

نشر حلول Office

قم باستخدام معالج النشر أو صفحة المشروع أو مصمم المشروع لنشر حلول Office إلى كمبيوتر التطوير.

لنشر مشاريع Word ، Outlook و Excel

  1. قم بنشر مشروع ContosoInstaller إلى مجلد c:\publish . لمزيد من المعلومات، راجع كيفية القيام بما يلي: نشر حل Office باستخدام ClickOnce.

  2. قم بنشر المشروع ContosoOutlookAddInإلى مجلد c:\publish .

  3. قم بنشر المشروع ContosoExcelWorkbook إلى مجلد c:\publish .

تعديل بيان التطبيق

استخدم ediإلىr XML في ‏‫Visual Studio إلى إضافة التبعيات يثّبت الملفات، نقاط الدخول والتجميعات إلى بيان تطبيق. محتوى تطبيق بيان مشابهة للخزانة مواد، التي تسرد الجميع محتويات صندوق لتطبيق بيان قوائم التابعة والمتطلبات الأساسية الجميع التجميعات، بالإضافة إلى ملفات مطلوبة من قبل التطبيق. بيان التطبيق حلول المكتب أيضا بسرد تجميعات التي يجب أن يتم تم تحميله تطبيق المكتب لالمستوى التطبيق إضافة-زر 'Ins' والمستوى مستندات التخصيصات.

إضافة اعتمادات التثبيت

قم بتعديل بيان التطبيق لتثبيت تجميعات ContosoOutlookAddin و ContosoExcelWorkbook ، وقم بإزالة المراجع إلى تجميع ContosoInstaller .

لإضافة تبعيات التثبيت إلى بيان التطبيق

  1. من المجلد c:\publish\Application Files قم بنقل محتويات الدلائل ContosoOutlookAddIn_1_0_0_0 و ContosoExcelWorkbook_1_0_0_0 إلى دليل ContosoInstaller_1_0_0_0 .

  2. قم بفتح الملفات ContosoInstaller.dll.manifest و ContosoOutlookAddIn.dll.manifest و ContosoExcelWorkbook.dll.manifest الموجودة في محرر XML.

  3. من من ContosoOutlookAddIn.dll.بيان ملف، كل يثّبت نسخة و ملف تبعيات من ContosoOutlookAddIn.dll بما في ذلك. التي هو، قم بنسخ الجميع التبعيات التي تبدأ ب <dependentAssembly dependencyType="install"أو <file name="التطبيق.config"> . التعليمات البرمجية التالية هى التي يجب البحث عنها: فقط العنصر <dsig:DigestValue> سيختلف.

      <dependency>
        <dependentAssembly 
           dependencyType="install"
           allowDelayedBinding="true" 
           codebase="Microsoft.Office.Tools.Common.v4.0.Utilities.dll" 
           size="30816">
          <assemblyIdentity 
            name="Microsoft.Office.Tools.Common.v4.0.Utilities" 
            version="10.0.0.0"
            publicKeyToken="B03F5F7F11D50A3A"
            language="neutral"
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform
                Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod 
              Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>Ki0…</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly
          dependencyType="install"
          allowDelayedBinding="true" 
          codebase="Microsoft.Office.Tools.Outlook.v4.0.Utilities.dll"   
          size="47200">
          <assemblyIdentity 
            name="Microsoft.Office.Tools.Outlook.v4.0.Utilities" 
            version="10.0.0.0"
            publicKeyToken="B03F5F7F11D50A3A"
            language="neutral" 
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform
                Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod 
              Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>050...</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly
          dependencyType="install" 
          allowDelayedBinding="true"
          codebase="ContosoOutlookAddIn.dll"
          size="10240">
          <assemblyIdentity
            name="ContosoOutlookAddIn" 
            version="1.0.0.0" 
            language="neutral" 
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm=
                "urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm=
              "http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>i4e</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <file name="ContosoOutlookAddIn.dll.config" size="77">
        <hash>
          <dsig:Transforms>
            <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
          </dsig:Transforms>
          <dsig:DigestMethod 
             Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
          <dsig:DigestValue>w7W...</dsig:DigestValue>
        </hash>
      </file>
    
  4. في الملف ContosoInstaller.dll.manifest ،قم بلصق تبعية التثبيت ContosoOutlookAddIn.dll في نهاية مقطع التبعية.

  5. من من ContosoExcelWorkbook.dll.بيان ملف، كل تثبيت نسخة و ملف التبعيات، بما في ذلك ContosoExcelWorkbook.dll و Microsoft.المكتب.أدوات.عام.v4.0.Utilities.dll . التي هو، قم بنسخ الجميع التبعيات التي تبدأ ب <dependentAssembly dependencyType="install"أو <file name="التطبيق.config"> . التعليمات البرمجية التالية تشابه ما يجب البحث عنه: فقط العنصر <dsig:DigestValue> سيختلف.

      <dependency>
        <dependentAssembly
          dependencyType="install"
          allowDelayedBinding="true"
          codebase="ContosoExcelWorkbook.dll"
          size="12800">
          <assemblyIdentity
            name="ContosoExcelWorkbook" 
            version="1.0.0.0"
            language="neutral"
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm=
                "urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm=
              "http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>i4e</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="Microsoft.Office.Tools.Common.v4.0.Utilities.dll" size="30816">
          <assemblyIdentity name="Microsoft.Office.Tools.Common.v4.0.Utilities" version="10.0.0.0" publicKeyToken="B03F5F7F11D50A3A" language="neutral" processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>Ki0A9wOpes1YX5NaAvjmUeFSh0g=</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <dependency>
        <dependentAssembly
          dependencyType="install"
          allowDelayedBinding="true" 
          codebase="Microsoft.Office.Tools.Excel.v4.0.Utilities.dll" 
          size="235104">
          <assemblyIdentity 
            name="Microsoft.Office.Tools.Excel.v4.0.Utilities" 
            version="10.0.0.0"
            publicKeyToken="B03F5F7F11D50A3A"
            language="neutral"
            processorArchitecture="msil" />
          <hash>
            <dsig:Transforms>
              <dsig:Transform
               Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
            </dsig:Transforms>
            <dsig:DigestMethod 
              Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            <dsig:DigestValue>Te/...</dsig:DigestValue>
          </hash>
        </dependentAssembly>
      </dependency>
      <file name=" ContosoExcelWorkbook.dll.config" size="77">
        <hash>
          <dsig:Transforms>
            <dsig:Transform
             Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
          </dsig:Transforms>
          <dsig:DigestMethod 
            Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
          <dsig:DigestValue>w7W...</dsig:DigestValue>
        </hash>
      </file>
    
  6. في من ContosoInstaller.dll.بيان ملف، قم بلصق تبعيات التثبيت في إنهاء الجزء تبعية.

  7. في الملف ContosoInstaller.dll.بيان ، إزالة من ContosoInstaller.dll و Microsoft.المكتب.أدوات.الكلمة.v4.0.Utilities.dll يثّبت التبعيات. أيضا إزالة أي تكرار التبعيات. على سبيل المثال، قد نسخت تبعيات التثبيت متعددة ل Microsoft.المكتب.أدوات.عام.v4.0.Utilities.dll.

    ملاحظة

    إذا كنت تقوم بنشر حل المستوى مستند الكلمة، اترك من Microsoft.المكتب.أدوات.الكلمة.v4.0.Utilities.dll في النهائية بيان.

إضافة Entrypoints "نقاط إدخال"

قم بتعديل بيان التطبيق لتحميل التجميعات ContosoOutlookAddin و ContosoExcelWorkbook إلى مساحة الاسم <vstav3> .

لإضافة entrypoints في مساحة اسم vstav3 إلى بيان التطبيق

  1. في الملف ContosoInstaller.dll.manifest ، قم بإزالة النص بين العناصر <vstav3:entryPointsCollection> و </vstav3:entryPointsCollection> .

  2. من الملف ContosoOutlookAddIn.dll.manifest ،قم بنسخ النص الموجود بين العناصر <vstav3:entryPointsCollection> و </vstav3:entryPointsCollection> . التعليمات البرمجية التالية تشابه ما يجب البحث عنه:

          <vstav3:entryPoints>
            <vstav3:entryPoint
              class="ContosoOutlookAddIn.ThisAddIn">
              <assemblyIdentity
                name="ContosoOutlookAddIn"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
          </vstav3:entryPoints>
    
  3. في الملف ContosoInstaller.dll.manifest ، قم بلصق التعليمة البرمجية بعد العنصر <vstav3:entryPointsCollection> .

  4. قم بإضافة الصفة id إلى العنصر <vstav3:entryPoints> للتفرقة بين entrypoint تلك و الآخرين.

          <vstav3:entryPoints id="ContosoOutlook">
    
  5. من الملف ContosoExcelWorkbook.dll.manifest ،قم بنسخ النص الموجود بين العناصر <vstav3:entryPointsCollection> و </vstav3:entryPointsCollection> . التعليمات البرمجية التالية تشابه ما يجب البحث عنه:

          <vstav3:entryPoints>
            <vstav3:entryPoint 
              class="ContosoExcelWorkbook.ThisWorkbook">
              <assemblyIdentity
                name="ContosoExcelWorkbook"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
            <vstav3:entryPoint
               class="ContosoExcelWorkbook.Sheet1">
              <assemblyIdentity
                name="ContosoExcelWorkbook"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
            <vstav3:entryPoint
              class="ContosoExcelWorkbook.Sheet2">
              <assemblyIdentity
                name="ContosoExcelWorkbook"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
            <vstav3:entryPoint
              class="ContosoExcelWorkbook.Sheet3">
              <assemblyIdentity
                name="ContosoExcelWorkbook"
                version="1.0.0.0"
                language="neutral"
                processorArchitecture="msil" />
            </vstav3:entryPoint>
          </vstav3:entryPoints>
    
  6. في الملف ContosoInstaller.dll.manifest ، قم بلصق التعليمة البرمجية بعد العنصر <vstav3:entryPointsCollection> .

  7. قم بإضافة الصفة id إلى العنصر <vstav3:entryPoints> للتفرقة بين نقطة الإدخال هذه و بين نقاط الإدخال الأخرى.

          <vstav3:entryPoints id="ContosoExcel">
    

إضافة تجميعات

قم بتعديل بيان التطبيق لتحميل التجميعات ContosoOutlookAddin و ContosoExcelWorkbook إلى مساحة الاسم <vstov4> .

لإضافة التجميعات إلى مساحة اسم vstov4 في بيان التطبيق

  1. في الملف ContosoInstaller.dll.manifest ، قم بإزالة أي نص بين العناصر <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> و </vstov4:customizations> .

  2. في الملف ContosoOutlookAddIn.dll.manifest ،قم بنسخ النص الموجود بين العناصر <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> و </vstov4:customizations> . التعليمات البرمجية التالية هى التي يجب البحث عنها:

            <vstov4:customization>
              <vstov4:appAddIn
                application="Outlook"
                loadBehavior="3"
                keyName="ContosoOutlookAddIn">
                <vstov4:friendlyName>
                  ContosoOutlookAddIn
                </vstov4:friendlyName>
                <vstov4:description>
                  ContosoOutlookAddIn - Outlook add-in created with
                  Visual Studio Tools for Office
                </vstov4:description>
              </vstov4:appAddIn>
            </vstov4:customization>
    
  3. في الملف ContosoInstaller.dll.manifest ، قم بلصق التعليمة البرمجية بعد العنصر <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> .

  4. قم بإضافة الصفة id إلى العنصر <vstav3:customization> للتفرقة بين ذلك التخصيص و التخصيصات الأخرى. هذا المعرف هو نفس المعرّف المضاف إلى العنصر <vstav3:entryPoints> في الإجراء السابق.

            <vstov4:customization id="ContosoOutlook">
    
  5. من الملف ContosoExcelWorkbook.dll.manifest ،قم بنسخ النص الموجود بين العناصر <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> و </vstov4:customizations> . التعليمات البرمجية التالية تشابه ما يجب البحث عنه: فقط العنصر <solutionId> سيختلف.

            <vstov4:customization>
              <vstov4:document
                solutionId="73e" />
            </vstov4:customization>
    
  6. في الملف ContosoInstaller.dll.manifest ، قم بلصق التعليمة البرمجية بعد العنصر <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> .

  7. قم بإضافة الصفة id إلى العنصر <vstov4:customizations xmlns:vstov4="urn:schemas-microsoft-com:vsto.v4"> للتفرقة بين ذلك التخصيص و التخصيصات الأخرى. هذا المعرف هو نفس المعرّف المضاف إلى العنصر <vstav3:entryPoints> في الإجراء السابق.

            <vstov4:customization id="ContosoExcel">
    

إعادة توقيع البيانات

قم بتوقيع التطبيق و بيانات النشر بشهادة. ويضمن ذلك أن الملفات لم يتم العبث بها.

لإعادة توقيع التطبيق و بيان التوزيع.

  1. قم بنسخ ملف شهادة ContosoInstaller_TemporaryKey.pfx من دليل حل %USERPROFILE%\Documents\Visual Studio 10\Projects\ContosoInstaller\ContosoInstaller إلى الدليل c:\publish\Application Files\ContosoInstaller_1_0_0_0.

  2. قم بفتح موجه أوامر Visual Studio.

  3. قم بالتغيير إلى الدليل c:\publish\Application Files\ContosoInstaller_1_0_0_0 .

  4. قم بتسجيل بيان التطبيق المعدل عن طريق الأمر التالي:

    mage -sign ContosoInstaller.dll.manifest -certfile ContosoInstaller_TemporaryKey.pfx
    

    تظهر الرسالة "ContosoInstaller.dll.manifest successfully signed".

  5. قم بالتغيير إلى الدليل c:\publish .

  6. قم بتحديث ثم تسجيل بيان النشر عن طريق الأمر التالي:

    mage -update ContosoInstaller.vsto -appmanifest "Application Files\ContosoInstaller_1_0_0_0\ContosoInstaller.dll.manifest" -certfile "Application Files\ContosoInstaller_1_0_0_0\ContosoInstaller_TemporaryKey.pfx"
    

    تظهر الرسالة ""ContosoInstaller.vsto successfully signed".

  7. قم بنسخ الملف ContosoInstaller.vsto إلى الدليل c:\publish\Application Files\ContosoInstaller_1_0_0_0 .

اختبار نشر مشاريع متعددة "Multi-Project deployment"

يضمن الإجراء التالي إن البيان قام بتثبيت وظيفة Outlook الإضافية و مصنف Excel.

لاختبار نشر مشاريع متعددة

  1. قم بنسخ الدليل c:\publish إلى كمبيوتر اختبار.

  2. قم بتشغيل برنامج الإعداد لتثبيت نشر المشاريع المتعددة.

    يظهر مثبت Microsoft Office Customization .

  3. انقر فوق Install.

    يعرض مربع الحوار مثبت Microsoft Office Customization الرسالة التالية: "تم تثبيت Microsoft Office customization بنجاح."

  4. قم بفتح Outlook للتحقق من أن الوظائف الإضافية تعمل.

  5. قم بفتح ملف مصنف Excel للتحقق من أن التخصيص على مستوى المستند يعمل.

  6. تحقق من نشر المشاريع المتعددة على إدخال واحد في قائمة التطبيقات المثبتة.

    إن إضافة / إزالة البرامج في Windows XP أو البرامج والميزات Programs and features في Windows Vista يظهر ContosoInstaller .

تنظيف دليل النشر

الإجراء التالي يقوم بإزالة أية ملفات غير ضرورية من دليل النشر .

لتنظيف دليل النشر

  1. قم بإزالة الملفات التالية من الدليل c:\publish\Application Files\ContosoInstaller_1_0_0_0.

    • ContosoExcelWorkbook.dll.manifest

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.dll.deploy

    • ContosoInstaller.docx

    • ContosoInstaller_TemporaryKey.pfx

    • ContosoOutlookAddIn.dll.manifest

    • ContosoOutlookAddIn.vsto

  2. قم بإزالة الملفات التالية من الدليل c:\publish.

    • ContosoExcelWorkbook.vsto

    • ContosoInstaller.docx

    • ContosoOutlookAddIn.vsto

راجع أيضًا:

المهام

كيفية: يقوم بتوقيع مرة أخرى التطبيق نشر ملفات البيان

المبادئ

أمان ClickOnce

نشر حل Office متقدم

موارد أخرى

توزيع حلول Office