本文整理匯總了C#中System.ServiceProcess.ServiceProcessInstaller.Dispose方法的典型用法代碼示例。如果您正苦於以下問題:C# ServiceProcessInstaller.Dispose方法的具體用法?C# ServiceProcessInstaller.Dispose怎麽用?C# ServiceProcessInstaller.Dispose使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類System.ServiceProcess.ServiceProcessInstaller
的用法示例。
在下文中一共展示了ServiceProcessInstaller.Dispose方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: installService
internal static void installService()
{
ServiceInstaller serviceInstaller = null;
ServiceProcessInstaller serviceProcessInstaller = null;
Installer projectInstaller = null;
TransactedInstaller transactedInstaller = null;
try
{
serviceInstaller = new ServiceInstaller();
serviceInstaller.ServiceName = "OpenVPNManager";
serviceInstaller.StartType = ServiceStartMode.Automatic;
serviceProcessInstaller = new ServiceProcessInstaller();
serviceProcessInstaller.Account = System.ServiceProcess.ServiceAccount.LocalSystem;
serviceProcessInstaller.Password = null;
serviceProcessInstaller.Username = null;
projectInstaller = new Installer();
projectInstaller.Installers.Add(serviceInstaller);
projectInstaller.Installers.Add(serviceProcessInstaller);
transactedInstaller = new TransactedInstaller();
transactedInstaller.Installers.Add(projectInstaller);
transactedInstaller.Context = new InstallContext();
transactedInstaller.Context.Parameters["assemblypath"] = Assembly.GetExecutingAssembly().Location + "\" \"/EXECUTESERVICE";
transactedInstaller.Install(new Hashtable());
}
catch (InvalidOperationException e)
{
if (e.InnerException != null && e.InnerException is Win32Exception)// Probably: "Service already exists."
MessageBox.Show("Error: " + e.InnerException.Message);
else if (e.InnerException != null && e.InnerException is InvalidOperationException && e.InnerException.InnerException != null && e.InnerException.InnerException is Win32Exception)// Probably: "Permission denied"
{
String MSG_ServiceInstallPermissionErrorAdvice = Program.res.GetString("MSG_ServiceInstallPermissionErrorAdvice");
MessageBox.Show("Error: " + e.InnerException.InnerException.Message + "\r\n\r\n" + MSG_ServiceInstallPermissionErrorAdvice);
}
else
throw;
}
finally
{
if (serviceInstaller != null)
serviceInstaller.Dispose();
if (serviceProcessInstaller != null)
serviceProcessInstaller.Dispose();
if (projectInstaller != null)
projectInstaller.Dispose();
if (transactedInstaller != null)
transactedInstaller.Dispose();
}
}