将项目打包成安装包(Windows服务)

时间:2021-12-11 18:41:54

为什么

项目打包成安装包对大众会有友好的提示安装过程。

打包过程

  1. 下载并安装VS插件
    https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects
    将项目打包成安装包(Windows服务)
  2. 创建项目(这里是windows服务)
    添加安装程序
    将项目打包成安装包(Windows服务)
    将serviceProcessInstaller1属性Account值改为LocalSystem。
    将Server1中代码OnStart()方法中写入执行代码。例:

    string LogPath = "C:\\TestServer.txt";
    StreamWriter log = new StreamWriter(LogPath , true); 
    log.WriteLine("time:" + System.DateTime.Now.ToLongTimeString()); 
    log.Close();
    *注:如需将服务安装后直接自动启动,先将serviceInstaller1属性StartType值改为Automatic,后将ProjectInstaller.cs代码中加入事件。*
    namespace Doctor.WinService
    {
    [RunInstaller(true)]
    public partial class ProjectInstaller : System.Configuration.Install.Installer
    {
        public ProjectInstaller()
        {
            InitializeComponent();
            this.Committed += new InstallEventHandler(ProjectInstaller_Committed);
        }
        private void ProjectInstaller_Committed(object sender, InstallEventArgs e)
        {
            // 参数为服务的名字
            System.ServiceProcess.ServiceController controller = new System.ServiceProcess.ServiceController("Service1");
            controller.Start();
        }
    }
    }
  3. 安装项目打包
    ①添加项目输出
    将项目打包成安装包(Windows服务) 主输出选择WindowsService1
    ②添加视图自定义操作
    将项目打包成安装包(Windows服务)
    ③选择Application Folder中的主输出WindowsService1
    将项目打包成安装包(Windows服务)
    ④添加程序必备安装组件(根据自己项目)
    将项目打包成安装包(Windows服务)
    在Setup1属性Prerequisites中选择组件
    ⑤将项目生成及安装
    将项目打包成安装包(Windows服务)
    将项目打包成安装包(Windows服务)

源码

git源码点击下载