У нас возникли проблемы с кодом, который уже работал, чтобы повысить права вспомогательного процесса, который устанавливает новый принтер.Подъемный процесс с UAC без ShellExecute
Я нашел этот ответ здесь, что почти соответствует наш код: Windows 7 and Vista UAC - Programmatically requesting elevation in C#
Единственное отличие состоит в том, что мы установили ShellExecute ложь. Это вызвало исключение Win32Exception, что процесс требует повышенных прав. Использование ShellExecute разрешило это.
Мой вопрос: почему? Скорее всего, есть ответ на этот вопрос, который имеет смысл и будет действительно понимать, что происходит, поэтому я буду знать, что в следующий раз потребуется нечто подобное.
Большое спасибо за все советы!
Основным «почему» является то, что существует значительная проблема с этим «вспомогательным процессом». Он должен попросить возвышение. –