使用instsrv.exe+srvany.exe将应用程序安装为windows服务的方法

将应用程序安装为 Windows 服务是使应用程序在系统启动时自动运行的常见方法。以下是使用 instsrv.exe 和 srvany.exe 工具将应用程序安装为 Windows 服务的步骤:

准备工作

在开始之前,需先下载 Windows Server 2003 Resource Kit Tools,其中包含了 instsrv.exe 和 srvany.exe 两个工具。下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=17657

安装服务

第一步是使用 instsrv.exe 工具安装服务。打开命令行工具,运行以下命令:

instsrv myservice "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"

其中,myservice 是你想要创建的服务名称,"C:\Program Files\Windows Resource Kits\Tools\srvany.exe" 是 srvany.exe 工具的路径。

配置服务

第二步是使用 regedit.exe 工具配置服务。打开注册表编辑器(regedit.exe),找到以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\myservice

其中,myservice 是你在第一步中创建的服务名称。在该路径下新建以下两个键值对:

"Parameters"=hex(7):00,00
"Application"="C:\\Path\\To\\MyApp.exe"

其中,Application 是你想要作为服务运行的应用程序的路径。

测试服务

每次配置服务后,你可以使用服务管理器来启动和停止服务。启动服务后,你的应用程序将在 Windows 启动时自动运行。

下面是两个示例:

示例一

假设我们有一个 Node.js 应用程序,路径为 C:\myapp\index.js。那么我们可以使用以下命令创建一个名为 "myservice" 的服务:

instsrv myservice "C:\Program Files\Windows Resource Kits\Tools\srvany.exe"

然后,在注册表编辑器中找到以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\myservice

在该路径下新建一个名为 "Parameters" 的子键,并设置该键对应的值为 "hex(7):00,00"。然后,再新建一个名为 "Application" 的子键,并设置该键对应的值为 "C:\myapp\index.js"。

最后,用服务管理器启动该服务即可。

示例二

假设我们有一个 Python 应用程序,需要随计算机启动而自动运行。我们可以创建一个名为 "myservice" 的服务,并将应用程序的路径设置为:

C:\Python27\python.exe C:\myapp\index.py

在注册表编辑器中,依次找到以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\myservice

在该路径下,新建一个名为 "Parameters" 的子键,并设置该键对应的值为 "hex(7):00,00"。然后,再新建一个名为 "Application" 的子键,并设置该键对应的值为 "C:\Python27\python.exe C:\myapp\index.py"。

最后,用服务管理器启动该服务即可。

希望以上步骤能够帮助你将应用程序安装为 Windows 服务。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用instsrv.exe+srvany.exe将应用程序安装为windows服务的方法 - Python技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • vue学习之指令简写以及事件笔记

    以下是关于“Vue学习之指令简写以及事件笔记”的完整攻略,包括基本概念、使用方法和两个示例。 基本概念 在Vue中指令是一种特殊的属性,用于在模板中添加交互和动态行为。指令简写是Vue提供的一种简化指令书写的方式,可以让开发者更加方便地编写Vue模板。事件是Vue中的一种交互方式,可以在模板中绑定事件处理函数,实现用户与页面的交互。 使用方法 以下是指令简写…

    other 2023年5月7日
    00
  • JavaScript使用DeviceOne开发实战(一) 配置和起步

    非常感谢对我们网站的关注,下面是JavaScript使用DeviceOne开发实战(一) 配置和起步的详细攻略。 配置DeviceOne开发环境 下载安装DeviceOne Studio 首先,我们需要下载和安装DeviceOne Studio。 DeviceOne Studio官方网站:https://www.deviceone.net/ DeviceOn…

    other 2023年6月26日
    00
  • 求32位机器上unsigned int的最大值及int的最大值的解决方法

    求32位机器上unsigned int的最大值及int的最大值的解决方法 在32位机器上,unsigned int的最大值可以通过以下步骤求得: 确定机器上整数类型的位数:32位机器上,整数类型的位数为32位。 计算unsigned int的最大值:由于unsigned int是无符号整数类型,它的取值范围是从0到2^32-1。因此,unsigned int…

    other 2023年7月28日
    00
  • WinHex查找下载器真实下载地址链接的方法图解

    WinHex查找下载器真实下载地址链接的方法图解攻略 WinHex是一款功能强大的十六进制编辑器和数据恢复工具。在使用WinHex查找下载器真实下载地址链接时,可以按照以下步骤进行操作: 步骤一:打开下载器文件 首先,打开下载器文件(通常是一个可执行文件或者一个安装包),在WinHex中选择“文件”菜单,然后选择“打开”选项。在弹出的对话框中,浏览并选择你要…

    other 2023年8月4日
    00
  • 非常详细的/etc/passwd解释

    非常详细的 /etc/passwd 解释 在类UNIX操作系统中,/etc/passwd是存储本地用户信息的文件。在本篇文章中,将会详细解释/etc/passwd文件的各个字段以及它们是如何被用来控制用户的访问。 文件格式 /etc/passwd 文件由一行一行的文本记录构成,每一行都表示一个本地系统用户。每一行由冒号(::)分隔成了七个字段。以下是一些范例…

    其他 2023年3月28日
    00
  • Android获得当前正在显示的activity类名的方法

    Android获得当前正在显示的activity类名的方法 在Android开发中,有时我们需要获取当前正在显示的Activity的类名。下面我将详细介绍两种常用的方法来实现这个目标。 方法一:使用ActivityLifecycleCallbacks Android提供了ActivityLifecycleCallbacks接口,通过该接口我们可以监听Acti…

    other 2023年6月28日
    00
  • vscode前端必备扩展有哪些? 25个提升开发幸福感的VSCode扩展分享

    vscode前端必备扩展 1. Prettier Prettier 是一个代码格式化工具,它可以帮助你自动格式化你的代码,使其保持一致的风格。它支持多种编程语言,并且可以根据你的配置文件自动格式化代码。 示例说明:当你在编写JavaScript代码时,Prettier可以自动调整代码的缩进、换行和空格,使代码更加整洁易读。 2. ESLint ESLint …

    other 2023年7月27日
    00
  • 变量声明时命名与变量作为对象属性时命名的区别解析

    变量声明时命名与变量作为对象属性时命名的区别解析 在JavaScript中,变量声明时的命名和变量作为对象属性时的命名有一些区别。本攻略将详细解释这两者之间的差异,并提供两个示例来说明。 变量声明时命名 在变量声明时,命名遵循一些规则和约定,以确保代码的可读性和一致性。以下是一些常见的命名规则: 变量名应该以字母、下划线或美元符号开头。 变量名可以包含字母、…

    other 2023年8月9日
    00
合作推广
合作推广
分享本页
返回顶部