服务安装在 Windows 8,10 等
Service install on Windows 8,10 etc
我在安装服务时遇到问题。
我根据需要使用默认快捷方式和后记或 /install
/uninstall
来完成。不幸的是,程序生成错误以停止操作。
惊人的安装在较旧的环境中正常工作。
还有其他安装服务的方法吗?
您尝试过 运行 作为管理员吗?可能是权限问题。
当 UAC 关闭时,安装在较旧的环境中工作(这是一件坏事),您总是需要 运行 您的安装 program/script 提升权限(就像这是自 Windows Vista 以来)。
您可以包含一个清单,以便您的 application/service 在使用 /install 参数执行时需要提升。
要包含清单,您需要创建一个名为 manifest.xml 的 xml 文件,其中包含以下内容:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="YourApplication.exe" type="*" />
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*" />
</dependentAssembly>
</dependency>
</assembly>
然后创建一个名为 manifest.rc 的文件,内容如下:
1 24 "Manifest.xml"
在现代 Delphi 版本中,您只需通过项目管理器将 rc 文件包含在项目中,Delphi 将自动将其作为资源包含。在较旧的 Delphi 版本中,您需要使用 brcc 编译器手动编译 .rc 文件以生成 .res 文件。
在现代 Delphi 版本中:不需要 .rc
转到菜单:
项目 > 选项 > 应用程序 > 清单文件:
- 自动生成
- 要求管理员
此致。
我在安装服务时遇到问题。
我根据需要使用默认快捷方式和后记或 /install
/uninstall
来完成。不幸的是,程序生成错误以停止操作。
惊人的安装在较旧的环境中正常工作。
还有其他安装服务的方法吗?
您尝试过 运行 作为管理员吗?可能是权限问题。
当 UAC 关闭时,安装在较旧的环境中工作(这是一件坏事),您总是需要 运行 您的安装 program/script 提升权限(就像这是自 Windows Vista 以来)。 您可以包含一个清单,以便您的 application/service 在使用 /install 参数执行时需要提升。
要包含清单,您需要创建一个名为 manifest.xml 的 xml 文件,其中包含以下内容:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="YourApplication.exe" type="*" />
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*" />
</dependentAssembly>
</dependency>
</assembly>
然后创建一个名为 manifest.rc 的文件,内容如下:
1 24 "Manifest.xml"
在现代 Delphi 版本中,您只需通过项目管理器将 rc 文件包含在项目中,Delphi 将自动将其作为资源包含。在较旧的 Delphi 版本中,您需要使用 brcc 编译器手动编译 .rc 文件以生成 .res 文件。
在现代 Delphi 版本中:不需要 .rc 转到菜单: 项目 > 选项 > 应用程序 > 清单文件: - 自动生成 - 要求管理员
此致。