Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original

Classe InstallContext

Contém informações sobre a instalação corrente.

Namespace:  System.Configuration.Install
Assembly:  System.Configuration.Install (em System.Configuration.Install.dll)

public class InstallContext

Normalmente, um InstallContext é criado por uma instalação executável, sistema autônomo InstallUtil.exe, que instala sistema autônomo assemblies. O programa de instalação chama a InstallContext construtor, passando a ele o caminho padrão do arquivo de log e parâmetros de linha de comando.

Antes a chamar seu Install, Commit, Rollback, ou Uninstall métodos, o programa de instalação define a Context propriedade de um Installer para a instância do InstallContext. Antes de chamar esses métodos, um Installer que contém uma coleção de instalador no Installers conjuntos de propriedades de Context propriedade de cada continha instalador.

The Parameters propriedade contém uma versão analisada da linha de comando que é inserida para executar o executável de instalação. A propriedade contém informações sistema autônomo o caminho para um arquivo de log, se deve exibir sistema autônomo informações de registro no console e se deseja mostrar uma interface de usuário durante a instalação.telefonar the IsParameterTrue método para descobrir se um parâmetro de linha de comando true.

Use o LogMessage método para gravar mensagens de status o arquivo de log da instalação e o console.

O exemplo a seguir demonstra o InstallContext construtores, o Parameters propriedade e o LogMessage e IsParameterTrue métodos para o InstallContext classe.

Quando o Install método do instalador é chamado, ele verifica para os parâmetros da linha de comando. Dependendo do que, ele exibe as mensagens de andamento no console e também salva o arquivo de log especificado.

Quando o programa é chamado sem argumentos, um vazio InstallContext é criado. Quando "/ LogFile"e"/ LogtoConsole" for especificado, oInstallContext é criado pelo passando os respectivos argumentos 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;

      publicoverridevoid Install( IDictionary 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.
      }

      publicoverridevoid Uninstall( IDictionary mySavedState )
      {
         // The 'Uninstall' procedure should be added here.
      }

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

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

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

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

      staticvoid 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();
         }

         elseif( ( 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 );
         }
      }
   }
}


import System.*;
import System.ComponentModel.*;
import System.Configuration.Install.*;
import System.Collections.*;
import System.Collections.Specialized.*;

/** @attribute RunInstallerAttribute(true)
 */
class InstallContextExample extends Installer
{
    public InstallContext myInstallContext;

    public void Install(IDictionary mySavedState)
    {
        StringDictionary myStringDictionary = myInstallContext.get_Parameters();
        if (myStringDictionary.get_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.
    } //Install

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

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

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

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

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

    public static void main(String[] args)
    {
        InstallContextExample myInstallObject = new InstallContextExample();
        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.set_Item(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 (System.Exception exp) {
            // Call the 'Rollback' method.
            myInstallObject.Rollback(mySavedState);
        }
    } //main
} //InstallContextExample


System.Object
  System.Configuration.Install.InstallContext

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

o.NET Framework e.NET Compact Framework não oferecem suporte a todas as versões de cada plataforma. Para obter uma lista de versões suportadas, consulte Requisitos de sistema do .NET framework.

.NET Framework

Compatível com: 3.5, 3.0, 2.0, 1.1, 1.0

Contribuições da comunidade

ADICIONAR
A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2015 Microsoft