Кажется, у моей службы проблема с запуском Excel, когда на сервер никто не вошел, у кого-нибудь есть решение этой проблемы.
Конечно, есть проблема. Службы Windows не могут отображать пользовательский интерфейс , так как вы ожидаете, что он запустит приложение с графическим интерфейсом, например Microsoft Excel, когда не будет зарегистрирован пользователь?
Полученный вами специальный код ошибки COM означает:
8000401a
: процесс сервера не может быть запущен из-за неверного настроенного идентификатора. Проверьте имя пользователя и пароль.
Другими словами, Excel пытается запуститься как интерактивный пользователь, который относится к пользователю, который в данный момент подключен непосредственно к консоли сервера. Поскольку ни один пользователь не вошел в систему, никакого интерактивного пользователя не существует, и приложение перестает работать, когда оно пытается принять это удостоверение.
Дизайн все равно был нарушен: Excel не был предназначен для запуска из службы Windows. Вместо этого создайте стандартное приложение Windows. Если вам нужно, чтобы он работал в фоновом режиме без собственного пользовательского интерфейса, не создавайте окно.