当前位置: 首页>>代码示例>>C#>>正文


C# ServiceInstaller.Dispose方法代码示例

本文整理汇总了C#中System.ServiceProcess.ServiceInstaller.Dispose方法的典型用法代码示例。如果您正苦于以下问题:C# ServiceInstaller.Dispose方法的具体用法?C# ServiceInstaller.Dispose怎么用?C# ServiceInstaller.Dispose使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.ServiceProcess.ServiceInstaller的用法示例。


在下文中一共展示了ServiceInstaller.Dispose方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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();
            }
        }
开发者ID:gwww,项目名称:openvpn-manager,代码行数:51,代码来源:ServiceHelper.cs

示例2: uninstallService

 internal static void uninstallService()
 {
     ServiceInstaller serviceInstaller = null;
     TransactedInstaller transactedInstaller = null;
     try
     {
         serviceInstaller = new ServiceInstaller();
         serviceInstaller.ServiceName = "OpenVPNManager";
         transactedInstaller = new TransactedInstaller();
         transactedInstaller.Installers.Add(serviceInstaller);
         transactedInstaller.Uninstall(null);
     }
     catch (InstallException e)
     {
         if (e.InnerException != null && e.InnerException is SecurityException)// Probably: "Permission denied"
         {
             String MSG_ServiceInstallPermissionErrorAdvice = Program.res.GetString("MSG_ServiceInstallPermissionErrorAdvice");
             MessageBox.Show("Error: " + e.InnerException.Message + "\r\n\r\n" + MSG_ServiceInstallPermissionErrorAdvice);
         }
         else if (e.InnerException != null && e.InnerException is Win32Exception)// Probably: "Service does not exist."
             MessageBox.Show("Error: " + e.InnerException.Message);
         else
             throw;
     }
     finally
     {
         serviceInstaller.Dispose();
         transactedInstaller.Dispose();
     }
 }
开发者ID:gwww,项目名称:openvpn-manager,代码行数:30,代码来源:ServiceHelper.cs


注:本文中的System.ServiceProcess.ServiceInstaller.Dispose方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。