قم بتجميع التطبيقات باستخدام MSIX وإدارة التحديثات الآمنة أصبح معيار MSIX مكونًا أساسيًا في بيئة ويندوز الحديثة، سواءً للمطورين أو مديري الأنظمة وفرق محاكاة سطح المكتب. فهو ليس مجرد "صيغة أخرى"، بل يحدد كيفية تثبيت التطبيقات وتحديثها وعزلها ودمجها مع نظام التشغيل ومع خدمات مثل متجر مايكروسوفت، وAzure Virtual Desktop، وCitrix Virtual Apps and Desktops.
وبالإضافة إلى ذلك، تحسينات في الأمن والأداء وتوفير النطاق الترددي وتبسيط الإدارة لقد حلت تقنية MSIX والتقنيات المرتبطة بها (مثل MSIX app attach أو MSIX application connection) تدريجياً محل برامج التثبيت التقليدية مثل EXE أو MSI وحلول المحاكاة الافتراضية مثل App-V، مع الحفاظ على التوافق مع سيناريوهات الأعمال الصعبة وتقديم نموذج ترقية متقدم ومتميز للغاية.
ما هو MSIX ولماذا هو مهم جدًا لنظام التشغيل Windows؟
MSIX هو تنسيق التغليف الحديث لتطبيقات ويندوز. صُمم هذا النظام لتوحيد مزايا AppX وMSI وApp-V في نموذج واحد. فهو يوفر هوية الحزمة، والتثبيت النظيف، وإزالة التثبيت دون ترك أي بقايا، والتحديثات التدريجية، وحاوية خفيفة الوزن تقلل من التعارضات مع النظام والتطبيقات الأخرى.
تتيح هوية حزمة MSIX لنظام التشغيل Windows معرفة التطبيق الذي يستدعي واجهة برمجة التطبيقات (API) بدقة مطلقة، مما يتيح ميزات كانت متاحة سابقًا فقط لتطبيقات UWP: مهام الخلفية، والإشعارات الغنية، وعمليات تكامل قائمة السياق، وارتباطات الملفات، والبروتوكولات المخصصة، أو أسماء مستعارة للتنفيذ من وحدة التحكم.
على عكس التطبيقات غير المعبأة، التي لا تزال تعتمد على ملفات EXE/MSI، والتثبيت التقليدي، وعدم وجود هوية للحزمة، يوفر نظام MSIX تجربة تثبيت وترقية أكثر موثوقية وتلقائية وقابلية للتحكم.، مع تبسيط حياة قسم تكنولوجيا المعلومات من خلال تجنب الملفات المتبقية، أو ملفات DLL اليتيمة، أو مفاتيح التسجيل العالقة بعد إلغاء التثبيت.
يوجد ايضا نموذج "الموقع الخارجي المعبأ"صُممت هذه الطريقة لتطبيقات سطح المكتب التي لا يمكنها حتى الآن نقل جميع محتوياتها إلى حزمة MSIX. بهذه الطريقة، يكتسب التطبيق هوية الحزمة، لكن بعض بياناته أو ملفاته التنفيذية تبقى خارج الحاوية، مما يُسهّل عمليات النقل التدريجي.
أنواع حزم MSIX والتنسيقات ذات الصلة
لا يقتصر نظام MSIX البيئي على نوع ملف واحد، بل يضم عدة تنسيقات متكاملة تغطي كل شيء بدءًا من التثبيت المباشر وحتى التوزيع المُحسَّن لمتجر Microsoft أو البنى التحتية التابعة لجهات خارجية. وهذه هي التنسيقات الأكثر شيوعًا:
- حزمة التطبيق (.msix أو .appx). هذه هي الحزمة "الأساسية" التي تحتوي على التطبيق وموارده لبنية جهاز واحدة (x86، x64، ARM، إلخ). لدعم بنى متعددة بحزم منفصلة، يتم إنشاء ملف لكل بنية.
- حزمة التطبيق (.msixbundle أو .appxbundle)حاوية تجمع عدة حزم تطبيقات، كل منها مُخصصة لبنية معينة. بفضل هذا التجميع، يقوم النظام بتنزيل وتثبيت الحزمة الأمثل لكل جهاز فقط، ويصبح التطبيق متوافقًا مع نطاق أوسع بكثير من الأجهزة بملف توزيع واحد.
- ملف تحميل حزمة التطبيق (.msixupload أو .appxupload). صُممت هذه الحزمة خصيصًا لنشر تطبيقك على متجر مايكروسوفت من خلال مركز الشركاء. ويمكن أن تتضمن حزمة أو أكثر من حزم MSIX، بالإضافة إلى ملف رموز مضغوط (.appxsym) يتيح لك تحليل الأداء والأعطال مباشرةً من منصة الشركاء.
تُستخدم تنسيقات ربط تطبيقات MSIX، مثل .vhd و .vhdx و .cim، عند ربط تطبيقات MSIX في بيئات مثل Azure Virtual Desktop أو Citrix. في هذه الحالات، يتم فك ضغط محتويات حزمة MSIX مسبقًا داخل قرص افتراضي أو صورة CimFS، ثم يتم تثبيتها ديناميكيًا على أجهزة المستخدمين.
المتطلبات الأساسية للعمل مع MSIX وأداة تغليف MSIX
لتسهيل عملية تجميع التطبيقات باستخدام MSIX، توفر مايكروسوفت أداة تغليف MSIX. هذه الأداة متوفرة في متجر مايكروسوفت، ويمكن توزيعها أيضًا دون اتصال بالإنترنت. تتيح لك تحويل ملفات التثبيت MSI وEXE، وحزم App-V 5.x، وحتى عمليات نشر ClickOnce إلى تنسيق MSIX الجديد، وذلك من خلال واجهة رسومية أو سطر الأوامر.
الكثير متطلبات أساسية لاستخدام أداة MSIX Packaging Tool، تحتاج إلى نظام التشغيل Windows 10 الإصدار 1809 أو أعلى، وامتيازات المسؤول على الكمبيوتر، وإذا تم تثبيتها من المتجر، فستحتاج إلى حساب Microsoft صالح (شخصي أو مؤسسي) للوصول إلى التنزيل.
الأداة يمكن تثبيته بعدة طرق:
- مباشرةً من متجر مايكروسوفت، باستخدام أمر WinGet
winget install "MSIX Packaging Tool". - من خلال حزمة غير متصلة بالإنترنت يتم دمجها لاحقًا في النظام باستخدام PowerShell
Add-AppxProvisionedPackageبالإضافة إلى ملف الترخيص المقابل.
في سيناريوهات الأعمال المتقدمة، من الشائع قم بدمج أداة MSIX Packaging Tool مع أدوات أخرى مثل MSIX Manager أو AppVentiX أو MSIX Hero لأتمتة عملية التحويل إلى حاويات VHD/VHDX/CIM وإدارة كتالوجات كبيرة من التطبيقات المعبأة.
إعداد الطلب قبل التعبئة باستخدام MSIX
قبل تحويل أي تطبيق إلى MSIX، يُنصح بإجراء بعض الاختبارات والتحسينات الأولية. قد لا يكون الأمر ممتعًا، ولكنه يوفر الكثير من المشاكل في مرحلة الإنتاج.
- تأكد من أن التطبيق يعمل بشكل صحيح يدعم Visual Studio جميع أنواع الأجهزة التي ترغب في دعمها. كما يُسهّل عملية النشر وتصحيح الأخطاء في هذه البيئات، حتى بالنسبة لتطبيقات سطح المكتب المعبأة كـ UWP.
- تحسين الأداء. باستخدام أدوات تحليل الأداء في Visual Studio - مثل استخدام وحدة المعالجة المركزية، واستهلاك الذاكرة، وتحليل التسلسل الزمني لواجهة المستخدم، وما إلى ذلك - لن تُسرّع حزمة MSIX تطبيقًا بطيئًا. ستجعل عملية تثبيته وتحديثه أكثر سلاسة فحسب، لكن الأداء الأساسي يبقى مسؤولية المطور.
- تحقق من التوافق مع .NET Nativeتُمكّن إصدارات الإنتاج عادةً هذا المُصرّف الأصلي من تحسين أداء وقت التشغيل. من المهم جدًا اختبار تطبيقك باستخدام إصدار الإنتاج الأصلي وليس فقط في وضع التصحيح.
تهيئة الحزمة في Visual Studio: بيان MSIX
في عالم MSIX، جوهر هذا التكوين هو البيان، الملف Package.appxmanifestهذا ملف XML يحدد هوية التطبيق، واسم الناشر، والإصدار، والأيقونات، والاتجاهات المدعومة، وقدرات النظام، وارتباطات الملفات، والبروتوكولات المخصصة، وأسماء التنفيذ المستعارة، ومهام الخلفية، وغير ذلك الكثير.
البصرية ستوديو يتضمن أ مصمم جرافيك متخصص في تصميم البيانات الصحفية مما يجنبك تعديل ملفات XML يدويًا. من مستكشف الحلول، ما عليك سوى توسيع المشروع، ثم النقر المزدوج على Package.appxmanifest والعمل مع علامات التبويب المختلفة: المعلومات العامة، والقدرات، والموارد المرئية، والتغليف، وما إلى ذلك.
- في علامة تبويب الموارد المرئية يتم تحديد الرموز والشعارات لقائمة ابدأ، وشريط المهام، وقائمة التطبيقات، أو إشعارات التنبيه.
- في علامة تبويب التغليف يمكننا تحديد تفاصيل النشر، والأهم من ذلك، شهادة توقيع الحزمة. يجب توقيع جميع تطبيقات MSIX، وإلا فلن يعتبرها نظام ويندوز موثوقة.
إمكانيات النظام، والتكاملات، والتوسعات
إحدى أعظم نقاط قوة MSIX هي عدد عمليات التكامل التي يتيحها مع نظام التشغيل من خلال ملف البيان. هنا يتم تفعيل الإمكانيات والشراكات ونقاط التوسع التي تُحدث فرقًا مقارنةً بالتطبيق التقليدي.
- إمكانيات النظام يتحكمون في الوصول إلى الموارد الحساسة: الموقع، والميكروفون، والكاميرا، والشبكة، وملفات المستخدم، وأجهزة USB، وما إلى ذلك. من الضروري تحديد الصلاحيات المطلوبة فقط. طلب صلاحيات أكثر من اللازم قد يؤدي إلى تحذيرات، أو مشاكل في الاعتماد، أو رفض من قِبل مسؤولي تقنية المعلومات.
- بروتوكولات مخصصة السماح للتطبيق بالاستجابة لمعرفات الموارد الموحدة (URIs) مثل
miapp://loqueseaيتم استخدام هذا للربط العميق من الويب، والتكامل مع التطبيقات الأخرى أو تدفقات تسجيل الدخول الموحد، ويتم تكوينه في البيان من خلال الإشارة إلى المخطط والملف القابل للتنفيذ المراد تشغيله. - جمعيات الأرشيف تُحدد هذه الإعدادات أنواع الملفات (بحسب الامتداد أو نوع MIME) التي يفتحها التطبيق عند النقر المزدوج، والأيقونة التي تُعرض لكل منها. يوفر معيار MSIX نموذجًا تصريحيًا واضحًا لتسجيل هذه الارتباطات دون إحداث فوضى غير ضرورية في سجل نظام ويندوز.
- اسم التنفيذ المستعار (AppExecutionAlias) يتيح ذلك تشغيل التطبيق من وحدة التحكم عن طريق كتابة أمر بسيط
miapp.exeدون الحاجة إلى معرفة المسار الكامل تحتC:\Program Files\WindowsAppsوهو مفيد بشكل خاص لأدوات سطر الأوامر المعبأة مثل MSIX.
تغليف التطبيق باستخدام Visual Studio: من المشروع إلى MSIX
بمجرد أن يصبح المشروع والبيان جاهزين، فإن الخطوة التالية هي قم بإنشاء حزمة MSIX. يوفر برنامج Visual Studio معالجًا للتغليف سهل الاستخدام للغاية يغطي سيناريوهات التحميل الجانبي والنشر على متجر Microsoft.
سير العمل الأساسي في Visual Studio هو:
- افتح الحل.
- انقر بزر الماوس الأيمن على المشروع المعبأ.
- حدد خيار النشر.
- حدد "إنشاء حزم التطبيقات".
ومن هناك، يسألك المساعد عما إذا كنت تريد توقيع الحزمة (والإجابة المعتادة هي نعم)، ويسمح لك بالاختيار بين التحميل الجانبي أو المتجر، ويرشدك في اختيار شهادة التوقيع.
للتوقيع، يمكنك استخدام شهادة من مخزن الشهادات المحلييمكنك تصدير ملف PFX أو إنشاء شهادة تطوير موقعة ذاتيًا. في بيئات الشركات، يُنصح باستخدام شهادة صادرة عن البنية التحتية للمفاتيح العامة الداخلية أو جهة حكومية، لضمان تعرف جميع الأجهزة عليها دون الحاجة إلى خطوات إضافية.
عندما يكون الهدف هو متجر مايكروسوفتيقوم المعالج تلقائيًا بإنشاء ملف التحميل (.msixupload أو .appxupload)، والذي يتضمن الحزمة والرموز اللازمة لتحليل الأداء والحظر في مركز الشركاء. في حال اختيارك التحميل الجانبي فقط، ستكون النتيجة ملفًا بامتداد .msix أو .msixbundle جاهزًا للتوزيع عبر قنوات أخرى.
تثبيت حزم MSIX والاختبار المحلي
تثبيت حزمة MSIX أمر بسيط بشكل مدهش في سيناريوهات الاختبار: ما عليك سوى النقر المزدوج على ملف .msix أو .msixbundle لفتح مثبت التطبيق، وعرض الاسم والناشر والإصدار والأذونات المطلوبة وزر التثبيت مع شريط التقدم.
عند إنشاء الحزم في وضع "حزم التطبيقات" في Visual Studioيتضمن البرنامج النصي PowerShell (Add-AppDevPackage.ps1) داخل مجلد يحمل اللاحقة _Testتشغيل هذا البرنامج النصي باستخدام "التشغيل باستخدام PowerShell" يقوم تلقائيًا بتثبيت شهادة التطوير والحزمة، ويعرض رسالة نجاح عند اكتمال العملية.
كما يمكن إدارة عملية التثبيت والإزالة. باستخدام PowerShell، على سبيل المثال مع Add-AppxPackage, Get-AppxPackage y Remove-AppxPackageوهو أمر أساسي في برامج التشغيل الآلي وخطوط أنابيب التكامل المستمر/التسليم المستمر.
ربط تطبيقات MSIX وتوصيل التطبيقات في البيئات الافتراضية
يُعدّ MSIX app attach الوجه "الحديث" لتوزيع التطبيقات في بيئات مثل Azure Virtual Desktop وحلول الحوسبة للمستخدم النهائي التابعة لجهات خارجية، بدلاً من تثبيت التطبيق ضمن الصورة الأساسية أو على كل جهاز، يتم تحميل حاوية تحتوي مسبقًا على التطبيق الموسع وربطها بجلسة المستخدم. في هذه البنى التحتية، يجب مراعاة المشكلات الشائعة. اتصال RDP.
تعتمد هذه التقنية على حاويات VHD أو VHDX أو CIM والتي تتضمن محتويات حزمة MSIX. توجد هذه الملفات على مشاركة شبكة أو تخزين Azure، ويتم تثبيتها ديناميكيًا على وكلاء التسليم الافتراضيين (VDAs) أو مضيفي الجلسات حسب الحاجة. مزايا هذه الأداة هي:
- حافظ على صور النظام أصغر حجماً وأكثر عمومية.
- تقليل الوقت اللازم لتوريد الآلات الجديدة.
- تسهيل التحكم في الإصدارات.
- قلل من تأثير تغييرات البرامج على أجهزة سطح المكتب المشتركة.
من الضروري أن يتم توقيع حزم MSIX بشهادة موثوقة لكي يسمح النظام بتثبيته واستخدامه، يجب أن تكون الشهادة معترفًا بها من قبل أجهزة VDA أو من قبل الأجهزة الفعلية التي سيتم فيها ربط التطبيق.
في الواقع العملي، يقوم العديد من المسؤولين بدمج ميزة ربط تطبيقات MSIX بأدوات مثل سيتريكس تطبيقات افتراضية وسطح المكتب، والتي تدمج إدارة MSIX و App-V وغيرها من التقنيات (مثل FlexApp) من خلال مكون تسليم الحزم الخاص بها في VDAs.

