TransactedInstaller.Install メソッド
アセンブリ: System.Configuration.Install (system.configuration.install.dll 内)



このメソッドは、インスタンスの Installers プロパティに格納されている各インストーラの Install メソッドを呼び出します。savedState パラメータで参照される IDictionary オブジェクトは、各インストーラが実行された後のインストールのステータスを反映するように更新されます。すべての Install メソッドが成功すると、Commit メソッドが呼び出されます。それ以外の場合は、各インストーラの Rollback メソッドが呼び出されます。
呼び出し時の注意 savedState パラメータに指定された IDictionary は、Install メソッドに渡されるときには空であることが必要です。
TransactedInstaller クラスの TransactedInstaller、Install、Uninstall の各メソッドの例を次に示します。
InstallUtil.exe の実装に類似した実装の例を次に示します。特定のアセンブリの前にオプションを指定して、アセンブリをインストールします。アセンブリに対してオプションが指定されていない場合、直前のアセンブリがリストにある場合は、直前のアセンブリのオプションが使用されます。"/u" オプションまたは "/uninstall" オプションを指定した場合、アセンブリはアンインストールされます。"/?" オプションまたは "/help" オプションが指定された場合は、ヘルプ情報がコンソールに表示されます。
Dim options As New ArrayList() Dim myOption As String Dim toUnInstall As Boolean = False Dim toPrintHelp As Boolean = False Dim myTransactedInstaller As New TransactedInstaller() Dim myAssemblyInstaller As AssemblyInstaller Dim myInstallContext As InstallContext Try Dim i As Integer For i = 1 To args.Length - 1 ' Process the arguments. If args(i).StartsWith("/") Or args(i).StartsWith("-") Then myOption = args(i).Substring(1) ' Determine whether the option is to 'uninstall' an assembly. If String.Compare(myOption, "u", True) = 0 Or _ String.Compare(myOption,"uninstall", True) = 0 Then toUnInstall = True GoTo ContinueFor1 End If ' Determine whether the option is for printing help information. If String.Compare(myOption, "?", True) = 0 Or _ String.Compare(myOption, "help", True) = 0 Then toPrintHelp = True GoTo ContinueFor1 End If ' 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 Not File.Exists(args(i)) Then ' If assembly file doesn't exist then print error. Console.WriteLine(ControlChars.Newline + _ "Error : {0} - Assembly file doesn't exist.", args(i)) Return End If ' Create a instance of 'AssemblyInstaller' that installs the given assembly. myAssemblyInstaller = New AssemblyInstaller(args(i), _ CType(options.ToArray(GetType(String)), String())) ' Add the instance of 'AssemblyInstaller' to the 'TransactedInstaller'. myTransactedInstaller.Installers.Add(myAssemblyInstaller) End If ContinueFor1: Next i ' If user requested help or didn't provide any assemblies to install ' then print help message. If toPrintHelp Or myTransactedInstaller.Installers.Count = 0 Then PrintHelpMessage() Return End If ' Create a instance of 'InstallContext' with the options specified. myInstallContext = New InstallContext("Install.log", _ CType(options.ToArray(GetType(String)), String())) myTransactedInstaller.Context = myInstallContext ' Install or Uninstall an assembly depending on the option provided. If Not toUnInstall Then myTransactedInstaller.Install(New Hashtable()) Else myTransactedInstaller.Uninstall(Nothing) End If Catch e As Exception Console.WriteLine(ControlChars.Newline + "Exception raised : {0}", e.Message) End Try
ArrayList myOptions = 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' an 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. myOptions.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("\nError : {0} - Assembly file doesn't exist." , args[i]); return; } // Create a instance of 'AssemblyInstaller' that installs the given assembly. myAssemblyInstaller = new AssemblyInstaller(args[i], (string[]) myOptions.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 a instance of 'InstallContext' with the options specified. myInstallContext = new InstallContext("Install.log", (string[]) myOptions.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("\nException raised : {0}", e.Message); }
array<String^>^ args = Environment::GetCommandLineArgs(); ArrayList^ myOptions = gcnew ArrayList; String^ myOption; bool toUnInstall = false; bool toPrintHelp = false; TransactedInstaller^ myTransactedInstaller = gcnew TransactedInstaller; AssemblyInstaller^ myAssemblyInstaller; InstallContext^ myInstallContext; try { for ( int i = 1; 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' an 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. myOptions->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( "\nError : {0} - Assembly file doesn't exist." , args[ i ] ); return 0; } // Create a instance of 'AssemblyInstaller' that installs the given assembly. myAssemblyInstaller = gcnew AssemblyInstaller( args[ i ], (array<String^>^)( myOptions->ToArray( String::typeid ) ) ); // 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 0; } // Create a instance of 'InstallContext' with the options specified. myInstallContext = gcnew InstallContext( "Install.log", (array<String^>^)( myOptions->ToArray( String::typeid ) ) ); myTransactedInstaller->Context = myInstallContext; // Install or Uninstall an assembly depending on the option provided. if ( !toUnInstall ) { myTransactedInstaller->Install( gcnew Hashtable ); } else { myTransactedInstaller->Uninstall( nullptr ); } } catch ( Exception^ e ) { Console::WriteLine( "\nException raised : {0}", e->Message ); }
ArrayList myOptions = 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' an // 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. myOptions.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("\nError : {0} - Assembly file" + " doesn't exist.", args[i]); return; } // Create a instance of 'AssemblyInstaller' that installs // the given assembly. myAssemblyInstaller = new AssemblyInstaller(args[i] , ((String[])(myOptions.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 a instance of 'InstallContext' with the options specified. myInstallContext = new InstallContext("Install.log" , (String[])myOptions.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("\nException raised : {0}", e.get_Message()); }


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からTransactedInstaller.Install メソッドを検索する場合は、下記のリンクをクリックしてください。

- TransactedInstaller.Install メソッドのページへのリンク