Le installazioni silenziose aiutano a distribuire applicazioni e aggiornamenti sui dispositivi senza interrompere gli utenti o richiedere a ogni dipendente di approvarli e installarli manualmente. Tuttavia, i team IT possono incontrare difficoltà quando cercano di eseguire un'installazione silenziosa da un programma di installazione EXE.
I programmi di installazione MSI condividono un insieme di opzioni silent tramite msiexec, il che rende i comandi di installazione silent più facili da distribuire, ma i programmi di installazione EXE non hanno questa coerenza. L'opzione varia in base allo strumento con cui è stato creato il programma di installazione, quindi, mentre il comando /S può funzionare su un EXE, potrebbe non fare nulla su quello successivo. Le opzioni in questa guida funzionano allo stesso modo su Windows 10 e Windows 11.
Con questo in mente, esploriamo i comandi EXE per l’installazione invisibile, alcuni switch comuni, come identificare il framework del programma di installazione e come gestire le installazioni invisibili e gli ostacoli che possono incontrare.
Switch comuni per installare file EXE in modalità silenziosa
L'opzione di installazione invisibile di cui hai bisogno dipenderà dal framework con cui è stato creato l'EXE. Sebbene esistano diverse varianti, è possibile identificare fin da subito il framework del programma di installazione e il comando di installazione invisibile.
I comuni parametri per l'installazione invisibile includono:
Framework di installazione | Comando di installazione silenziosa | Note |
InstallShield (MSI di base) |
|
|
InstallShield (InstallScript) |
| Richiede un file di risposta registrato ( |
Inno Setup |
|
|
NSIS (Nullsoft) |
| Maiuscole/minuscole sensibili: |
bundle WiX Burn |
| Esegui il bundle con |
Installer EXE avanzato |
|
|
Anche una volta trovato lo switch per l'installazione silenziosa, assicurati di testarlo prima di provare a distribuirlo su più dispositivi. Uno switch errato può lasciare un'installazione bloccata su una richiesta che nessuno può vedere, quindi vale la pena dedicare tempo a un test su una singola macchina.
Passaggio 1: identifica quale strumento ha creato il programma di installazione
Prima di tutto, ti conviene identificare il framework usato dal programma di installazione. Un programma di installazione EXE è in genere un wrapper creato con uno strumento di pacchettizzazione, come InstallShield, NSIS o Advanced Installer. Ogni strumento ha i propri switch, quindi identificarlo aiuta a restringere le opzioni a una o due.
Puoi identificare lo strumento in alcuni modi:
Esegui il programma di installazione con
/?o/help: una finestra della guida è spesso il modo più semplice per identificare lo strumento, perché molti programmi di installazione elencano le loro opzioni o il nome dello strumento. La documentazione WinGet di Microsoft consiglia di eseguire un programma di installazione con-?per individuare i suoi switch silenziosi.Guarda la procedura guidata di configurazione: la procedura guidata di configurazione spesso può indicare il nome dello strumento di packaging. Puoi avviarlo normalmente, poi controllare la barra del titolo, il branding o il testo "Informazioni" per vedere se è indicato lì. Assicurati di annullare prima dell'installazione, perché ci sono ancora alcuni passaggi che dovrai seguire prima.
Controlla il manifesto WinGet dell'app. Se l'app è nel repository della community di Windows Package Manager, puoi controllarne i record del manifesto. Spesso questo include un tipo di programma di installazione, come Inno, Nullsoft, WiX, Burn o MSI.
Se nessuno di questi metodi funziona, puoi consultare la documentazione di distribuzione del fornitore per maggiori informazioni.
Passaggio 2: trova gli switch per l'installazione silenziosa dell'EXE
Successivamente, dovrai individuare quali sono le opzioni per l'installazione silent. Puoi affrontare la cosa in diversi modi, tra cui:
Controlla la documentazione di distribuzione del fornitore
I fornitori spesso includono opzioni di installazione silenziosa, soprattutto se supportano la distribuzione enterprise. Controllare la documentazione può indicarti direttamente il parametro per l’installazione silenziosa, quindi dovrebbe essere il primo posto in cui guardare. La documentazione spesso indica qual è il parametro e può anche includere opzioni personalizzate aggiunte dal fornitore, come chiavi di licenza o selezione delle funzionalità.
Leggi l'output della guida del programma di installazione
Se la documentazione non è chiara, puoi controllare l’output della guida del programma di installazione. Per farlo, esegui l’EXE con /? o /help da un prompt dei comandi e, se appare una finestra d’uso, dovrebbe elencare le opzioni supportate. Se non ha un output della guida, dovrai annullare l’installazione e provare un altro metodo.
Cerca il manifesto WinGet dell'app
Se un'app si trova nel repository della community di WinGet, deve supportare l'installazione silenziosa. Puoi cercare nel repository winget-pkgs su GitHub per trovare il tipo di programma di installazione e gli switch silenziosi registrati per quell'app.
Prova Universal Silent Switch Finder come ultima risorsa
Se tutto il resto fallisce, Universal Silent Switch Finder è un'utilità legacy gratuita che analizza un EXE e suggerisce uno switch per il suo tipo di programma di installazione. Tuttavia, ha dei limiti: il suo sito originale non è più disponibile e non può trovare switch per programmi di installazione personalizzati che non usano un framework noto. Pertanto, se hai bisogno di usarlo, assicurati di scaricarlo da una fonte affidabile e di testare il comando suggerito.
Opzioni di installazione silenziosa per framework di installazione
Ora diamo un'occhiata ad alcuni degli switch di installazione silenziosa che potresti incontrare. Sapere quale tipo di framework di installazione stai usando può rendere più facile identificare gli switch di installazione di cui hai bisogno, quindi questo elenco può aiutarti a trovarli più facilmente:
installazione silenziosa di InstallShield
Il metodo di installazione invisibile di InstallShield può dipendere dal tipo di progetto con cui è stato creato setup.exe. Questo include:
Progetti MSI di base: eseguono
setup.exe /s /v"/qn"senza usare un file di risposta. Non è consentito alcuno spazio tra/ve il suo valore, quindi/v"/qn"funziona ma/v "/qn"no. Puoi anche passare proprietà MSI all'interno delle virgolette di/v, ad esempio:setup.exe /s /v"/qn INSTALLDIR=D:\Destination".Progetti InstallScript e InstallScript MSI: richiedono un file di risposta. Esegui
setup.exe /runa volta per registrare le tue risposte in un filesetup.iss, quindi eseguisetup.exe /sper riprodurle in modalità silenziosa. Per questi, ti conviene usare/f1per impostare il percorso del file di risposta e/f2per impostare il percorso del log, entrambi come percorsi assoluti.
Inno Setup
Per Inno, puoi usare il comando /SILENT per nascondere la procedura guidata ma mostrare comunque una finestra di avanzamento, oppure /VERYSILENT per nascondere tutto. Puoi anche sopprimere le finestre di messaggio con /SUPPRESSMSGBOXES oppure impedire i riavvii automatici con /NORESTART.
Ad esempio, un'installazione silenziosa con Inno potrebbe essere così: setup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /LOG="C:\Logs\app.log".
Tieni presente che alcune finestre di messaggio non possono essere soppresse e che /DIR= richiede un percorso completo per funzionare.
NSIS (Nullsoft)
Con Nullsoft, puoi usare il comando /S per eseguire un'installazione silenziosa. Tieni presente che le opzioni NSIS distinguono tra maiuscole e minuscole, quindi la S deve essere maiuscola. Puoi impostare la cartella di installazione usando /D= come ultima opzione senza virgolette (anche se il percorso contiene spazi).
Ad esempio, puoi eseguire setup.exe /S /D=C:\Program Files\App.
Gli autori dei programmi di installazione possono ignorare queste impostazioni predefinite, quindi se la documentazione del fornitore fornisce comandi diversi, ti conviene usare quelli.
bundle WiX Burn
I bundle Burn sono EXE che concatenano diversi pacchetti, in genere MSI. Assicurati di eseguire il bundle con /? per confermare le sue opzioni, poiché possono essere personalizzate.
Un bundle WiX Burn potrebbe avere questo aspetto: setup.exe /quiet /norestart /log C:\Logs\app.log.
File EXE di Advanced Installer
Gli EXE di Advanced Installer possono usare /exenoui per nascondere l'interfaccia del wrapper, seguiti dalle opzioni di msiexec per applicare il comando all'MSI interno. Potrebbe avere questo aspetto: setup.exe /exenoui /qn /norestart.
Come installare un EXE in modalità invisibile dalla riga di comando e con PowerShell
La riga di comando e PowerShell sono due dei modi più comuni per installare un EXE. Se vuoi eseguire un'installazione silenziosa, puoi farlo seguendo alcuni semplici passaggi:
Dal Prompt dei comandi
Per installare silenziosamente un EXE dalla riga di comando, esegui il Prompt dei comandi come amministratore quando l'installazione si applica a tutti gli utenti. Da lì, passa alla cartella del programma di installazione ed esegui l'EXE con i relativi switch. Assicurati di mettere il percorso tra virgolette ogni volta che contiene spazi.
Tieni presente che alcuni file setup.exe passano a un secondo processo e tornano al prompt prima che l'installazione finisca. In questi casi, ti consigliamo di usare start /wait in modo che il prompt aspetti finché l'installazione non è terminata. Anche i setup InstallShield Basic MSI accettano /w.
Da PowerShell
Se usi PowerShell, puoi utilizzare Start-Process con -ArgumentList, -Wait e -PassThru, quindi leggere il codice di uscita dall'oggetto processo restituito. Microsoft consiglia di passare tutti gli argomenti come un'unica stringa ArgumentList, inclusi eventuali caratteri di virgoletta richiesti.
Ad esempio, un comando PowerShell potrebbe essere simile a questo:
$p = Start-Process -FilePath "C:\Installers\setup.exe" -ArgumentList "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART" -Wait -PassThru
$p.ExitCode
Gestisci riavvii e codici di uscita prima della distribuzione
Molti aggiornamenti o installazioni richiedono un riavvio per completarsi correttamente. Tuttavia, le installazioni silenziose possono complicare la situazione. Se un'installazione silenziosa riavvia il computer di un utente nel mezzo della giornata lavorativa, può causare interruzioni. Allo stesso tempo, se l'installazione segnala il completamento con successo quando il dispositivo richiede ancora un riavvio, può comunque causare problemi e lasciare gli aggiornamenti in sospeso contrassegnati come completati.
Questo ci porta ai codici di uscita. Un codice di uscita è il numero che un programma di installazione restituisce al termine e che script e strumenti di distribuzione leggono per identificare se l'installazione è riuscita, non è riuscita o richiede un riavvio. Questi codici sono standardizzati per le installazioni basate su MSI (0 per esito positivo e 3010 per esito positivo con riavvio richiesto), ma possono variare a seconda dei framework EXE.
Ci sono alcuni punti chiave da tenere a mente quando si gestiscono riavvii e codici di uscita:
Inno Setup può riavviarsi senza preavviso: se è necessario un riavvio e non viene usato
/NORESTART, il comando/SILENTmostrerà comunque una richiesta "Riavvia ora?", mentre/VERYSILENTriavvia la macchina senza chiedere conferma. Ti conviene abbinare/VERYSILENTa/NORESTARTper assicurarti che venga installato senza interruzioni, anche se gli utenti dovranno comunque riavviare se l'installazione lo richiede.Inno Setup restituisce 0 anche quando è necessario un riavvio: A volte un'installazione viene segnalata come completata anche se richiede ancora un riavvio. Puoi aggiungere
/RESTARTEXITCODE=3010al comando così il tuo strumento di distribuzione può rilevare quando è in attesa un riavvio.Le installazioni InstallShield Basic MSI e Advanced Installer passano le opzioni di
msiexectramite: L'aggiunta di/norestartnella partemsiexecdel comando può impedire i riavvii, così il dispositivo non si riavvia inaspettatamente mentre l'utente sta lavorando.Testa il codice di uscita su una macchina. Assicurati di testare il comando prima di distribuire l'aggiornamento. Esegui il comando da PowerShell, leggi il codice di uscita e conferma quale valore restituisce in caso di successo e in caso di riavvio in sospeso prima di configurare il tuo strumento di distribuzione.
In Intune, i codici di uscita corrispondono ai tipi di codice restituito e il comportamento di ciascun codice dipende dall'impostazione di riavvio del dispositivo dell'app. Con “Determine behavior based on return codes”, un codice di riavvio forzato riavvia immediatamente il dispositivo, mentre un codice di riavvio soft indica all'utente che è necessario un riavvio. Di conseguenza, ti conviene assicurarti che il codice restituito dal tuo programma di installazione corrisponda a ciò che Intune si aspetta.
Risolvi i problemi comuni delle installazioni silenziose EXE
Potresti riscontrare alcuni problemi o difficoltà quando tenti un'installazione silenziosa. I problemi comuni con l'installazione silenziosa dei file EXE includono:
Il programma di installazione ignora lo switch silenzioso
Se il programma di installazione ignora lo switch silent, potrebbe significare che lo switch appartiene a un framework diverso o che le maiuscole e minuscole sono errate. Assicurati di controllare attentamente la documentazione del fornitore, confermare il framework e verificare che tutto sia scritto correttamente. Per esempio, NSIS accetta solo /S in maiuscolo, quindi se hai dimenticato di scriverlo con la maiuscola, farebbe differenza.
L'installazione si blocca e non termina mai
A volte, se l’installazione non termina, significa che è in attesa di un input che nessuno può vedere. Ad esempio, se un’installazione Intune supera il proprio timeout (60 minuti per impostazione predefinita), viene contrassegnata come non riuscita. Tra le cause più comuni ci sono alcune finestre di messaggio di Inno Setup che /SUPPRESSMSGBOXES non riesce a nascondere e i prerequisiti di InstallShield che /s non rende silenziosi.
L'installazione non riesce quando un percorso contiene spazi
Questo è un altro caso in cui un errore di battitura nel comando può fare tutta la differenza. I framework hanno spesso regole diverse per le virgolette e usare il tipo sbagliato di virgolette o di spazi può causare il fallimento di un'installazione. Ad esempio, /D= di NSIS deve essere posizionato per ultimo e non può usare virgolette, anche quando il percorso contiene spazi, mentre InstallShield richiede virgolette con escape all'interno del valore /v.
Non c'è alcun log che mostri cosa è andato storto
Cosa succede se qualcosa va storto e non c'è alcuna chiara indicazione del perché? Se non hai attivato il logging prima del test, potresti non riuscire a determinarne la causa. Assicurati di attivare il logging prima del test e di collegare i log a una cartella esistente. Questo usa il comando /LOG="path" per Inno Setup, /debuglog"path" per setup.exe di InstallShield, e /log per i bundle WiX Burn.
L'EXE non ha un'opzione di installazione silenziosa
Alcuni file EXE non offrono affatto un'opzione di installazione invisibile. Quando succede, verifica se il fornitore offre una versione MSI del programma di installazione che supporta i parametri standard per l'installazione invisibile. In caso contrario, potresti dover ripacchettizzare l'EXE, operazione che richiede un po' di lavoro specialistico.
Distribuisci un'installazione silenziosa EXE con Microsoft Intune
Se usi Microsoft Intune, ci sono alcune impostazioni delle app Win32 che devi configurare correttamente quando distribuisci un'installazione EXE silenziosa. Intune distribuisce gli EXE come app Win32, con il programma di installazione e i file di supporto racchiusi in un file .intunewin . Il file viene quindi caricato con un comando di installazione, un comando di disinstallazione e regole di rilevamento. Poiché Intune non supporta le installazioni interattive, il comando di installazione deve essere completamente silenzioso.
Questi comandi includono:
Comando di installazione: il nome del file EXE seguito dai relativi switch silenziosi, come testato. Tieni presente che Intune può anche accettare uno script PowerShell al posto di una riga di comando.
Comando di disinstallazione: quando e come disinstallare l'applicazione. Tieni presente che qui le variabili d'ambiente non vengono espanse, quindi ti conviene usare uno script wrapper se la disinstallazione ne ha bisogno.
PowerShell nei campi comando: se un comando richiama
powershell.exe, Intune avvia la versione a 32 bit di PowerShell, che Windows reindirizza alle cartelle di sistema a 32 bit. Per eseguire invece PowerShell a 64 bit, usa%SystemRoot%\Sysnative\WindowsPowerShell\v1.0\powershell.exe.Comportamento di installazione: quando imposti il comportamento di installazione, ti consigliamo di scegliere Sistema per le installazioni che richiedono diritti di amministratore. Se un’installazione nel contesto utente richiede privilegi di amministratore che l’utente non ha, non riuscirà.
Timeout: per impostazione predefinita, Intune attende 60 minuti prima di contrassegnare l’installazione come non riuscita, ma questo valore può essere regolato fino a un giorno.
Codici di ritorno: Intune aggiunge codici predefiniti quando crei l'app. Puoi aggiungere codici personalizzati restituiti dal tuo programma di installazione, come il valore
/RESTARTEXITCODEimpostato per Inno Setup. Un codice di nuovo tentativo fa sì che Intune provi tre volte, con ogni tentativo distanziato di cinque minuti.Regole di rilevamento: è richiesta almeno una regola affinché Intune possa confermare che l'app è installata. Assicurati di usare una regola basata su file, registro o script, poiché gli EXE non hanno un codice prodotto MSI.
Perché le installazioni silent degli EXE diventano difficili in un catalogo di app
A questo punto, potresti avere la sensazione che le installazioni silenziose degli EXE siano più complesse di quanto dovrebbero essere. Per ogni EXE bisogna identificare il framework, confermare i parametri, testare il comportamento del riavvio e dei codici di uscita, scrivere le regole di rilevamento e così via. Poi, quando esce un nuovo aggiornamento, il processo ricomincia da capo.
Ripeti questo per ogni singola app e la ricerca e i test possono trasformarsi in un carico di lavoro notevole.
Gli strumenti di packaging basati sull'AI possono farsi carico di gran parte di questo lavoro, anche in ambienti di grandi dimensioni.
Splashtop Agentic Packr è uno strumento di packaging delle applicazioni basato sull'AI che automatizza il percorso dal programma di installazione a Intune. L'agente AI legge il programma di installazione, crea il pacchetto e lo testa prima che arrivi agli utenti, e gli amministratori possono prima esaminare i risultati.
Con Splashtop Agentic Packr, puoi:
Analizza i programmi di installazione e crea pacchetti: Splashtop Agentic Packr analizza automaticamente i programmi di installazione e crea un pacchetto PSADT con la logica di installazione, così gli amministratori non devono scrivere script di installazione per ogni nuova app. Poiché i pacchetti sono creati su PSADT, gli amministratori possono aprirli, esaminarli e modificarli secondo necessità.
Testa prima del rilascio: Ogni pacchetto viene testato su una macchina virtuale pulita e sottoposto a una scansione di sicurezza per garantire che funzioni come previsto. Gli amministratori ricevono una scorecard QA e i log da esaminare prima della pubblicazione, così hanno l'ultima parola.
Imposta le regole di rilevamento e il pacchetto Intune: Splashtop Agentic Packr scrive le regole di rilevamento, crea il pacchetto Intune e lo pubblica in Intune.
Rileva nuove versioni: quando vengono rilasciate nuove versioni dell'app, Agentic Packr le rileva e crea automaticamente pacchetti aggiornati, facendo risparmiare ancora più tempo ai team IT.
Inoltre, puoi usare Splashtop Agentic Packr con Splashtop AEM (Autonomous Endpoint Management) per migliorare ulteriormente la distribuzione. Splashtop Agentic Packr può creare e testare i pacchetti, che Splashtop AEM può poi distribuire automaticamente sui dispositivi in tutta l'organizzazione.
Dedica meno tempo agli switch e più tempo alle distribuzioni
Ogni framework EXE ha le proprie opzioni, il proprio comportamento di riavvio e altro ancora. Identificare ciascuna di esse e configurarle correttamente può rendere difficili le installazioni silent, ma è anche necessario per garantire che ciascuna sia sicura da distribuire.
Splashtop Agentic Packr trasforma i programmi di installazione in pacchetti testati e pronti per Intune senza scripting manuale, così i team IT dedicano meno tempo alla ricerca e al test di ogni nuova app e aggiornamento.
Vuoi vedere come Splashtop Agentic Packr può trasformare i programmi di installazione in pacchetti testati e pronti per la distribuzione? Scopri di più e guardalo in azione oggi stesso.




