static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string[] args)
{
if (args.Length == 0)
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new ServerJob()
};
ServiceBase.Run(ServicesToRun);
}
#region 安装服务
else if (args[0].ToLower() == "/i" || args[0].ToLower() == "-i")
{
try
{
string[] cmdline = { };
string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location;
TransactedInstaller transactedInstaller = new TransactedInstaller();
AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline);
transactedInstaller.Installers.Add(assemblyInstaller);
transactedInstaller.Install(new System.Collections.Hashtable());
}
catch (Exception ex)
{
string msg = ex.Message;
}
}
#endregion
#region 删除服务
else if (args[0].ToLower() == "/u" || args[0].ToLower() == "-u")
{
try
{
string[] cmdline = { };
string serviceFileName = System.Reflection.Assembly.GetExecutingAssembly().Location;
TransactedInstaller transactedInstaller = new TransactedInstaller();
AssemblyInstaller assemblyInstaller = new AssemblyInstaller(serviceFileName, cmdline);
transactedInstaller.Installers.Add(assemblyInstaller);
transactedInstaller.Uninstall(null);
}
catch (Exception ex)
{
string msg = ex.Message;
}
}
#endregion
}
}
1 命令行定位到windows服务目录
2 找到服务exe程序 后跟参数 -i或-u 就可以完成安装卸载
3 另外还可以用sc delete 删除服务
4 还可以用批处理完成服务的卸载和安装
安装:
文件名:ServiceInstall.bat
echo *************************************************************
echo 清理原有服务项. . .
call ServiceUninstall.bat
echo 清理完毕,开始安装后台服务. . .
set str1=%cd%
set str2=\servejob.exe
set str1=%str1%%str2%
sc create <span style="font-family: Arial, Helvetica, sans-serif;">servejob</span> start= auto binPath= %str1%
echo 操作结束,请在日志 中查看具体的操作结果。
echo *************************************************************
卸载:
文件名:ServiceUninstall.bat
echo 关闭服务...
net stop AutoLuceneJob
echo 清理原有服务项. . .
sc delete AutoLuceneJob
echo 清理完毕. . .