我写了一个 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
一切都很好,我可以在我的本地开发机器上手动完成。但是,我如何在客户端安装中执行此操作,而用户除了在系统提示以管理员模式运行时单击"is"(仅在安装后/安装期间单击一次)外,无需执行任何其他操作?
最佳答案
听起来你应该能够 do it using WIX .
关于c# - 如何在已安装的服务上授予对 HTTP 命名空间的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4564959/