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


C# ServiceInstaller.Uninstall方法代码示例

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


在下文中一共展示了ServiceInstaller.Uninstall方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: RemoveService

        public static void RemoveService(string name)
        {
            foreach (var controller in ServiceController.GetServices()
                .Where( controller => string.Compare(controller.ServiceName, name, StringComparison.OrdinalIgnoreCase) == 0))
            {
                Log.WriteInfo("Removing service '" + name + "'", "RemoveService");
                if (controller.Status != ServiceControllerStatus.Stopped)
                {
                    controller.Stop();
                    controller.WaitForStatus(ServiceControllerStatus.Stopped, ServiceTimeOut);
                    if (controller.Status != ServiceControllerStatus.Stopped)
                    {
                        throw new TimeoutException("Timeout waiting on service '" + controller.ServiceName +
                                                   "' to stop. Service status = " + controller.Status);
                    }
                }

                using (var serviceInstaller = new ServiceInstaller())
                {
                    serviceInstaller.Context = new InstallContext();
                    serviceInstaller.ServiceName = controller.ServiceName;
                    controller.Dispose();
                    serviceInstaller.Uninstall(null);
                }

                break;
            }

            foreach (var controller in ServiceController.GetServices().Where(controller => controller.ServiceName.Equals(name)))
            {
                Log.WriteError("Could not remove service '" + name + "'", "RemoveService");
            }
        }
开发者ID:pwibeck,项目名称:InstallerVerificationFramework,代码行数:33,代码来源:WindowsServiceTool.cs

示例2: DeleteService

 public void DeleteService(string i_ServiceName)
 {
     ServiceInstaller ServiceInstallerObj = new ServiceInstaller();
     InstallContext Context = new InstallContext(AppDomain.CurrentDomain.BaseDirectory + "\\uninstalllog.log", null);
     ServiceInstallerObj.Context = Context;
     ServiceInstallerObj.ServiceName = i_ServiceName;
     ServiceInstallerObj.Uninstall(null);
 }
开发者ID:ddotan,项目名称:AutoDeploy-agent,代码行数:8,代码来源:ServiceUtilities.cs

示例3: UnInstall

        public virtual void UnInstall(string serviceName)
        {
            Logger.Info("Uninstalling {0} service", serviceName);

            Stop(serviceName);
            
            var serviceInstaller = new ServiceInstaller();

            var context = new InstallContext("service_uninstall.log", null);
            serviceInstaller.Context = context;
            serviceInstaller.ServiceName = serviceName;
            serviceInstaller.Uninstall(null);

            Logger.Info("{0} successfully uninstalled", serviceName);
        }
开发者ID:realpatriot,项目名称:NzbDrone,代码行数:15,代码来源:ServiceProvider.cs

示例4: UnInstallService

        private static bool UnInstallService(string serviceName)
        {

            bool success = false;
            try
            {
                ServiceUtility.StopStartServices(serviceName, ServiceControllerStatus.StopPending);
                string exeFullPath = System.Reflection.Assembly.GetExecutingAssembly().Location;
                string workingPath = System.IO.Path.GetDirectoryName(exeFullPath);
                string logPath = System.IO.Path.Combine(workingPath, "Install.log");

                ServiceInstaller myServiceInstaller = new ServiceInstaller();
                InstallContext Context = new InstallContext(logPath, null);
                myServiceInstaller.Context = Context;
                myServiceInstaller.ServiceName = serviceName;
                myServiceInstaller.Uninstall(null);                
                success = true;

            }
            catch (Exception ex)
            {

            }
            return success;
        }
开发者ID:petredimov,项目名称:Intrensic,代码行数:25,代码来源:Program.cs

示例5: UninstallService

 /// <summary>
 /// Uninstalls specified service
 /// </summary>
 /// <param name="name"></param>
 /// <returns></returns>
 void UninstallService(string name)
 {
     try {
         using (var i = new System.ServiceProcess.ServiceInstaller() { Context = new InstallContext(), ServiceName = name }) {
             try {
                 i.Uninstall(null);
             } catch {
                 try {
                     i.Rollback(null);
                 } catch { }
                 throw;
             }
             Console.WriteLine(Messages.Done);
         }
     } catch (Exception x) {
         Console.Error.WriteLine(x.Message);
         ReturnValue = 1;
     }
 }
