إنشاء مثبت Windows "MSI" باستخدام WiX part2
في البداية
آخر مرة أعددنا الملفات اللازمة وأعدنا المشروع. هذه المرة، تحرير "Product.wxs" وجعل إعدادات مختلفة من المثبت.
تحرير إعدادات التثبيت (Product.wxs)
يتم وصف محتويات الملف Product.wxs بتنسيق XML. هناك عدد من المعلمات، ولكن أولا سوف نقوم بإجراء الحد الأدنى من الإعدادات للتأكد من أن المثبت يمكن إنشاؤه. إذا كنت ترغب في إعداده بمزيد من التفصيل، يرجى الرجوع إلى مقال آخر أو الموقع الرسمي.
في وقت إنشاء المشروع، تبدو التعليمات البرمجية كما يلي:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="*" Name="SetupLittleSaviorTrial_x86" Language="1033" Version="1.0.0.0" Manufacturer="" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
<!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
<!-- <Component Id="ProductComponent"> -->
<!-- TODO: Insert files, registry keys, and other resources here. -->
<!-- </Component> -->
</ComponentGroup>
</Fragment>
</Wix>
إليك بعض الأشياء التي تحتاج إلى تغييرها: إضافة علامات وسمات غير موجودة.
Wix/ المنتج/@Id
تعيين GUID الذي يعرف التطبيق.
هناك العديد من الأدوات لإنشاء GUID، ولكن من السريع استخدام الأدوات التي تأتي مع Visual Studio. حدد القائمة "أدوات" و "إنشاء GUID".
احصل على رمز مكون من 36 رقما، بما في ذلك واصلة، ثم قم بتعيينه إلى Wix/Product/@Id.
<Wix>
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" />
Wix/ المنتج/@Name
هذا هو اسم التطبيق المعروض في كل جزء من شاشة المثبت. كما يمكن أن يكون الاسم الذي يظهر في القائمة إضافة وإزالة البرامج.
<Wix>
<Product Name="リトルセイバー 体験版" />
Wix/ المنتج/@Manufacturer
أدخل اسم الشركة المصنعة. يظهر كمؤلف المثبت أو ناشر قائمة البرامج.
<Wix>
<Product Manufacturer="ソーサリーフォース">
ويكس/ المنتج/ UIRef/@Id
أدخل معرفا يعرف الشاشة التي سيتم عرضها في معالج التثبيت. هذه المرة، لأنه هو التكوين الأدنى لعرض وتثبيت الترخيص فقط، يتم تحديد "WixUI_Minimal".
<Wix>
<Product>
<UIRef Id="WixUI_Minimal" />
وأعتقد أن الموقع التالي سيكون مفيدا في أي نوع من التعيين يمكن القيام به.
ويكس / المنتج / ويكس فاريبل / *
تحديد الملف الذي سيتم استخدامه في واجهة المستخدم المعالج. يستخدم التكوين الأدنى ثلاثة ملفات: يتم إصلاح قيمة معرف والقيمة هو اسم الملف.
<Wix>
<Product>
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
رمز تطبيق التثبيت
يتم استخدامه لرموز التطبيقات التي تظهر في "إضافة وإزالة البرامج"، الخ.
في "SourceFile" عنصر الرمز، حدد ملف ico كمسار نسبي من مجلد المشروع.
"معرف الخاصية = "ARPPRODUCTICON" هو تعريف اقتران الرمز.
<Wix>
<Product>
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
Wix/جزء (تكوين مجلد ملف)
تعيين تكوين المجلد لتثبيته. في الأصل، سوف تضع الملفات أيضا، ولكن إنشاء المجلدات فقط أولا.
قيمة "اسم" تعيين إلى "معرف = "ProgramMenuDir" هو اسم المجلد الموضوع في اختصار القائمة ابدأ. تعيين التوجيهات كذلك.
<Wix>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="SetupLittleSaviorTrial_x86" />
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
<Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Fragment>
إضافة ملفات التثبيت
يمكنك أيضا إضافته إلى ملف Product.wxs باليد. نظرا لأن GUID مطلوب لملف، فمن الصعب العمل مع المزيد من الملفات. لذلك، لإضافة الملفات، استخدم WixEdit لإضافتها.
إطلاق WixEdit.
افتح الملف Product.wxs.
حدد الملفات من الرمز الموجود على اليسار. حذف المجلدات الموجودة أسفل ProgramFilesFolder.
انقر بزر الماوس الأيمن فوق مجلد ProgramFilesFolder وحدد استيراد المجلد.
حدد المجلد الذي تريد تثبيت الملفات فيه.
تتم إضافة مجموعة من الملفات إلى الشجرة.
من أجل إقران مع معلمات أخرى، حدد المجلد المضافة وتعيين "معرف" مرة أخرى إلى "INSTALLFOLDER".
إنشاء اختصار لقائمة ابدأ. حدد "جديد" و "اختصار" من القائمة بزر الماوس الأيمن من ملف exe.
عند إضافة اختصار، حدد ثم انقر بزر الماوس الأيمن فوق فارغة لإضافة الخاصية.
إضافة المعلمات التالية: (تغيير الاسم الفريد لمطابقة البرنامج.)
قيمةالسمة | |
---|---|
معرف | ليتل سافيوريتيان. EXE_shortcut |
اسم | محاكمة صابر الصغيرة |
دليل | برنامجمنودير |
دليل العمل | تثبيتدير |
رمز | ليتل سافيور. إيكو |
أيقونةندك | 0 |
الاعلان | نعم |
ثم حدد علامة التبويب "ميزة" ، انقر بزر الماوس الأيمن على "ProductFeature" وحدد تحديد المكونات لإضافتها.
حدد الكل.
مضاف.
أنقذ.
Product.wxs يجب أن تبدو شيئا من هذا القبيل :
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" Name="リトルセイバー 体験版" Language="1033" Version="1.0.0.0" Manufacturer="ソーサリーフォース" UpgradeCode="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<UIRef Id="WixUI_Minimal" />
<WixVariable Id="WixUILicenseRtf" Value="license.rtf" />
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp" />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp" />
<Icon Id="LITTLESAVIOR.ICO" SourceFile="LittleSaviorTrial\LittleSavior.ico" />
<Property Id="ARPPRODUCTICON" Value="LITTLESAVIOR.ICO" />
<Feature Id="ProductFeature" Title="SetupLittleSaviorTrial_x86" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentRef Id="LITTLESAVIOR.ICO" />
<ComponentRef Id="LITTLESAVIORTRIAL.EXE" />
<ComponentRef Id="LITTLESAVIORTRIAL.EXE.CONFIG" />
<ComponentRef Id="ProgramMenuDir" />
</Feature>
<UI />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLFOLDER" Name="LittleSaviorTrial">
<Component Id="LITTLESAVIOR.ICO" DiskId="1" Guid="0B4DD82C-C6EF-4299-8EAB-4F9BB35FD952">
<File Id="LITTLESAVIOR.ICO" Name="LittleSavior.ico" Source="LittleSaviorTrial\LittleSavior.ico" />
</Component>
<Component Id="LITTLESAVIORTRIAL.EXE" DiskId="1" Guid="8D805936-A25E-4DA6-9A0A-A5BDB2AD768D">
<File Id="LITTLESAVIORTRIAL.EXE" Name="LittleSaviorTrial.exe" Source="LittleSaviorTrial\LittleSaviorTrial.exe" KeyPath="yes">
<Shortcut Id="LITTLESAVIORTRIAL.EXE_shortcut" Name="リトルセイバー 体験版" Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR" Icon="LITTLESAVIOR.ICO" IconIndex="0" Advertise="yes" />
</File>
</Component>
<Component Id="LITTLESAVIORTRIAL.EXE.CONFIG" DiskId="1" Guid="790C427A-A72C-4444-ACD6-ECF32AA788AD">
<File Id="LITTLESAVIORTRIAL.EXE.CONFIG" Name="LittleSaviorTrial.exe.config" Source="LittleSaviorTrial\LittleSaviorTrial.exe.config" />
</Component>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="ProgramMenuDir" Name="リトルセイバー 体験版">
<Component Id="ProgramMenuDir" Guid="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX">
<RemoveFolder Id="ProgramMenuDir" On="uninstall" />
<RegistryValue Root="HKCU" Key="Software\[Manufacturer]\[ProductName]" Type="string" Value="" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
</ComponentGroup>
</Fragment>
</Wix>
إنشاء وتشغيل تأكيد
جعل تكوين الحل "الإصدار" في Visual Studio.
بدء البناء من "الحل البناء".
عند نجاح المبنى، يتم إنشاء ملف msi في المجلد "bin\Release".
إذا حاولت تشغيله، سيبدأ المثبت.
عند اكتمال التثبيت، سيتم إنشاء اختصار في القائمة ابدأ.
يتم وضع الملف في مجلد ملفات البرامج (x86).
كما يظهر التطبيق في "البرامج والوظائف".
تشغيل التطبيق وتأكد من أنه يعمل بشكل صحيح.
ملخص
هنا وصفنا الخطوات لإنشاء مثبت MSI باستخدام Visual Studio و WiX. أود أن أشرح الإعدادات التفصيلية في مقال منفصل.