Microsoft Visual Studio 2008 可以运用OS之API开发Windows服务程序,但.NET3.5不内置InstallUtil.exe。
自从.NET2.0才开始内置InstallUtil.exe安装程序,.NET3.5下该应用程序位于“C:/Windows/Microsoft.NET/Framework/v2.0.50727”下。
可以运用“Visual Studio 2008 命令提示”或“CMD”命令行安装你开发的Windows服务程序,笔者建议用前者安装。
以上在Windows XP下安装一切正常,只要是以管理员身份就OK。
但Windows7下,我虽已管理员身份运行,还是会报权限、无法访问、日志创建错误等奇怪的错误。
可在“开始-》所有程序-》Microsoft Visual Studio 2008-》Visual Studio Tools-》Visual Studio 2008 命令提示”
下输入此命令安装或卸载服务。
安装:InstallUtil "服务程序路径"
卸载:InstallUtil /u "服务程序路径"
以下介绍另外一种安装VS2008开发的服务程序。利用SC……
描述:
SC 是用于与服务控制管理器和服务进行通信的命令行程序。
【安装:sc create JUNFEIservice binPath= "服务程序路径"
卸载:sc delete JUNFEIservice
备注:安装时选 项名称包括等号。
等号和值之间需要一个空格。】
用法:
sc <server> [command] [service name] <option1> <option2>.
选项 <server> 的格式为 "//ServerName"
键入 "sc [command]" 可以获得有关命令的进一步帮助
命令:
query-----------查询服务的状态,
或枚举服务类型的状态。
queryex---------查询服务的扩展状态,
或枚举服务类型的状态。
start-----------启动服务。
pause-----------向服务发送 PAUSE 控制请求。
interrogate-----向服务发送 INTERROGATE 控制请求。
continue--------向服务发送 CONTINUE 控制请求。
stop------------向服务发送 STOP 请求。
config----------更改服务的配置(永久)。
description-----更改服务的描述。
failure---------更改服务失败时执行的操作。
failureflag-----更改服务的失败操作标志。
sidtype---------更改服务的服务 SID 类型。
privs-----------更改服务的所需权限。
qc--------------查询服务的配置信息。
qdescription----查询服务的描述。
qfailure--------查询失败时服务执行的操作。
qfailureflag----查询服务的失败操作标志。
qsidtype--------查询服务的服务 SID 类型。
qprivs----------查询服务的所需权限。
qtriggerinfo----查询服务的触发器参数。
qpreferrednode--查询首选的服务 NUMA 节点。
delete----------(从注册表)删除服务。
create----------创建服务(将其添加到注册表)。
control---------向服务发送控制。
sdshow----------显示服务的安全描述符。
sdset-----------设置服务的安全描述符。
showsid---------显示相应于假定名称的 SID 字符串。
triggerinfo-----配置服务的触发器参数。
preferrednode---设置首选的服务 NUMA 节点。
GetDisplayName--获取服务的 DisplayName
GetKeyName------获取服务的 ServiceKeyName。
EnumDepend------枚举服务的依存关系。
下列命令不要求服务名称:
sc <server> <command> <option>
boot------------(ok | bad) 指示是否将上一次启动保存为
最近一次已知的正确启动配置
Lock------------锁定服务数据库
QueryLock-------查询 SCManager 数据库的 LockStatus
示例:
sc start MyService
以上是自行摸索的,费了我不少劲呢,希望对未来有需要的IT朋友们会有帮助,哈哈。