Запись в журнал событий без администратора

Я администратор на моей локальной машине. Однако приложение, которое я создаю (надстройка 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 ответ

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

Другие вопросы по тегам