Как предоставить права на пространство имен HTTP на установленный сервис? - PullRequest
3 голосов
/ 30 декабря 2010

Я написал службу Windows, которая открывает службу WCF на порте 8003 локальной машины. Или, по крайней мере, это предполагается до. Служба не может быть запущена из-за известного исключения:

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).

Эта проблема решена здесь , с очень простым ответом: запустите командную строку в режиме администратора и выполните:

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

Все очень хорошо, и я могу сделать это вручную на моей локальной машине разработчика. Но как мне это сделать при установке клиента, чтобы пользователю не приходилось делать что-либо, кроме нажатия «Да» (только один раз после / во время установки) при запросе запуска в режиме администратора?

Ответы [ 2 ]

5 голосов
/ 30 декабря 2010

Похоже, вы должны сделать это, используя WIX .

0 голосов
/ 05 января 2011

Похоже, ответ заключается в том, чтобы просто убедиться, что служба работает в режиме администратора, тогда проблем нет!Для тех, кто не знает, добавьте файл app.manifest в проект и установите

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...