كيفية القيام بما يلي: إنشاء بيان منتج

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

للحصول على مزيد من المعلومات حول بيانات المنتج، راجع كيفية القيام بما يلي: إنشاء بيان منتج.

إنشاء بيان حزمة

لإنشاء بيان الحزمة

  1. أنشئ دليلاً لحزمة الإطلاق. يستخدم هذا المثال C:\package.

  2. في Visual Studio قم بإنشاء ملف XML جديد يسمى product.xml ثم حفظه في مجلد C:\package .

  3. أضف الـ XML التالي لوصف مساحة اسم XML و التعليمات البرمجية للمنتج لتلك الحزمة. استبدل التعليمات البرمجية للمنتج بمعرِّف فريد للحزمة.

    <Product
    xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper" 
    ProductCode="Custom.Bootstrapper.Package">
    
  4. أضف XML لتحديد أن الحزمة لها تبعية. يستخدم هذا المثال تبعية على Microsoft Windows Installer 3.1.

        <RelatedProducts>
            <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
          </RelatedProducts>
    
  5. أضف XML لسرد كافة الملفات الموجودة في حزمة الإطلاق. يستخدم هذا المثال اسم ملف الحزمة CorePackage.msi.

        <PackageFiles>
            <PackageFile Name="CorePackage.msi"/>
        </PackageFiles>
    
  6. انسخ أو انقل ملف CorePackage.msi إلى مجلد C:\package .

  7. أضف XML لتثبيت الحزمة باستخدام أوامر الإطلاق . الإطلاق يقوم تلقائياً بإضافة علامة /qn إلى ملف .msi ، الذي سيتم تثبيته في هدوء. إذا كان الملف من نوع .exe , الإطلاق يقوم بتشغيل ملف .exe باستخدام shell. الـ XML التالي لا يُظهر أي وسائط لـ CorePackage.msi ، ولكن يمكنك وضع وسيطة سطر الأوامر في سمة "وسيطات".

        <Commands>
            <Command PackageFile="CorePackage.msi" Arguments="">
    
  8. أضف الـ XML التالي للتحقق ما إذا كان قد تم تثبيت حزمة الإطلاق هذه. استبدل التعليمات البرمجية للمنتج بالـ GUID للمكون القابل لإعادة التوزيع.

            <InstallChecks>
                <MsiProductCheck 
                    Property="IsMsiInstalled" 
                    Product="{XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
            </InstallChecks>
    
  9. أضف XML لتغيير سلوك الإطلاق على حسب إذا ما تم بالفعل تثبيت مكون الإطلاق. إذا كان المكوّن تم تثبيته , حزمة الإطلاق لن تعمل. الـ XML التالي يتحقق مما إذا كان المستخدم الحالي هو مسؤول, لأن هذا المكون يتطلب هذا امتيازات إدارية.

            <InstallConditions>
                <BypassIf 
                   Property="IsMsiInstalled" 
                   Compare="ValueGreaterThan" Value="0"/>
                <FailIf Property="AdminUser" 
                    Compare="ValueNotEqualTo" Value="True"
                    String="NotAnAdmin"/>
            </InstallConditions>
    
  10. أضف XML لتعيين التعليمات البرمجية للخروج في حالة نجاح التثبيت وفي حالة ضرورة إعادة تشغيل. يوضح الـ XML التالي التعليمات البرمجية للخروج Fail و FailReboot, و التي تشير إلى أن الإطلاق لن يتم متابعة تثبيت الحزم.

            <ExitCodes>
                <ExitCode Value="0" Result="Success"/>
                <ExitCode Value="1641" Result="SuccessReboot"/>
                <ExitCode Value="3010" Result="SuccessReboot"/>
                <DefaultExitCode Result="Fail" String="GeneralFailure"/>
            </ExitCodes>
    
  11. أضف الـ XML التالي لإنهاء مقطع أوامر الإطلاق.

            </Command>
        </Commands>
    
  12. انقل المجلد C:\package إلى دليل إطلاق Visual Studio. في Visual Studio 2010 ، هذا هو الدليل \Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages.

مثال

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

<?xml version="1.0" encoding="utf-8" ?>
<Product
  xmlns="https://schemas.microsoft.com/developer/2004/01/bootstrapper"
  ProductCode="Custom.Bootstrapper.Package">

  <RelatedProducts>
    <DependsOnProduct Code="Microsoft.Windows.Installer.3.1" />
  </RelatedProducts>

  <PackageFiles>
    <PackageFile Name="CorePackage.msi"/>
  </PackageFiles>

  <InstallChecks>
    <MsiProductCheck Product="IsMsiInstalled" 
      Property="{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"/>
  </InstallChecks>

  <Commands>
    <Command PackageFile="CorePackage.msi" Arguments="">

      <InstallConditions>
        <BypassIf Property="IsMsiInstalled"
          Compare="ValueGreaterThan" Value="0"/>
        <FailIf Property="AdminUser" 
          Compare="ValueNotEqualTo" Value="True"
         String="NotAnAdmin"/>
      </InstallConditions>

      <ExitCodes>
        <ExitCode Value="0" Result="Success"/>
        <ExitCode Value="1641" Result="SuccessReboot"/>
        <ExitCode Value="3010" Result="SuccessReboot"/>
        <DefaultExitCode Result="Fail" String="GeneralFailure"/>
      </ExitCodes>
    </Command>
  </Commands>
</Product>

راجع أيضًا:

المرجع

مرجع مخطط الحزمة و المنتج