У меня есть MSBuild
, который проходит через Jenkins с подписанным кодом в одном из компонентов.
Когда я запускаю сборку после запуска Jenkins от имени того же пользователя, с которого изначально был создан проект Visual Studio, он работает нормально. Однако когда я запускаю проект от имени того же пользователя с помощью запланированной задачи, запущенной другим локальным администратором, сборка завершается неудачно, даже если имя пользователя в списке процессов совпадает.
Так, например, скажем, что проект отлично работал как пользователь Admin
, как в Visual Studio, так и при запуске MSBuild
через экземпляр Jenkins на Tomcat, запущенный пользователем Admin
.
Когда я переключаю пользователя на локального администратора John.admin
и запускаю запланированное задание, которое запускает Tomcat от имени пользователя Admin
, происходит сбой со следующей ошибкой SignTool:
VCBUILD: SignTool error : ISignedCode::Sign returned error: 0x80092006
В списке процессов Tomcat работает как пользователь Admin
, так же, как если бы Admin
запустил его с startup.bat
(Tomcat является отдельной установкой).
Я пытался некоторое время, но не могу понять, почему сборка завершается неудачно при запуске через задачу. Кто-нибудь может увидеть проблему? Сборка Jenkins должна быть успешной после перезапуска и запуска компьютера через другого локального администратора.
РЕДАКТИРОВАТЬ: Я скопировал все сертификаты для пользователя Admin
(с помощью оснастки), все переменные %PATH%
, %CD%
, %USERPROFILE%
одинаковы, и задача запускается из той же папки. Единственное различие, которое я вижу, состоит в том, что идентификаторы сеанса пользователя отличаются. Я знаю это, потому что если я запускаю запланированное задание с John.admin
, а затем регистрируюсь как Admin
, java.exe не будет в списке процессов, пока я не нажму «показать процессы от всех пользователей», который затем покажет, что он запущен как пользователь Admin
.
У меня почти нет идей, поэтому я могу попробовать что-нибудь.