Вы, вероятно, хотите использовать API EventLog.CreateEventSource для этого - он должен позаботиться о любых деталях для вас.
Быстрое чтение документов, похоже, показывает, что первые 8 символов проверяются на уникальность ... возможно, в этом ваша проблема?
Редактировать: из Reflector API делает это ...
- Проверка на недопустимые символы («не для печати» в зависимости от категории Unicode, \, *,?)
- Проверяет, что созданный ключ reg будет <= 254 символа </li>
- Проверяет, зарегистрирован ли источник уже
- Проверяет, что имя журнала не зарезервировано (AppEvent, SecEvent, SysEvent)
- Проверяет наличие другого журнала с тем же началом 8 символов
- Проверяет, что имя журнала не существует как источник
- Создает подраздел журнала
- Инициализирует подраздел журнала со значениями по умолчанию (MaxSize = 524288, AutoBackupLogFiles = 9. Retention = 604800, File =% SystemRoot% \ System32 \ config \ logName.Substring (0, 8) + ".evt")
- Если ОС не> Windows NT 5.x (Vista или выше), создает многострочное значение для logkey с именем logName и именем источника. Или, если значение существует, добавляет имя источника в существующий массив.
- Создает подключ для источника
- Инициализирует исходный подраздел со значениями по умолчанию (EventMessageFile, ParameterMessageFile, CategoryMessageFile, CategoryCount)