yuv*_*val 3 service windows-xp windows-services inno-setup
我的安装程序使用Inno Setup中的以下命令创建服务:
Filename: {sys}\sc.exe; Check: IsAdminLoggedOn; Parameters: "create Example start= delayed-auto binPath= ""{app}\Example.exe"""; Flags: runhidden
Run Code Online (Sandbox Code Playgroud)
此行适用于Windows XP以外的所有Windows,因为Windows XP delayed-auto不支持启动类型.
我需要使用delayed-auto启动类型有两个原因.
delayed-auto只在所有基本服务都启动后才启动.那么我可以在Windows XP上创建一个具有类似于启动类型的服务delayed-auto,如果没有,那么有哪些替代方案?
在delayed-auto启动类型并非意在解决服务之间的依赖关系.如果您依赖的服务也具有delayed-auto启动类型怎么办?在delayed-auto启动类型旨在通过延迟非必要的服务,以加快计算机启动.
请参阅Windows服务的启动类型中"延迟启动"的作用是什么?
要设置服务之间的依赖关系,请使用depend=选项.
sc.exe create Example start= delayed-auto binPath= "..." depend= service1/service2/service3
Run Code Online (Sandbox Code Playgroud)
如果您仍想delayed-auto在Windows Vista及更高版本(建议使用)上使用,只需创建两个[Run]条目,一个用于Windows XP,另一个用于Windows Vista(Windows 6.0)及更高版本.
; Delayed automatic start on Vista and newer
Filename: {sys}\sc.exe; Check: IsAdminLoggedOn; \
Parameters: "create Example start= delayed-auto binPath= ""{app}\Example.exe"" depend= service1/service2/service3"; \
Flags: runhidden; MinVersion: 6.0
; Automatic start on XP
Filename: {sys}\sc.exe; Check: IsAdminLoggedOn; \
Parameters: "create Example start= auto binPath= ""{app}\Example.exe"" depend= service1/service2/service3"; \
Flags: runhidden; OnlyBelowVersion: 6.0
Run Code Online (Sandbox Code Playgroud)
另请参阅基于Windows版本的Inno Setup Run部分中的Execute different命令.
一个更好但更复杂的解决方案是使用脚本常量.它减少了代码重复.
| 归档时间: |
|
| 查看次数: |
3773 次 |
| 最近记录: |