الانتقال إلى المحتوى

إنشاء مثبّت Windows لتطبيق Electron

حزّم تطبيق Electron باستخدام Electron Packager أو Forge، ثم حوّل مجلد الإخراج إلى Setup.exe مع معالج تثبيت واختصارات وأداة إلغاء تثبيت، دون الحاجة إلى إعداد electron-builder.

آخر تحديث 31 أكتوبر 2026 · 3 دقائق قراءة

يمنحك Electron تطبيق Windows جاهزًا للعمل داخل مجلد: MyApp.exe وبضعة ملفات DLL وresources/app.asar وملفات اللغات. أما تحويل هذا المجلد إلى Setup.exe فهو خطوة منفصلة، والأدوات المعتادة (electron-builder وSquirrel وmakers الخاصة بـ electron-forge) تأتي كل منها بإعداداتها وخصوصياتها ومتطلباتها لجهاز البناء. إذا كنت تفضّل عدم تعلّمها فقط للحصول على مثبّت بنمط المعالج، فهذا هو الطريق المختصر.

الخطوة 1: حزم التطبيق في مجلد

تحتاج إلى التطبيق المحزّم، لا مشروع التطوير. كلتا الأداتين أدناه تنتج مجلدًا يمكنك توزيعه.

Electron Packager (أمر واحد، دون ملف إعداد):

npx @electron/packager . MyApp --platform=win32 --arch=x64 --icon=build/icon.ico --overwrite

ينشئ هذا المجلد MyApp-win32-x64/ وبداخله MyApp.exe.

Electron Forge، إذا كان مشروعك يستخدمه بالفعل:

npm run package

يظهر المجلد تحت out/، مثل out/MyApp-win32-x64/.

يعمل كلا الأمرين على Windows وmacOS وLinux. يحدد الخيار --icon (أو packagerConfig.icon في Forge) الأيقونة المضمّنة في MyApp.exe؛ احتفظ بملف .ico هذا في متناول يدك لأنك ستحتاجه للمثبّت أيضًا.

افتح المجلد وانقر نقرًا مزدوجًا على MyApp.exe للتأكد من أن التطبيق المحزّم يعمل. استخدم --arch=ia32 بدلًا من ذلك إذا كنت بحاجة إلى إصدار 32 بت.

الخطوة 2: ضغط المجلد

اضغط محتويات المجلد MyApp-win32-x64/ (ملف .exe وملفات DLL وresources/ وlocales/)، لا المشروع الأصلي. كل ما في ملف zip يُثبَّت كما هو، لذا استبعد أي شيء لا ينبغي توزيعه.

الخطوة 3: بناء المثبّت

  1. ارفع ملف zip إلى ExeTup. سيعرض قائمة الملفات ويختار MyApp.exe بوصفه البرنامج الرئيسي؛ أكّد الاختيار.
  2. أدخل اسم التطبيق والإصدار (مطابقًا لما في package.json) والناشر وترخيصًا اختياريًا.
  3. اختر نطاق التثبيت. تُثبَّت تطبيقات Electron عادةً لكل مستخدم، وهو ما لا يتطلب صلاحيات مسؤول ويطابق ما تفعله المثبّتات المبنية على Squirrel. اختر كل المستخدمين إذا أردت وضع التطبيق في Program Files لجميع من يستخدم الجهاز.
  4. أبقِ على 64 بت لحزمة x64.
  5. ارفع ملف .ico نفسه للمثبّت والاختصارات، وفعّل اختصارات قائمة ابدأ وسطح المكتب، و«التشغيل بعد التثبيت» إذا رغبت.
  6. ابنِ المثبّت، ونزّل Setup.exe، واختبره على Windows.

أمور خاصة بـ Electron

  • الحجم. يبلغ حجم تطبيق Electron المحزّم من 150 إلى 250 ميغابايت دون ضغط. يستخدم المثبّت ضغط LZMA الصلب، الذي يخفّضه عادةً إلى ما بين 60 و90 ميغابايت. تحقق من حد الرفع في قسم الأسعار قبل الضغط؛ فالموقع هو من يحدده.
  • التحديثات التلقائية. لا يتضمن هذا المثبّت خدمة تحديث. إذا كنت تستخدم electron-updater أو آلية التحديث في Squirrel، فحافظ على هذا المسار؛ هذا الدليل موجّه للتطبيقات التي تطرح إصداراتها الجديدة على شكل مثبّت جديد، وهو أسلوب أبسط ومناسب لكثير من التطبيقات.
  • التشغيل عند بدء النظام. فضّل خيار «التشغيل عند بدء النظام» في المثبّت على app.setLoginItemSettings عندما تريد أن يُتخذ القرار وقت التثبيت؛ فكلاهما يكتب النوع نفسه من إدخالات Run.
  • توقيع الكود. يبقى MyApp.exe المحزّم وSetup.exe غير موقّعين ما لم توقّعهما بنفسك. قد تُطلق التنزيلات غير الموقّعة تحذير SmartScreen؛ راجع دليل SmartScreen.

مقارنة بهدف NSIS في electron-builder

يمكن لـ electron-builder أيضًا إنتاج مثبّت NSIS، وهو أداة جيدة عندما تحتاج إلى مجموعة ميزاته الكاملة: التحديثات التفاضلية، وسكربتات NSIS المخصصة، وإخراج MSI، وخطافات التوقيع. والمقابل هو الإعدادات وبيئة بناء يجب صيانتها. يبني ExeTup النوع نفسه من مثبّتات NSIS من المجلد المحزّم، مع ضبط الخيارات في نموذج، وهو ما يناسب الفرق التي تصدر إصدارات بين الحين والآخر أو التي تبني على Mac ولا تريد خط إنتاج Windows من أجل المثبّت وحده.

الأسئلة الشائعة

هل يمكنني رفع مجلد مشروع Electron بدلًا من التطبيق المحزّم؟

لا. يغلّف المثبّت إخراج Electron Packager أو Forge: أي المجلد الذي يحتوي على MyApp.exe. أما مشروع المصدر وnode_modules وأدوات التطوير فلا مكان لها فيه.

أي نطاق تثبيت ينبغي أن يستخدمه تطبيق Electron؟

لكل مستخدم هو الخيار الشائع، لأنه يثبّت دون مطالبة بصلاحيات المسؤول في مجلد المستخدم الخاص. اختر كل المستخدمين عندما تنشر أقسام تقنية المعلومات التطبيق لكل حساب على الجهاز.

هل يتعامل المثبّت مع حالة كون التطبيق مفتوحًا أثناء إلغاء التثبيت؟

يزيل مُلغي التثبيت الملفات التي ثبّتها. اطلب من المستخدمين إغلاق التطبيق أولًا، كما هو الحال مع أي برنامج Windows؛ فلا يمكن حذف ملف .exe قيد التشغيل حتى يُغلق.

هل يعمل هذا مع التطبيقات المبنية بـ Tauri أو NW.js؟

نعم. يمكن تغليف أي مجلد يحتوي على ملف .exe لنظام Windows وملفاته. يأتي Tauri بأداة التجميع الخاصة به، لكن الإخراج المحزّم العادي يعمل هنا بالطريقة نفسها.

أدلة ذات صلة