Strumento Programma di installazione (Installutil.exe)

Lo strumento Programma di installazione consente di installare e disinstallare le risorse del server eseguendo i componenti del programma di installazione di un assembly specificato. Questo strumento opera insieme alle classi dello spazio dei nomi System.Configuration.Install.

installutil [/uninstall][option [...]]assemblyname ]
[option [...]]assemblyname 

Note

Argomento Descrizione

nomeassembly

Il nome dell'assembly in cui eseguire i componenti del programma di installazione.

Opzione Descrizione

/h[elp]

Visualizza la sintassi e le opzioni dei comandi dello strumento.

/help percorsoassembly

Visualizza eventuali opzioni aggiuntive riconosciute da singoli programmi di installazione nell'assembly specificato.

/?

Visualizza la sintassi e le opzioni dei comandi dello strumento.

/? percorsoassembly

Visualizza eventuali opzioni aggiuntive riconosciute da singoli programmi di installazione nell'assembly specificato.

/LogFile=[nomefile]

Specifica il nome del file di log in cui è registrato lo stato dell'installazione. Il valore predefinito è nomeassembly.InstallLog.

/AssemblyName assemblyName

[,Version=major.minor.build.revision]

[,Culture=locale]

[,PublicKeyToken=publicKeyToken]]

Specifica il nome dell'assembly. Il nome dell'assembly deve essere completo, con versione, lingua e token di chiave pubblica. Il nome deve essere racchiuso tra virgolette.

Ad esempio, "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0" è un nome di assembly completo.

/LogToConsole={true|false}

Se ha valore true, visualizza l'output sulla console. Se ha valore false (impostazione predefinita), evita la visualizzazione dell'output sulla console.

/ShowCallStack

Stampa lo stack di chiamate nel log se si verifica un'eccezione durante l'installazione.

/u[ninstall]

Disinstalla un assembly. A differenza di altre opzioni, /u viene applicata a tutti gli assembly, indipendentemente dalla relativa posizione nella riga di comando.

Note

A partire da .NET Framework versione 2.0, la versione a 32 bit di Common Language Runtime (CLR) viene fornita solo con la versione a 32 bit dello strumento Programma di installazione, mentre la versione a 64 bit di CLR viene fornita con le versioni a 32 bit e a 64 bit di questo strumento. Se si utilizza CLR a 64 bit, occorre utilizzare lo strumento Programma di installazione a 32 bit per installare assembly a 32 bit e quello a 64 bit per installare assembly a 64 bit e MSIL (Microsoft Intermediate Language). Per tutti gli altri aspetti, il funzionamento delle due versioni dello strumento Programma di installazione è identico.

Le applicazioni Microsoft .NET Framework sono costituite da file di programma tradizionali e risorse associate, quali code di messaggi, log eventi e contatori delle prestazioni, che è necessario creare quando l'applicazione viene distribuita. È possibile utilizzare i componenti del programma di installazione di un assembly per creare queste risorse quando l'applicazione viene installata e rimuoverle quando l'applicazione viene disinstallata. Installutil.exe consente di rilevare ed eseguire questi componenti del programma di installazione.

È possibile specificare più assembly nella stessa riga di comando. Qualsiasi opzione specificata prima del nome di un assembly ha effetto sull'installazione di tale assembly. Le opzioni specificate per un assembly vengono applicate a eventuali assembly successivi, se l'opzione non è specificata con un nuovo nome di assembly.

Se si esegue Installutil.exe su un assembly senza specificare alcuna opzione, i tre file seguenti verranno inseriti nella directory dell'assembly:

  • InstallUtil.InstallLog

    Contiene una descrizione generale dello stato dell'installazione.

  • nomeassembly.InstallLog

    Contiene informazioni specifiche della fase di commit del processo di installazione. Per ulteriori informazioni sulla fase di commit, vedere il metodo Installer.Commit.

  • nomeassembly.InstallState

    Contiene i dati utilizzati per disinstallare l'assembly.

In Installutil.exe viene utilizzata la reflection per esaminare l'assembly specificato e individuare tutti i tipi Installer il cui attributo RunInstallerAttribute sia impostato su true. Viene quindi eseguito il metodo Install o il metodo Uninstall su ciascuna istanza del tipo Installer. L'installazione viene eseguita in modo transazionale: se risulta impossibile installare uno degli assembly, anche l'installazione di tutti gli altri assembly verrà annullata. La disinstallazione non è invece transazionale.

Installutil.exe può installare o disinstallare assembly con nome sicuro, ma non assembly con firma ritardata.

Si noti che non è consentito distribuire un servizio Windows creato utilizzando C++ con Installutil.exe. Questo strumento non è infatti in grado di riconoscere il codice nativo incorporato generato dal compilatore C++. Se si tenta di distribuire un servizio Windows C++ con Installutil.exe, verrà generata un'eccezione quale BadImageFormatException. Per gestire una situazione di questo tipo, è necessario spostare il codice del servizio in un modulo C++ e scrivere l'oggetto del programma di installazione in C# o Visual Basic.

Esempi

Il comando che segue visualizza una descrizione della sintassi e delle opzioni dei comandi dello strumento.

installutil

Il comando che segue esegue i componenti del programma di installazione nell'assembly myAssembly.exe.

installutil myAssembly.exe

Il comando che segue esegue i componenti del programma di installazione in un assembly utilizzando l'opzione /AssemblyName e un nome completo.

installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=2.0.0.0"

Il comando che segue esegue i componenti del programma di disinstallazione nell'assembly myAssembly.exe.

installutil /u myAssembly.exe 

Il comando che segue esegue i programmi di installazione nell'assembly myAssembly.exe e specifica che le informazioni sullo stato verranno scritte in myLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe 

Il comando che segue scrive lo stato dell'installazione di myAssembly.exe in myLog.InstallLog e quello di myTestAssembly.exe in myTestLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe /LogFile = myTestLog.InstallLog myTestAssembly.exe

Vedere anche

Riferimenti

Strumenti di .NET Framework
System.Configuration.Install Namespace
Prompt dei comandi di SDK