服務的安裝和解除安裝
阿新 • • 發佈:2019-02-03
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 清理完畢. . .