1. 程式人生 > >服務的安裝和解除安裝

服務的安裝和解除安裝

   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 清理完畢. . .