Моя программа C:\Program Files\MyApp\Myprog
запускается при запуске Windows; при подключении устройстваMyprog.exeвызывает другую программу C:\Windows\comp.exe
.
Этот процесс отлично работает в учетной записи администратора, в которой я устанавливаю программы, ноMyprog.exeне может вызватьcomp.exeпри изменении учетной записи пользователя.
Я хочу C:\Windows\comp.exe
, чтобы она вызывалась в каждом типе учетной записи, например, в учетных записях группы администраторов и учетных записях не администраторов. Пожалуйста, помогите. P.S. Обе программы не пропатчены UAC.
решение1
В вашей exec-команде внутри вашего приложения вы можете использовать встроенную команду Windowsбеги как.
Например:
беги как/noprofile /user:mymachine\administrator "C:\Program Files\MyApp\Myprog.exe"
(вероятно, вы можете опустить домен mymachine\ в вашей среде)
Другим решением было бы выполнить сравнение во временном каталоге с полным доступом для пользователя, поскольку создается впечатление, что вы пытаетесь сделать это в защищенном каталоге на системном диске. - Возможно, в домашнем каталоге пользователя.
К сожалению, я ничего не знаю о "Myprog". Но, возможно, вы забыли установить рабочий каталог "comp.exe", поэтому он пытается запуститься внутри C:\Windows, который, конечно, защищен от не-администраторов.
runas ссылка та же проблема, решение с помощью пакетного файла