开发者ID:HTD,项目名称:Woof,代码行数:24,代码来源:WoofService.cs

示例6: Uninstall

        public void Uninstall()
        {
            RemoveService();

            var serviceInstaller = new ServiceInstaller();
            var context = new InstallContext("jackettservice_uninstall.log", null);
            serviceInstaller.Context = context;
            serviceInstaller.ServiceName = NAME;
            serviceInstaller.Uninstall(null);

            logger.Info("The service was uninstalled.");
        }
开发者ID:sdesbure,项目名称:Jackett,代码行数:12,代码来源:ServiceConfigService.cs

示例7: UninstallService

        /// <summary>
        /// Uninstall a service by name.
        /// </summary>
        /// <param name="serviceName">The name of the service.</param>
        public static void UninstallService(string serviceName)
        {
            using (var serviceInstallerObj = new ServiceInstaller())
            {
                var context = new InstallContext(null, null);

                serviceInstallerObj.Context = context;
                serviceInstallerObj.ServiceName = serviceName;

                try
                {
                    serviceInstallerObj.Uninstall(null);
                }
                catch (Exception ex)
                {
                    throw new Exception("Failed to uninstall the service.", ex);
                }
            }
        }
开发者ID:BobbyCannon,项目名称:HostR,代码行数:23,代码来源:WindowsServiceInstaller.cs

示例8: Uninstall

 public void Uninstall()
 {
     ServiceProcessInstaller spi = new ServiceProcessInstaller();
     ServiceInstaller installer = new ServiceInstaller();
     spi.Installers.Add(installer);
     installer.Context = new InstallContext("uninstall.txt", new string[0]);
     installer.Context.Parameters["assemblypath"] = GetType().Assembly.Location;
     installer.ServiceName = ServiceName;
     installer.Uninstall(null);
 }
开发者ID:anddudek,项目名称:anjlab.fx,代码行数:10,代码来源:OpenService.cs

