如何在已安装的服务上授予HTTP命名空间的权限?

时间:2010-12-30 17:54:04

标签: c# wcf http deployment windows-services

我编写了一个Windows服务,它在本地计算机的端口8003上打开了一个WCF服务。或者至少,它是所谓的。由于着名的例外,该服务无法启动:

System.ServiceModel.AddressAccessDeniedException: HTTP could not register URL http://+:8003/TRConfigurationService/. Your process does not have access rights to this namespace (see http://go.microsoft.com/fwlink/?LinkId=70353 for details).

此问题已解决here,答案非常简单:在管理员模式下运行命令提示符,然后执行:

netsh http add urlacl url=http://+:8003/ user=DOMAIN\UserName

一切都非常好,我可以在我的本地开发机上手动完成。但是如何在客户端安装时执行此操作,而不是用户在提示在管理模式下运行时,除了单击“是”(仅在安装之后/安装期间)之外不必执行任何操作?

2 个答案:

答案 0 :(得分:5)

听起来你应该能够do it using WIX

答案 1 :(得分:0)

看起来答案只是为了确保服务在管理模式下运行,然后没有问题!对于那些不知道的人,将app.manifest文件添加到项目中,然后设置

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
相关问题