本文整理汇总了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");
}
}
示例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);
}
示例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);
}
示例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;
}
示例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;
}
}
示例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.");
}
示例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);
}
}
}
示例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);
}
示例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);
}
}
示例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);
}
}
}
示例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
//.........这里部分代码省略.........
示例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");
}
}
示例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);
}
}