Windows services 使用InstallShield安装srvany.exe以将jar文件作为服务运行(不编辑注册表)

Windows services 使用InstallShield安装srvany.exe以将jar文件作为服务运行(不编辑注册表),windows-services,installshield,Windows Services,Installshield,我们正在尝试安装一个Java程序作为windows服务运行。在各种可用选项(JSW、YAJSW、Launch4J、procrun、WinRun4J等)中,我们希望使用srvany.exe并使用InstallShield进行安装。Windows文档说 使用RegEdit:为您的服务创建“参数”键(例如,HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\) 使用RegEdit:在新创建的“Par

我们正在尝试安装一个Java程序作为windows服务运行。在各种可用选项(JSW、YAJSW、Launch4J、procrun、WinRun4J等)中,我们希望使用srvany.exe并使用InstallShield进行安装。Windows文档说

使用RegEdit:为您的服务创建“参数”键(例如,
HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters\
) 使用RegEdit:在新创建的“Parameters”键中,创建一个名为
Application
的字符串值,并输入要作为服务运行的应用程序的完整路径

有没有一种方法可以在不使用InstallShield的注册表编辑器的情况下使用InstallShield来实现这一点?是否有一个InstallScript调用可以负责向注册表中的srvany条目添加和删除“参数”?该解决方案应该适用于Windows 2008R2和2003R2


非常感谢您的帮助。

假设您使用的是基本的MSI项目类型,我发现ServiceInstall、ServiceControl和Registry表的组合是一个很好的解决方案。由于ServAny实际上只是一个thunking层,如果没有注册表表的帮助,ServiceInstall表就无法完全描述服务。不过,不需要自定义操作,MSI将非常可靠和健壮。

由于我们无法在可用时间内找到有利的解决方案,我们决定不使用srvany.exe。我们决定使用YAJSW,并在InstallShield中使用“Text File Changes”修改YAJSW的wrapper.conf以启动我们的java应用程序。

谢谢,我们不想直接操作注册表表。