이 설명서는 보관되지만 유지 되지 않습니다.

InstallerCollection.Add 메서드

업데이트: 2007년 11월

이 설치 관리자 컬렉션에 지정된 설치 관리자를 추가합니다.

네임스페이스:  System.Configuration.Install
어셈블리:  System.Configuration.Install(System.Configuration.Install.dll)

public int Add(
	Installer value
)
public int Add(
	Installer value
)
public function Add(
	value : Installer
) : int

매개 변수

value
형식: System.Configuration.Install.Installer

컬렉션에 추가할 설치 관리자를 나타내는 Installer입니다.

반환 값

형식: System.Int32

추가된 설치 관리자의 인덱스(0부터 시작)입니다.

추가된 InstallerParent 속성은 이 컬렉션을 포함하는 Installer를 지정하도록 설정됩니다.

다음 예제는 InstallerCollection 클래스에 있는 예제를 인용한 것입니다.

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

public class InstallerCollection_Add
{
   public static void Main(String[] args)
   {
      ArrayList options = new ArrayList();
      String myOption;
      bool toUnInstall = false;
      bool toPrintHelp = false;
      TransactedInstaller myTransactedInstaller = new TransactedInstaller();
      AssemblyInstaller myAssemblyInstaller;
      InstallContext myInstallContext;

      try
      {
         for(int i = 0; i < args.Length; i++)
         {
            // Process the arguments.
            if(args[i].StartsWith("/") || args[i].StartsWith("-"))
            {
               myOption = args[i].Substring(1);
               // Determine whether the option is to 'uninstall' a assembly.
               if(String.Compare(myOption, "u", true) == 0 ||
                  String.Compare(myOption, "uninstall", true) == 0)
               {
                  toUnInstall = true;
                  continue;
               }
               // Determine whether the option is for printing help information.
               if(String.Compare(myOption, "?", true) == 0 ||
                  String.Compare(myOption, "help", true) == 0)
               {
                  toPrintHelp = true;
                  continue;
               }
               // Add the option encountered to the list of all options
               // encountered for the current assembly.
               options.Add(myOption);
            }
            else
            {
               // Determine whether the assembly file exists.
               if(!File.Exists(args[i]))
               {
                  // If assembly file doesn't exist then print error.
                  Console.WriteLine(" Error : {0} - Assembly file doesn't exist.", args[i]);
                  return;
               }
               // Create an instance of 'AssemblyInstaller' that installs the given assembly.
               myAssemblyInstaller = new AssemblyInstaller(args[i],
                  (string[]) options.ToArray(typeof(string)));
               // Add the instance of 'AssemblyInstaller' to the 'TransactedInstaller'.
               myTransactedInstaller.Installers.Add(myAssemblyInstaller);
            }
         }
         // If user requested help or didn't provide any assemblies to install
         // then print help message.
         if(toPrintHelp || myTransactedInstaller.Installers.Count == 0)
         {
            PrintHelpMessage();
            return;
         }

         // Create an instance of 'InstallContext' with the options specified.
         myInstallContext =
            new InstallContext("Install.log",
            (string[]) options.ToArray(typeof(string)));
         myTransactedInstaller.Context = myInstallContext;

         // Install or Uninstall an assembly depending on the option provided.
         if(!toUnInstall)
            myTransactedInstaller.Install(new Hashtable());
         else
            myTransactedInstaller.Uninstall(null);
      }
      catch(Exception e)
      {
         Console.WriteLine(" Exception raised : {0}", e.Message);
      }
   }

   public static void PrintHelpMessage()
   {
      Console.WriteLine("Usage : InstallerCollection_Add [/u | /uninstall] [option [...]] assembly" +
         "[[option [...]] assembly] [...]]");
      Console.WriteLine("InstallerCollection_Add executes the installers in each of" +
         " the given assembly. If /u or /uninstall option" +
         " is given it uninstalls the assemblies.");
   }
}


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

public class InstallerCollectionAdd
{
    public static void main(String[] args)
    {
        ArrayList options = new ArrayList();
        String myOption;
        boolean toUnInstall = false;
        boolean toPrintHelp = false;
        TransactedInstaller myTransactedInstaller = new TransactedInstaller();
        AssemblyInstaller myAssemblyInstaller;
        InstallContext myInstallContext;
        try {
            for (int i = 0; i < args.length; i++) {
                // Process the arguments.
                if (args[i].StartsWith("/") || args[i].StartsWith("-")) {
                    myOption = args[i].Substring(1);

                    // Determine whether the option is to
                    //'uninstall' a assembly.
                    if (String.Compare(myOption, "u", true) == 0 
                        || String.Compare(myOption, "uninstall", true) == 0) {
                            toUnInstall = true;
                            continue;
                    }

                    // Determine whether the option is 
                    //for printing help information.
                    if (String.Compare(myOption, "?", true) == 0 
                        || String.Compare(myOption, "help", true) == 0) {
                            toPrintHelp = true;
                            continue;
                    }

                    // Add the option encountered to the list of all options
                    // encountered for the current assembly.
                    options.Add(myOption);
                }
                else {
                    // Determine whether the assembly file exists.
                    if (!(File.Exists(args[i]))) {
                        // If assembly file doesn't exist then print error.
                        Console.WriteLine(" Error : {0} - Assembly "
                            +"file doesn't exist.", args[i]);
                        return;
                    }
                    // Create an instance of 'AssemblyInstaller'
                    //that installs the given assembly.
                    myAssemblyInstaller = new AssemblyInstaller(args[i], 
                        (String[])(options.ToArray(String.class.ToType())));

                    // Add the instance of 'AssemblyInstaller'
                    //to the 'TransactedInstaller'.
                    myTransactedInstaller.get_Installers().
                        Add(myAssemblyInstaller);
                } 
            }
            // If user requested help or didn't provide any assemblies to 
            //install then print help message.
            if (toPrintHelp 
                || myTransactedInstaller.get_Installers().get_Count() == 0) {
                    PrintHelpMessage();
                    return;
            }
            // Create an instance of 'InstallContext'
            //with the options specified.
            myInstallContext = new InstallContext("Install.log",
                (String[])(options.ToArray(String.class.ToType())));
            myTransactedInstaller.set_Context(myInstallContext);

            // Install or Uninstall an assembly depending
            //on the option provided.
            if (!(toUnInstall)) {
                myTransactedInstaller.Install(new Hashtable());
            }
            else {
                myTransactedInstaller.Uninstall(null);
            }
        }
        catch (System.Exception e) {
            Console.WriteLine(" Exception raised : {0}", e.get_Message());
        }
    } //main

    public static void PrintHelpMessage()
    {
        Console.WriteLine("Usage : InstallerCollectionAdd [/u | /uninstall]"
            + " [option [...]] assembly" + "[[option [...]] assembly] [...]]");
        Console.WriteLine("InstallerCollectionAdd executes the installers in"
            +" each of" + " the given assembly. If /u or /uninstall option" 
            + " is given it uninstalls the assemblies.");
    } //PrintHelpMessage
} //InstallerCollectionAdd


  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

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

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0, 2.0, 1.1, 1.0에서 지원
표시: