Запись в журнал событий без администратора - PullRequest
0 голосов
/ 12 ноября 2018

Я администратор на моей локальной машине. Однако приложение, которое я создаю (надстройка Outlook VSTO), будет развернуто администратором развертывания пользователям, у которых не будет администратора.

Приложение установлено правильно.

Моя проблема в том, что у меня есть код, который проверяет, если EventLog.SourceExists("my VSTO addin"). Если нет, то это будет EventLog.CreateEventSource("my VSTO addin").

Мои вопросы:

  1. Мне действительно нужно создать источник событий? Будет ли он по-прежнему регистрироваться без существующего источника?
  2. Как мне создать источник события (если требуется # 1)?

2a Возможно, мне нужно создать небольшое приложение, которое создает источник событий, и это должно быть установлено администратором?

2b Может быть, я смогу где-нибудь вставить его в код, который будет вызываться при его установке? (Я использую установить щит)

2c Возможно, это может быть сделано администратором как часть групповой политики?

2d Я могу создать раздел реестра согласно https://docs.microsoft.com/en-us/windows/desktop/EventLog/event-sources

1 Ответ

0 голосов
/ 13 ноября 2018

Чтобы ответить на мои вопросы: мне нужно создать источник.Чтобы решить эту проблему, я создал другое консольное приложение, которое просто создает источники журнала событий, которые мне нужны.В installshield я добавил этот новый exe как пользовательское действие.Установка выполняется в режиме администратора, поэтому исходные коды созданы.Это исправляет приложение, потому что не администраторы использовали приложение, и оно пыталось создать источники журнала событий, если они не существуют.Я удалил этот чек.

...