本文整理汇总了C#中System.ServiceProcess.ServiceProcessInstaller.Install方法的典型用法代码示例。如果您正苦于以下问题:C# ServiceProcessInstaller.Install方法的具体用法?C# ServiceProcessInstaller.Install怎么用?C# ServiceProcessInstaller.Install使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.ServiceProcess.ServiceProcessInstaller
的用法示例。
在下文中一共展示了ServiceProcessInstaller.Install方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Install
public static void Install(Type exeType, IEnumerable<OpenService> services, string username, string password)
{
var spi = new ServiceProcessInstaller
{
Account = string.IsNullOrEmpty(username) ? ServiceAccount.LocalSystem : ServiceAccount.User,
Username = username,
Password = password,
Context = new InstallContext("install.txt", new string[0])
};
spi.Context.Parameters["assemblypath"] = exeType.Assembly.Location;
foreach (OpenService service in services)
service.AddInstaller(spi);
spi.Install(new Hashtable());
}
示例2: Install
/// <summary>
/// Installiert einen Dienst.
/// </summary>
/// <param name="configuration">Die Konfiguration des Dienstes.</param>
/// <param name="fileName">Der volle Pfad zur Konfigurationsdatei.</param>
/// <param name="install">Gesetzt, wenn eine Installation ausgeführt werden soll.</param>
private static void Install( RecordingServiceConfiguration configuration, string fileName, bool install )
{
// Create the service installer
var service =
new ServiceInstaller
{
Description = "Generic Recorder / Tuner Service based on JMS Argus TV SDK",
DisplayName = configuration.Name + " (Argus TV Recorder)",
ServiceName = CreateServiceName( configuration ),
StartType = ServiceStartMode.Manual,
Context = new InstallContext(),
};
// Create the process installer
var process =
new ServiceProcessInstaller
{
Account = ServiceAccount.LocalService,
Context = service.Context,
};
// Link together
process.Installers.Add( service );
// Create service path
var exePath = "\"" + new Uri( Assembly.GetExecutingAssembly().CodeBase ).LocalPath.Replace( "\"", "\"" ) + "\"";
var configPath = "\"" + fileName + "\"";
// Configure service path
process.Context.Parameters["assemblypath"] = exePath + " " + configPath;
// Create state
var pathToState = fileName + ".install";
var serializer = new BinaryFormatter();
// Try it
if (install)
{
// Create the state
var state = new Hashtable();
// Do the installation
process.Install( state );
// Save the state
using (var stateFile = new FileStream( pathToState, FileMode.Create, FileAccess.Write, FileShare.None ))
serializer.Serialize( stateFile, state );
}
else
{
// Load the state
using (var stateFile = new FileStream( pathToState, FileMode.Open, FileAccess.Read, FileShare.Read ))
{
// Reconstruct the state
var state = (Hashtable) serializer.Deserialize( stateFile );
// Do the installation
process.Uninstall( state );
}
// Done
File.Delete( pathToState );
}
}