C# 安装 Windows 服务

using  System;
using  System.Collections.Generic;
using  System.ServiceProcess;
using  System.Configuration.Install;

static   class  Program
{
    
///   <summary>
    
///  应用程序的主入口点。
    
///   </summary>
    [STAThread]
    
static   void  Main( string [] args)
    {
        
//  运行服务
         if  (args.Length  ==   0 )
        {
            ServiceBase[] ServicesToRun;
            ServicesToRun 
=   new  ServiceBase[] {  new  MyService1() };
            ServiceBase.Run(ServicesToRun);
        }
        
//  安装服务
         else   if  (args[ 0 ].ToLower()  ==   " /i "   ||  args[ 0 ].ToLower()  ==   " -i " )
        {
            
try
            {
                
string [] cmdline  =  { };
                
string  serviceFileName  =  System.Reflection.Assembly.GetExecutingAssembly().Location;//需要服务的目录路径“c:/CCCC”

                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;
            }
        }
        
//  删除服务
         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;
            }
        }
    }
}

###############################################

添加卸载快捷方式代码

1、新建一个控制台程序

2、看代码

.net打包/CWinFrom程序打包/图解.net打包/.net安装部署图解/VS2008项目的安装与部署图解  - 
鲨鱼 - 随风飘荡 .net打包/CWinFrom程序打包/图解.net打包/.net安装部署图解/VS2008项目的安装与部署图解  - 
鲨鱼 - 随风飘荡 Code

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace UninStall

{

     class Program

     {

         static void Main(string[] args)

         {

             string sysroot = System.Environment.SystemDirectory;

             System.Diagnostics.Process.Start(sysroot + "//msiexec.exe", "/x {522B529D-8A62-432D-962F-D0CFF826775E} /qr");

         }

     }

}


#######################################################################

修改安装程序默认安装路径

在“文件系统”的“应用程序文件夹”的属性窗口中的属性"DefaultLocation"默认值为:[ProgramFilesFolder][Manufacturer][ProductName]

例:修改为D盘的Program Files/的目录下

只要将 [ProgramFilesFolder]改为D:/Program Files/即可

就改成的路径为:D:/Program Files/ [Manufacturer][ProductName]

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值