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

التثبيت الصامت لملف Setup.exe: مفتاح /S والمجلد المخصص والنشر

كيفية تشغيل Setup.exe مبني على NSIS بصمت باستخدام /S، واختيار المجلد عبر /D=، وإلغاء التثبيت بصمت، ونشر المثبّت عبر Intune أو PDQ أو سكربت.

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

فرق تقنية المعلومات لا تنقر عبر معالجات التثبيت. إنها تشغّل المثبّت من سكربت أو من أداة نشر وتتوقع منه أن يكمل عمله بنفسه. كل مثبّت يبنيه ExeTup هو مثبّت NSIS، وNSIS يدعم التثبيت الصامت منذ عقود. يتناول هذا الدليل المفاتيح، والمزالق الشائعة، وكيف تستدعيها أدوات النشر المعتادة.

المفاتيح

Setup.exe /S

يثبّت بالإعدادات الافتراضية التي حددتها عند البناء: المجلد الافتراضي، والاختصارات، والنطاق المختار. لا تظهر أي نوافذ. المفتاح حساس لحالة الأحرف: /S وليس /s.

Setup.exe /S /D=C:\Apps\My App

يثبّت في مجلد مختلف. قواعد /D=:

  • يجب أن يكون آخر معامل في سطر الأوامر؛
  • يُكتب المسار بدون علامات اقتباس، حتى لو احتوى على مسافات؛
  • وهو حساس لحالة الأحرف أيضًا.

إلغاء التثبيت الصامت:

"C:\Program Files\My App\unins000.exe" /S

يُسمّى برنامج إلغاء التثبيت unins000.exe ويوجد في مجلد التثبيت، ويُسجَّل ضمن الإعدادات ← التطبيقات، لذا يعثر عليه winget uninstall ومعظم أدوات النشر أيضًا.

ما الذي يفعله التثبيت الصامت رغم ذلك

  • يثبّت لجميع المستخدمين (في Program Files، مع الحاجة إلى رفع الصلاحيات) أو للمستخدم الحالي فقط، حسب ما اختير عند البناء. المثبّت على مستوى الجهاز الذي يُشغَّل بصمت من موجّه أوامر غير مرفوع الصلاحيات يفشل دون أي إشعار؛ شغّله من صدفة مرفوعة الصلاحيات أو من سياق النظام في أداة النشر لديك.
  • ينشئ اختصارات قائمة ابدأ وسطح المكتب إذا كانت مفعّلة.
  • يسجّل برنامج إلغاء التثبيت والإصدار في إعدادات Windows.
  • لا يشغّل التطبيق بعد الانتهاء، حتى لو كان خيار "التشغيل بعد التثبيت" مفعّلًا. تُتخطّى هذه الصفحة في الوضع الصامت.
  • يستخدم اللغة الأولى عند تكوين عدة لغات؛ ويُتخطّى مربع حوار اختيار اللغة.

رموز الخروج

ينتهي التثبيت الصامت الناجح برمز الخروج 0. أي رمز غير صفري يعني أن التثبيت أُجهض، وغالبًا لأن رفع الصلاحيات رُفض أو لأن المثبّت كان قيد التشغيل بالفعل. ينبغي للسكربتات التحقق من الرمز:

Setup.exe /S
if %errorlevel% neq 0 exit /b %errorlevel%

في PowerShell، استخدم Start-Process -Wait -PassThru واقرأ .ExitCode، لأن Setup.exe يعود فورًا بخلاف ذلك:

$p = Start-Process -FilePath ".\Setup.exe" -ArgumentList "/S" -Wait -PassThru
exit $p.ExitCode

أدوات النشر

  • Microsoft Intune: حزّمه كتطبيق Win32 (‏.intunewin) مع أمر التثبيت Setup.exe /S وأمر إلغاء التثبيت "%ProgramFiles%\My App\unins000.exe" /S. استخدم مدخل السجل ضمن HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\My App أو ملف .exe الرئيسي كقاعدة اكتشاف.
  • PDQ Deploy وManageEngine وChocolatey: خطوة "Install" تشغّل Setup.exe /S في سياق النظام.
  • نهج المجموعة: يتطلب تثبيت البرامج عبر GPO ملفات MSI. استخدم بدلًا من ذلك سكربت بدء تشغيل ينفّذ Setup.exe /S.
  • winget: بيان يحتوي على InstallerType: nullsoft يخبر winget بالمفاتيح؛ ويجب أن يكون المثبّت مستضافًا على عنوان URL ثابت.

الترقيات

تشغيل Setup.exe /S أحدث فوق إصدار مثبّت يستبدل الملفات في مكانها ويحدّث الإصدار في إعدادات Windows. ينبغي للمستخدمين إغلاق التطبيق أولًا؛ فملف .exe قيد التشغيل لا يمكن الكتابة فوقه.

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

هل المفتاح هو /S أم /silent؟

/S بحرف كبير. تتجاهل مثبّتات NSIS المفتاحين /silent و/verysilent، فهما يخصّان Inno Setup.

هل يمكنني تمرير مجلد يحتوي على مسافات؟

نعم، بدون علامات اقتباس: Setup.exe /S /D=C:\Program Files\My App. يجب أن يكون المعامل /D= آخر شيء في السطر.

هل يحتاج التثبيت الصامت إلى صلاحيات المسؤول؟

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

أين يوجد برنامج إلغاء التثبيت؟

unins000.exe في مجلد التثبيت. يقبل المفتاح نفسه /S لإلغاء التثبيت بصمت.

أدلة ذات صلة