خاموش انسٹالیشن کے سوئچز: MSI، NSIS، Inno Setup
Windows کے زیادہ تر انسٹالر کوئی ونڈو دکھائے بغیر چل سکتے ہیں۔ سوئچ اس ٹول پر منحصر ہے جس سے انسٹالر بنایا گیا، اس لیے پہلا قدم اس کی قسم معلوم کرنا ہے۔
انسٹالر کی قسم معلوم کریں
ExeAtlas پر ہر پروگرام کا صفحہ ہر فائل کے انسٹالر کی قسم بتاتا ہے (MSI، NSIS، Inno Setup، WiX، MSIX …)۔ ورنہ “winget show” اسے دکھاتا ہے، فائل کی پراپرٹیز ← تفصیلات (Properties → Details) میں اکثر ٹول کا نام ہوتا ہے، اور بہت سے انسٹالر کمانڈ پرامپٹ سے /? کے ساتھ چلانے پر اپنے سوئچز دکھا دیتے ہیں۔
winget show --id VideoLAN.VLC.\setup.exe /?MSI (Windows Installer)
MSI پیکیجز msiexec سے انسٹال ہوتے ہیں۔ /qn کوئی انٹرفیس نہیں دکھاتا، /norestart خودکار ری اسٹارٹ روکتا ہے اور /l*v تفصیلی لاگ لکھتا ہے۔ اگر پیکیج سپورٹ کرے تو INSTALLDIR جیسی پراپرٹیز اسی لائن میں دی جا سکتی ہیں۔ ان انسٹال کے لیے پیکیج کا ProductCode استعمال کریں، جو ایک GUID ہے اور ہر پروگرام کے خاموش انسٹالیشن والے صفحے پر دکھایا جاتا ہے۔
msiexec /i app.msi /qn /norestart /l*v "%TEMP%\app-install.log"msiexec /x {PRODUCT-CODE-GUID} /qn /norestartNSIS
NSIS (Nullsoft) سے بنے انسٹالر /S لیتے ہیں، اور یہ بڑے چھوٹے حروف میں فرق کرتا ہے۔ /D انسٹال فولڈر طے کرتا ہے؛ یہ آخری سوئچ ہونا چاہیے اور بغیر کوٹیشن مارکس کے لکھا جاتا ہے، چاہے راستے میں اسپیس ہوں۔ ان انسٹالر، جو عموماً پروگرام فولڈر میں uninstall.exe ہوتا ہے، بھی /S قبول کرتا ہے۔
setup.exe /Ssetup.exe /S /D=C:\Program Files\App"C:\Program Files\App\uninstall.exe" /SInno Setup
/VERYSILENT تمام ونڈوز چھپا دیتا ہے، /SUPPRESSMSGBOXES میسج باکسز کا ڈیفالٹ جواب دے دیتا ہے، /NORESTART ری اسٹارٹ روکتا ہے اور /SP- “This will install…” والا سوال چھوڑ دیتا ہے۔ /DIR فولڈر طے کرتا ہے اور /LOG لاگ لکھتا ہے۔ Inno کے ان انسٹالر (unins000.exe) بھی یہی /VERYSILENT سوئچ لیتے ہیں۔
setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP-setup.exe /VERYSILENT /DIR="C:\Apps\App" /LOG="%TEMP%\app.log""C:\Program Files\App\unins000.exe" /VERYSILENT /NORESTARTWiX Burn بنڈلز اور InstallShield
WiX ٹول سیٹ (Burn) سے بنے بنڈلز /quiet، /norestart اور /log قبول کرتے ہیں۔ InstallShield کے سیٹ اپ پروگرام جن کے اندر MSI ہو، MSI کے سوئچز /v کے ذریعے آگے بھیجتے ہیں؛ کوٹیشن مارکس اسی ترکیب کا حصہ ہیں۔
setup.exe /quiet /norestart /log "%TEMP%\bundle.log"setup.exe /s /v"/qn /norestart"MSIX اور APPX
MSIX اور APPX پیکیجز PowerShell کے ذریعے بغیر کسی ڈائیلاگ کے موجودہ صارف کے لیے انسٹال ہوتے ہیں۔ ہٹانے کے لیے پیکیج کے پورے نام کے ساتھ Remove-AppxPackage استعمال ہوتا ہے۔
Add-AppxPackage -Path .\App.msixGet-AppxPackage *AppName* | Remove-AppxPackageنتیجہ چیک کریں
خاموش انسٹالر ایک ایگزٹ کوڈ واپس کرتا ہے: 0 کا مطلب کامیابی، 3010 کا مطلب کامیابی مگر ری اسٹارٹ ضروری، اور 1641 کا مطلب کہ انسٹالر نے خود ری اسٹارٹ شروع کر دیا۔ PowerShell میں انسٹالر کو -Wait کے ساتھ چلائیں اور کوڈ پڑھیں۔
$p = Start-Process .\setup.exe -ArgumentList "/S" -Wait -PassThru$p.ExitCodeاکثر پوچھے جانے والے سوالات
انسٹالر پھر بھی ونڈو کیوں دکھاتا ہے؟
سوئچ کسی دوسری قسم کے انسٹالر کا ہے، یا پروگرام ایک الگ سیٹ اپ (مثلاً کوئی runtime) چلاتا ہے جس کے اپنے سوئچز ہیں۔ پہلے قسم چیک کریں؛ جن EXE فائلوں کے اندر MSI ہو ان میں MSI کے سوئچز آگے بھیجنے پڑتے ہیں۔
کیا خاموش انسٹالیشن کے لیے ایڈمنسٹریٹر رائٹس چاہییں؟
جو انسٹالر Program Files یا HKLM میں لکھتے ہیں ان کے لیے ہاں۔ کمانڈ ایڈمنسٹریٹر والے پرامپٹ سے چلائیں، یا SYSTEM کے طور پر چلنے والے کسی ٹول جیسے Intune یا Configuration Manager سے ڈیپلائے کریں۔