我编写了一个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
一切都非常好,我可以在我的本地开发机上手动完成。但是如何在客户端安装时执行此操作,而不是用户在提示在管理模式下运行时,除了单击“是”(仅在安装之后/安装期间)之外不必执行任何操作?
答案 0 :(得分:5)
听起来你应该能够do it using WIX。
答案 1 :(得分:0)
看起来答案只是为了确保服务在管理模式下运行,然后没有问题!对于那些不知道的人,将app.manifest文件添加到项目中,然后设置
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />