सायलेंट इन्स्टॉल स्विच: MSI, NSIS, Inno Setup
बहुतेक Windows इन्स्टॉलर कोणतीही विंडो न दाखवता चालू शकतात. स्विच इन्स्टॉलर कोणत्या टूलने बनवला आहे यावर अवलंबून असतो, म्हणून पहिली पायरी तेच शोधणे.
इन्स्टॉलरचा प्रकार ओळखा
ExeAtlas वरील प्रत्येक ॲप पेज प्रत्येक फाइलच्या इन्स्टॉलरचा प्रकार सांगते (MSI, NSIS, Inno Setup, WiX, MSIX …). नाहीतर “winget show” तो दाखवतो, फाइलच्या गुणधर्म → तपशील मध्ये बहुधा टूलचे नाव असते, आणि अनेक इन्स्टॉलर कमांड प्रॉम्प्टवरून /? सह चालवल्यास आपले स्विच दाखवतात.
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 घेतात, आणि यात मोठा 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वारंवार विचारले जाणारे प्रश्न
इन्स्टॉलर तरीही विंडो का दाखवतो?
स्विच दुसऱ्या प्रकारच्या इन्स्टॉलरचा आहे, किंवा प्रोग्राम स्वतःचे स्विच असलेला वेगळा सेटअप (उदा. एखादा रनटाइम) चालवतो. आधी प्रकार तपासा; ज्या EXE फाइल्समध्ये आत MSI असते, त्यांच्यात MSI चे स्विच पुढे पाठवावे लागतात.
सायलेंट इन्स्टॉलला ॲडमिनिस्ट्रेटर अधिकार लागतात का?
Program Files किंवा HKLM मध्ये लिहिणाऱ्या इन्स्टॉलरला लागतात. कमांड ॲडमिनिस्ट्रेटर प्रॉम्प्टवरून चालवा, किंवा SYSTEM म्हणून चालणाऱ्या टूलद्वारे डिप्लॉय करा, उदा. Intune किंवा Configuration Manager.