साइलेन्ट इन्स्टल स्विच: 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 लिन्छन्, र यसमा ठूलो 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 लिन्छन्। भित्र MSI राख्ने InstallShield सेटअपले 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बारम्बार सोधिने प्रश्नहरू
इन्स्टलरले अझै पनि विन्डो किन देखाउँछ?
स्विच अर्कै प्रकारको इन्स्टलरको हो, वा प्रोग्रामले आफ्नै स्विच भएको छुट्टै सेटअप (जस्तै कुनै रनटाइम) चलाउँछ। पहिले प्रकार जाँच्नुहोस्; भित्र MSI राख्ने EXE फाइलमा MSI का स्विच अगाडि पठाउनुपर्छ।
के साइलेन्ट इन्स्टललाई एडमिनिस्ट्रेटर अधिकार चाहिन्छ?
Program Files वा HKLM मा लेख्ने इन्स्टलरलाई चाहिन्छ। कमान्ड एडमिनिस्ट्रेटर प्रम्प्टबाट चलाउनुहोस्, वा SYSTEM का रूपमा चल्ने टुल, जस्तै Intune वा Configuration Manager, बाट डिप्लोय गर्नुहोस्।