Как предоставить службе Windows доступ к очереди MSMQ с помощью проекта установки? - PullRequest
4 голосов
/ 21 сентября 2009

У меня есть служба Windows, которой требуется доступ к очереди сообщений (MSMQ).

Сама очередь создается с использованием компонента MessageQueueInstaller, который автоматически генерирует код установки. Затем я развертываю его, используя стандартный проект установки.

Служба устанавливается таким же образом, используя тот же проект установки.

Когда я запускаю службу, она сразу останавливается, и в моем коде появляется следующее исключение

Доступ к системе очереди сообщений запрещен

Я пробовал как LocalService, так и NetworkService.

Нужен ли установщик для изменения разрешений, необходимых для очереди, или мне нужно изменить разрешения, которые имеет служба?

Как мне изменить проект установки, чтобы внести это изменение?

Ответы [ 2 ]

4 голосов
/ 21 сентября 2009

Вам следует изменить разрешения в очереди. Эти пользователи не имеют доступа к очереди по умолчанию.

1 голос
/ 21 сентября 2009

Одна из причин такого поведения вызвана тем, что MSMQ установлен в режиме сетевой группы.

Попробуйте использовать учетную запись из домена с правами администратора на компьютере. (это единственное, что работает для меня)

Вы также можете получить право на MQ для этого пользователя. откройте диспетчер компьютера и сделайте это так.

...