إنشاء مثبّت 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: بناء المثبّت
- ارفع ملف zip إلى ExeTup. سيعرض قائمة الملفات ويختار
MyApp.exeبوصفه البرنامج الرئيسي؛ أكّد الاختيار. - أدخل اسم التطبيق والإصدار (مطابقًا لما في
package.json) والناشر وترخيصًا اختياريًا. - اختر نطاق التثبيت. تُثبَّت تطبيقات Electron عادةً لكل مستخدم، وهو ما لا يتطلب صلاحيات مسؤول ويطابق ما تفعله المثبّتات المبنية على Squirrel. اختر كل المستخدمين إذا أردت وضع التطبيق في Program Files لجميع من يستخدم الجهاز.
- أبقِ على 64 بت لحزمة x64.
- ارفع ملف
.icoنفسه للمثبّت والاختصارات، وفعّل اختصارات قائمة ابدأ وسطح المكتب، و«التشغيل بعد التثبيت» إذا رغبت. - ابنِ المثبّت، ونزّل
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 بأداة التجميع الخاصة به، لكن الإخراج المحزّم العادي يعمل هنا بالطريقة نفسها.
أدلة ذات صلة
- كيف تصنع ملف Setup.exe لتطبيق Windows (بدون برمجة)ما الذي يفعله ملف Setup.exe فعلاً، والطرق الثلاث لصنعه، وكيف تحوّل مجلد تطبيقك إلى مثبّت احترافي خلال دقائق دون كتابة أي سكربت تثبيت.
- إنشاء مثبّت Windows على Mac أو Linuxخياراتك لبناء Setup.exe عندما تطوّر على macOS أو Linux، من التصريف المتقاطع عبر NSIS إلى بناء يتم بالكامل في المتصفح، وكيف تختبر النتيجة دون امتلاك حاسوب Windows.
- '"قام Windows بحماية الكمبيوتر الخاص بك": ماذا يعني تحذير SmartScreen وكيف تتخلص منه'لماذا يعرض Windows تحذير "ناشر غير معروف" على مثبّت جديد، وما الذي يمكن للمستخدمين النقر عليه، وكيف يُزيل توقيع التعليمات البرمجية والسمعة هذا التحذير.