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

Sha*_*ica 3 c# deployment wcf windows-services http

我编写了一个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).
Run Code Online (Sandbox Code Playgroud)

这个问题解决在这里,有一个非常简单的答案:运行管理模式命令提示符,然后执行:

netsh http add urlacl url=http://+:8003/ user=DOMAIN\UserName
Run Code Online (Sandbox Code Playgroud)

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

ziy*_*iya 5

听起来你应该能够使用WIX做到这一点.