Citrix و App-V و MSIX وغيرها من تقنيات التغليف المؤسسي
في بيئات الشركات الكبيرة، لا يوجد عادةً نوع واحد فقط من التغليف.ولكن مزيج من التقنيات المتعايشة: App-V لتقنية المحاكاة الافتراضية للتطبيقات الكلاسيكية، وMSIX للتغليف الحديث، وفي بعض الحالات، طبقات التطبيقات مثل FlexApp.
يوفر Citrix Virtual Apps and Desktops نهجين لتطبيق App-V: الإدارة المزدوجة (حيث تدير خوادم App-V دورة الحياة بأكملها ويتعاون Citrix معها) والإدارة الفردية (حيث يتم تخزين حزم App-V على مشاركة شبكة ويتولى Citrix مباشرة تسليم ملفات التكوين الديناميكية).
للاتصال بتطبيق MSIX وتطبيق MSIXيستخدم Citrix مكونًا لتسليم الحزم يتم تثبيته على أجهزة VDA. يدير هذا المكون دورة حياة الحزم على الجهاز المضيف، سواء كانت حزمة MSIX أصلية أو صورة مرفقة للتطبيق (.vhd، .vhdx، .cim)، وينسق نشر التطبيقات إلى مجموعات التسليم.
يتم تخزين الحزم عادةً على مشاركات شبكة UNC/SMB أو في ملفات Azure.والتي تصل إليها أجهزة VDA بصلاحيات القراءة فقط. في بعض الحالات، من الضروري تعديل حساب الخدمة (ctxAppVService) بحيث يستخدم بيانات اعتماد المستخدم مع الأذونات في Azure، بدلاً من حساب الجهاز المحلي، مع مراعاة الاحتمالات سياسات الشبكة هذا قد يمنع الوصول.
يمكن للمسؤولين تحميل الحزم دفعة واحدة أو واحدة تلو الأخرى من خلال Web Studio، قم بتعيينها إلى مجموعات التسليم، وتحكم في رؤيتها (مساحة العمل، سطح المكتب، أو كليهما)، وبالنسبة لـ App-V، قم بتكوين مجموعات العزل التي تسمح لك بنشر الحزم المترابطة تلقائيًا في نفس المساحة الافتراضية.
فهم MSIX باعتباره المحور المركزي لدورة حياة التطبيق —من طريقة تغليفه وتوقيعه، إلى كيفية تثبيته على أجهزة سطح المكتب الافتراضية وتحديثه باستخدام الكتل التفاضلية— يسمح بتصميم عمليات نشر أكثر قوة وأمانًا وأسهل في الصيانة من المثبتات الكلاسيكية، والاستفادة الكاملة من إمكانيات Windows الحديثة وتسهيل الحياة لكل من المطورين وفرق تكنولوجيا المعلومات.

