Leer en inglés

Compartir a través de


InstallContext Clase

Definición

Contiene información sobre la actual instalación.

public class InstallContext
Herencia
InstallContext

Ejemplos

En el ejemplo siguiente se muestran los InstallContext constructores, la Parameters propiedad y los LogMessage métodos y IsParameterTrue de la InstallContext clase .

Cuando se llama al Install método del instalador, comprueba si hay parámetros de la línea de comandos. Dependiendo de eso, muestra los mensajes de progreso en la consola y también los guarda en el archivo de registro especificado.

Cuando se invoca el programa sin ningún argumento, se crea un vacío InstallContext . Cuando se especifican InstallContext "/LogFile" y "/LogtoConsole", se crea pasando los argumentos respectivos a InstallContext.

using System;
using System.ComponentModel;
using System.Configuration.Install;
using System.Collections;
using System.Collections.Specialized;

namespace MyInstallContextNamespace
{
   [RunInstallerAttribute(true)]
   class InstallContext_Example : Installer
   {
      public InstallContext myInstallContext;

      public override void Install( IDictionary mySavedState )
      {
         base.Install( mySavedState );
         StringDictionary myStringDictionary = myInstallContext.Parameters;
         if( myStringDictionary.Count == 0 )
         {
            Console.WriteLine( "No parameters have been entered in the command line "
               +"hence, the install will take place in the silent mode" );
         }
         else
         {
            // Check whether the "LogtoConsole" parameter has been set.
            if( myInstallContext.IsParameterTrue( "LogtoConsole" ) == true )
            {
               // Display the message to the console and add it to the logfile.
               myInstallContext.LogMessage( "The 'Install' method has been called" );
            }
         }

         // The 'Install procedure should be added here.
      }

      public override void Uninstall( IDictionary mySavedState )
      {
         base.Uninstall( mySavedState );
         // The 'Uninstall' procedure should be added here.
      }

      public override void Rollback( IDictionary mySavedState )
      {
         base.Rollback( mySavedState );
         if( myInstallContext.IsParameterTrue( "LogtoConsole" ) == true )
         {
            myInstallContext.LogMessage( "The 'Rollback' method has been called" );
         }

         // The 'Rollback' procedure should be added here.
      }

      public override void Commit( IDictionary mySavedState )
      {
         base.Commit( mySavedState );
         if( myInstallContext.IsParameterTrue( "LogtoConsole" ) == true )
         {
            myInstallContext.LogMessage( "The 'Commit' method has been called" );
         }

         // The 'Commit' procedure should be added here.
      }

      static void Main( string[] args )
      {
         InstallContext_Example myInstallObject = new InstallContext_Example();

         IDictionary mySavedState = new Hashtable();

         if( args.Length < 1 )
         {
            // There are no command line arguments, create an empty 'InstallContext'.
            myInstallObject.myInstallContext = new InstallContext();
         }

         else if( ( args.Length == 1 ) && ( args[ 0 ] == "/?" ) )
         {
            // Display the 'Help' for this utility.
            Console.WriteLine( "Specify the '/Logfile' and '/LogtoConsole' parameters" );
            Console.WriteLine( "Example: " );
            Console.WriteLine( "InstallContext_InstallContext.exe /LogFile=example.log"
                                          +" /LogtoConsole=true" );
            return;
         }

         else
         {
            // Create an InstallContext object with the given parameters.
            String[] commandLine = new string[ args.Length ];
            for( int i = 0; i < args.Length; i++ )
            {
               commandLine[ i ] = args[ i ];
            }
            myInstallObject.myInstallContext = new InstallContext( args[ 0 ], commandLine);
         }

         try
         {
            // Call the 'Install' method.
            myInstallObject.Install( mySavedState );

            // Call the 'Commit' method.
            myInstallObject.Commit( mySavedState );
         }
         catch( Exception )
         {
            // Call the 'Rollback' method.
            myInstallObject.Rollback( mySavedState );
         }
      }
   }
}

Comentarios

Normalmente, un ejecutable de instalación crea un InstallContext , como InstallUtil.exe, que instala ensamblados. El programa de instalación invoca al InstallContext constructor y lo pasa la ruta de acceso del archivo de registro predeterminada y los parámetros de la línea de comandos.

Antes de llamar a sus Installmétodos , Commit, Rollbacko Uninstall , el programa de instalación establece la Context propiedad de en Installer la instancia de InstallContext. Antes de llamar a estos métodos, que Installer contiene una colección de instaladores en la Installers propiedad establece la Context propiedad de cada instalador contenido.

La Parameters propiedad contiene una versión analizada de la línea de comandos especificada para ejecutar el ejecutable de instalación. La propiedad contiene información como la ruta de acceso a un archivo de registro, si se muestra información de registro en la consola y si se va a mostrar una interfaz de usuario durante la instalación. Llame al IsParameterTrue método para averiguar si un parámetro de línea de comandos es true.

Use el LogMessage método para escribir mensajes de estado en el archivo de registro de instalación y la consola.

Constructores

InstallContext()

Inicializa una nueva instancia de la clase InstallContext.

InstallContext(String, String[])

Inicializa una nueva instancia de la clase InstallContext y crea un archivo de registro para la instalación.

Propiedades

Parameters

Obtiene los parámetros de la línea de comandos que se especificaron al ejecutar InstallUtil.exe.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IsParameterTrue(String)

Determina si el parámetro especificado de la línea de comandos es true.

LogMessage(String)

Escribe un mensaje en la consola y el archivo de registro para la instalación.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ParseCommandLine(String[])

Analiza los parámetros de la línea de comandos en un diccionario de cadenas.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Producto Versiones
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Consulte también