InstallerCollection::Add Method (Installer^)
.NET Framework (current version)
Adds the specified installer to this collection of installers.
Assembly: System.Configuration.Install (in System.Configuration.Install.dll)
Parameters
- value
-
Type:
System.Configuration.Install::Installer^
An Installer that represents the installer to add to the collection.
The following example is an excerpt of the example in the InstallerCollection class.
#using <System.dll> #using <System.Configuration.Install.dll> using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Configuration::Install; using namespace System::IO; 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" + "option is given it uninstalls the assemblies." ); } int main() { array<String^>^ args = Environment::GetCommandLineArgs(); ArrayList^ options = gcnew ArrayList; String^ myOption; bool toUnInstall = false; bool toPrintHelp = false; TransactedInstaller^ myTransactedInstaller = gcnew 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 0; } // Create an instance of 'AssemblyInstaller' that installs the given assembly. myAssemblyInstaller = gcnew AssemblyInstaller( args[ i ], (array<String^>^)(options->ToArray( String::typeid )) ); // Add the instance of 'AssemblyInstaller' to the 'TransactedInstaller'. myTransactedInstaller->Installers->Add( myAssemblyInstaller ); } } // then print help message. if ( toPrintHelp || myTransactedInstaller->Installers->Count == 0 ) { PrintHelpMessage(); return 0; } // Create an instance of 'InstallContext' with the options specified. myInstallContext = gcnew InstallContext( "Install.log", (array<String^>^)(options->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( " Exception raised : {0}", e->Message ); } }
.NET Framework
Available since 1.1
Available since 1.1
Show: