На сервере Windows 2003, работающем из службы, createprocessasuser завершается с ошибкой 87 и ошибкой от WLEXECSERVER, которая говорит, что не может выдать себя за пользователя.
На 64-разрядном сервере Windows 2003, запущенном из службы, createprocessasuser завершается с ошибкой 1349.
Токен создан с использованием OpenProcess -> OpenProcessToken(TOKEN_QUERY, TOKEN_DUPLICATE) -> DuplicateTokenEx (WITH GRANT_ALL, PrimaryToken, SecurityImpersonation).
На WIN7 и 2008 R2 работает без проблем.
Если я возьму токен с WTSQueryUserToken, он также будет работать нормально.
У кого-нибудь есть идея, почему?