సైలెంట్ ఇన్స్టాల్ స్విచ్లు: MSI, NSIS, Inno Setup
చాలా Windows ఇన్స్టాలర్లు ఏ విండో చూపించకుండానే రన్ అవుతాయి. స్విచ్ ఇన్స్టాలర్ను ఏ టూల్తో తయారు చేశారో దానిపై ఆధారపడుతుంది, కాబట్టి మొదటి అడుగు అది తెలుసుకోవడమే.
ఇన్స్టాలర్ రకం తెలుసుకోండి
ExeAtlasలో ప్రతి యాప్ పేజీ ప్రతి ఫైల్కు ఇన్స్టాలర్ రకం చూపిస్తుంది (MSI, NSIS, Inno Setup, WiX, MSIX …). లేకపోతే “winget show” దాన్ని చూపిస్తుంది, ఫైల్ లక్షణాలు (Properties) → వివరాలు లో తరచుగా టూల్ పేరు ఉంటుంది, చాలా ఇన్స్టాలర్లు కమాండ్ ప్రాంప్ట్ నుంచి /? తో రన్ చేస్తే తమ స్విచ్లు చూపిస్తాయి.
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.