zoukankan      html  css  js  c++  java
  • 【原创】windows7+vs2012 如何安装windows服务

    这次写的这个服务主要是用于定时备份SQLite数据库的。

    所有的备份的参数(备份路径,备份时间间隔)都放在一个配置文件中。

    服务已经用vs写好了,这里主要介绍一下这个服务的安装过程。

    其实服务本身也是一个exe,安装的过程其实是将这个exe存放的位置告诉操所系统,这样你再告诉操作系统什么时候起这个服务(例如我要手动起,或者开机自启动,就相当于把这个程序托管给操作系统了)。

    安装工具:

    我用的是vs自带的安装工具,你可以在桌面左下角  “开始-》Microsoft Visual Studio 2012-》Visual Studio Tools-》Developer Command Prompt for VS2012”,

    就会弹出一个类似DOS的终端,然后你就可以运行安装命令了。

    安装命令是:installutil xxxxx.exe(这个是你的服务的程序,当然你的终端界面首先要进入这个exe所在的路径,如果中断不会的自己百度cd命令)

    卸载命令是:installutil /u xxxxx.exe

    注意:

    如果出现

    An exception occurred during the Install phase.

    System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.

    这是你的电脑有权限的设定,请确保自己是用管理员运行这个终端的(可以右击Developer Command Prompt for VS2012,然后选按管理员运行)。

    补充:

    由于我的服务要求读取的配置应该在exe文件同目录,所以我简单的在文件操作时用了相对路径,这样的后果是找不到配置文件,因为exe文件的路径并不是他的执行路径,他其实是被

    操作系统调用启动的,因该是system32下面的某个exe。

    2014-6-5

    今天要打包服务了,上面的方法是用vs自带的DOS终端,这里面环境变量已经设置好了,所以可以直接调用installutil命令,但是可用户安装包不能这样操作,

    我的方法是找到installutil.exe这个程序,然后和服务程序一起打包,再写一个bat文件来执行这个installutil.exe。

    installutil.exe是.NET里面的工具程序,如果你安装了.NET可以在这个路径下找到C:WindowsMicrosoft.NETFrameworkv2.0.50727。

    如果没有可以先安装.NET或者到网上去下一个。

    2014-7-11

    最终我放弃了使用vs自带的installutil.exe,原因是这个软件和.Net版本有着密切的联系,如果你打包的installutil.exe和你的安装软件不是同一.Net版本的话就无法安装。

    改变的方法是使用采用系统的安装命令SC,简单的用法是 :

    创建服务 sc create 【服务的名称】 start= auto binpath= 【服务程序所在路径】

    删除服务 sc delete 【服务名称】

  • 相关阅读:
    HDU 4709 3-idiots FFT 多项式
    多项式的黑科技
    JZYZOJ 2043 多项式除法和取余 NTT 多项式
    JZYZOJ 2042 多项式逆元 NTT 多项式
    网络爬虫(4)--正则表达式
    网络爬虫(3)--Beautiful页面解析
    网络爬虫(2)--异常处理
    网络爬虫(1)--准备工作
    PCL库配置出现的问题(WIN10+VS2013)
    QT笔记(1)--QT编程环境搭建
  • 原文地址:https://www.cnblogs.com/yaoxiaping/p/3745673.html
Copyright © 2011-2022 走看看