我正在尝试使用MSBuild和CCNET安装Windows服务。我正在使用MSBuild扩展包WindowsService 作为自动构建的一部分安装和启动Windows服务的任务。脚本部分看起来像这样
<!--install service-->
<MSBuild.ExtensionPack.Computer.WindowsService TaskAction="Install" ServiceName="$(PrServiceName)" ServicePath="$(PrServicePath)" User="$(User)" />
<!--set service to run automatically on restart-->
<MSBuild.ExtensionPack.Computer.WindowsService TaskAction="SetAutomatic" ServiceName="$(PrServiceName)" />
<!--start service-->
<MSBuild.ExtensionPack.Computer.WindowsService TaskAction="Start" ServiceName="$(PrServiceName)" ServicePath="$(PrServicePath)" User="$(User)" />
现在,只要第一个任务运行以安装服务,它就会失败,并显示以下错误
E:\ Data \ cc_temp \ Projects \ cubic \ intranet \ pr \ pr.build(137,3):错误:安装服务失败,代码为:'AccessDenied'
我认为这是因为脚本在巡航控制服务用户帐户下运行,该帐户没有安装Windows服务的适当权限。
我只想给予巡航控制用户帐户最小的权限,而不是给予完整的管理权限。
有没有人知道我怎么能实现这个目标?
等待 纳比尔
答案 0 :(得分:0)
Nabeel你走在正确的轨道上,它必须是一个权限问题。我们使用相同的工具在构建中始终执行此操作并且它可以正常工作。您是否检查过该服务运行的帐户?并使用相同的用户帐户来运行您的巡航控制?至少那你可能会证明/反驳权限问题。