示例9: UninstallService

 public static void UninstallService(string serviceName)
 {
     try
     {
         ServiceInstaller ServiceInstallerObj = new ServiceInstaller();
         InstallContext Context = new InstallContext(Path.Combine(Data.AgentUpdateDirectory, "serviceUninstall.log"), null);
         ServiceInstallerObj.Context = Context;
         ServiceInstallerObj.ServiceName = serviceName;
         ServiceInstallerObj.Uninstall(null);
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
开发者ID:cengonurozkan,项目名称:vFenseAgent-win,代码行数:15,代码来源:Tools.cs

示例10: Install

        static void Install(bool install, InstallerOptions options)
        {
            var spi = new ServiceProcessInstaller();
            var si = new ServiceInstaller();
            spi.Account = ServiceAccount.NetworkService;
            if (options != null && options.IsUser)
            {
                spi.Account = ServiceAccount.User;
                if (options.UserName != null)
                {
                    spi.Username = options.UserName;
                }
                if (options.Password != null)
                {
                    spi.Password = options.Password;
                }
            }
            si.StartType = ServiceStartMode.Automatic;
            si.ServiceName = "CloudBackup";
            si.DisplayName = "Cloud Backup Service";
            si.Description = "Schedules, run and manage cloud backup";
            si.Parent = spi;

            string path = Assembly.GetEntryAssembly().Location;
            Console.WriteLine("Location : " + path);

            var ic = new InstallContext();
            ic.Parameters.Add("assemblypath", path);
            si.Context = ic;
            spi.Context = ic;

            IDictionary rb = install ? new Hashtable() : null;
            try
            {
                Console.WriteLine("Starting Default Installation");
                if (install)
                {
                    si.Install(rb);
                }
                else
                {
                    si.Uninstall(rb);
                }
            }
            catch (Exception ex)
            {
                log.Fatal(ex);
                if (rb != null)
                {
                    Console.WriteLine("Rollback Default Installation");
                    IDictionary rbc = rb;
                    rb = null;
                    si.Rollback(rbc);
                }
            }
            finally
            {
                if (rb != null)
                {
                    Console.WriteLine("Commit Default Installation");
                    si.Commit(rb);
                }
            }
        }
开发者ID:1aurent,项目名称:CloudBackup,代码行数:64,代码来源:ProgramSupport.cs

示例11: SafeMain

        static void SafeMain(string[] args)
        {
            AddERExcludedApplication(Process.GetCurrentProcess().MainModule.ModuleName);
            Console.WriteLine("TraceSpy Service - " + (Environment.Is64BitProcess ? "64" : "32") + "-bit - Build Number " + Assembly.GetExecutingAssembly().GetInformationalVersion());
            Console.WriteLine("Copyright (C) SoftFluent S.A.S 2012-" + DateTime.Now.Year + ". All rights reserved.");

            var token = Extensions.GetTokenElevationType();
            if (token != TokenElevationType.Full)
            {
                Console.WriteLine("");
                Console.WriteLine("Warning: token elevation type (UAC level) is " + token + ". You may experience access denied errors from now on. You may fix these errors if you restart with Administrator rights or without UAC.");
                Console.WriteLine("");
            }

            OptionHelp = CommandLineUtilities.GetArgument(args, "?", false);
            if (!OptionHelp)
            {
                OptionHelp = CommandLineUtilities.GetArgument(args, "h", false);
                if (!OptionHelp)
                {
                    OptionHelp = CommandLineUtilities.GetArgument(args, "help", false);
                }
            }
            OptionService = CommandLineUtilities.GetArgument(args, "s", false);

            if (!OptionService)
            {
                if (OptionHelp)
                {
                    Console.WriteLine("Format is " + Assembly.GetExecutingAssembly().GetName().Name + ".exe [options]");
                    Console.WriteLine("[options] can be a combination of the following:");
                    Console.WriteLine("    /?                     Displays this help");
                    Console.WriteLine("    /i                     Installs the <name> service");
                    Console.WriteLine("    /k                     Kills this process on any exception");
                    Console.WriteLine("    /u                     Uninstalls the <name> service");
                    Console.WriteLine("    /t                     Displays traces on the console");
                    Console.WriteLine("    /l:<name>              Locale used");
                    Console.WriteLine("                           default is " + CultureInfo.CurrentCulture.LCID);
                    Console.WriteLine("    /name:<name>           (Un)Installation uses <name> for the service name");
                    Console.WriteLine("                           default is \"" + DefaultName + "\"");
                    Console.WriteLine("    /displayName:<dname>   (Un)Installation uses <dname> for the display name");
                    Console.WriteLine("                           default is \"" + DefaultDisplayName + "\"");
                    Console.WriteLine("    /description:<desc.>   Installation ses <desc.> for the service description");
                    Console.WriteLine("                           default is \"" + DefaultDisplayName + "\"");
                    Console.WriteLine("    /startType:<type>      Installation uses <type> for the service start mode");
                    Console.WriteLine("                           default is \"" + ServiceStartMode.Manual + "\"");
                    Console.WriteLine("                           Values are " + ServiceStartMode.Automatic + ", " + ServiceStartMode.Disabled + " or " + ServiceStartMode.Manual);
                    Console.WriteLine("    /user:<name>           Name of the account under which the service should run");
                    Console.WriteLine("                           default is Local System");
                    Console.WriteLine("    /password:<text>       Password to the account name");
                    Console.WriteLine("    /config:<path>         Path to the configuration file");
                    Console.WriteLine("    /dependson:<list>      A comma separated list of service to depend on");
                    Console.WriteLine("");
                    Console.WriteLine("Examples:");
                    Console.WriteLine(Assembly.GetExecutingAssembly().GetName().Name + " /i /name:MyService /displayName:\"My Service\" /startType:Automatic");
                    Console.WriteLine(Assembly.GetExecutingAssembly().GetName().Name + " /u /name:MyOtherService");
                    return;
                }
            }

            OptionTrace = CommandLineUtilities.GetArgument(args, "t", false);
            OptionKillOnException = CommandLineUtilities.GetArgument(args, "k", false);
            OptionInstall = CommandLineUtilities.GetArgument(args, "i", false);
            OptionStartType = (ServiceStartMode)CommandLineUtilities.GetArgument(args, "starttype", ServiceStartMode.Manual);
            OptionLcid = CommandLineUtilities.GetArgument<string>(args, "l", null);
            OptionUninstall = CommandLineUtilities.GetArgument(args, "u", false);
            OptionAccount = (ServiceAccount)CommandLineUtilities.GetArgument(args, "user", ServiceAccount.User);
            OptionPassword = CommandLineUtilities.GetArgument<string>(args, "password", null);
            OptionUser = CommandLineUtilities.GetArgument<string>(args, "user", null);
            string dependsOn = CommandLineUtilities.GetArgument<string>(args, "dependson", null);
            if (!string.IsNullOrEmpty(dependsOn))
            {
                OptionDependsOn = dependsOn.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
            }
            else
            {
                OptionDependsOn = null;
            }
            OptionConfigPath = CommandLineUtilities.GetArgument<string>(args, "config", null);
            if (!string.IsNullOrEmpty(OptionConfigPath) && !Path.IsPathRooted(OptionConfigPath))
            {
                OptionConfigPath = Path.GetFullPath(OptionConfigPath);
            }
            _configuration = ServiceSection.Get(OptionConfigPath);

            OptionDisplayName = CommandLineUtilities.GetArgument(args, "displayname", DefaultDisplayName);
            OptionDescription = CommandLineUtilities.GetArgument(args, "description", DefaultDescription);

            if (OptionInstall)
            {
                ServiceInstaller si = new ServiceInstaller();
                ServiceProcessInstaller spi = new ServiceProcessInstaller();
                si.ServicesDependedOn = OptionDependsOn;
                Console.WriteLine("OptionAccount=" + OptionAccount);
                Console.WriteLine("OptionUser=" + OptionUser);
                if (OptionAccount == ServiceAccount.User)
                {
                    if (string.IsNullOrEmpty(OptionUser))
                    {
                        // the default
//.........这里部分代码省略.........
开发者ID:Phrohdoh,项目名称:TraceSpy,代码行数:101,代码来源:Program.cs

示例12: RemoveAlreadyInstalledVersion

 /// <summary>
 /// Remove the currently installed version if it is found already.  Think rebootstrap, etc
 /// </summary>
 private void RemoveAlreadyInstalledVersion()
 {
     ServiceController ctl = ServiceController.GetServices()
                 .FirstOrDefault(s => s.ServiceName == ChefServiceName);
     if (ctl != null)
     {
         Console.WriteLine("Detected Service already installed - Uninstalling");
         ServiceInstaller ServiceInstallerObj = new ServiceInstaller();
         InstallContext Context = new InstallContext();
         ServiceInstallerObj.Context = Context;
         ServiceInstallerObj.ServiceName = ChefServiceName;
         ServiceInstallerObj.Uninstall(null);
         Console.WriteLine("Uninstall Complete");
     }
     else
     {
         Console.WriteLine("Service is not installed, skipping any calls to uninstall");
     }
 }
开发者ID:ebsco,项目名称:chefservice,代码行数:22,代码来源:ChefServiceInstallerDefinition.cs

示例13: button_uninstall_dp2library_Click

 private void button_uninstall_dp2library_Click(object sender, EventArgs e)
 {
     System.ServiceProcess.ServiceInstaller installer = new System.ServiceProcess.ServiceInstaller();
     System.Configuration.Install.InstallContext context = new System.Configuration.Install.InstallContext();
     installer.Context = context;
     installer.ServiceName = "dp2LibraryService";
     try
     {
         installer.Uninstall(null);
     }
     catch (Exception ex)
     {
         MessageBox.Show(this, ex.Message);
     }
 }
开发者ID:paopaofeng,项目名称:dp2,代码行数:15,代码来源:MainForm.cs


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