В чем разница между контекстом «запуск от имени администратора» и свойствами?

358
Hans Hubert Vogts

У меня есть старая программа, разработанная для XP, которая не работает должным образом в Windows 7 и UAC на.

Если я запускаю программу с правым кликом и «Запуск от имени администратора», программа вылетает с

 Unhandled Exception: System.ComponentModel.Win32Exception: The requested operation requires elevation at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) at Tat.Tools.OskLayout.ShowKeypad() at Tat.Tools.OskLayout..ctor() at Tat.Tools.OskLayout.get_Run() at Tat.Tools.OskLayout.Main(String[] args) 

Если я установлю свойства программы -> Совместимость -> «Запустить программу от имени администратора», программа будет работать.

Я должен принять диалог UAC в обоих случаях, что является ожидаемым поведением.

В чем разница между контекстным меню «Запуск от имени администратора» и свойством «Запускать от имени администратора»?

1
AFAIK UAC отключен ... Akina 6 лет назад 0
Вам предлагается разрешить запуск с каждым параметром? Moab 6 лет назад 0
Диалог @Moab UAC в обоих случаях Hans Hubert Vogts 6 лет назад 0
Это странная проблема, на которую у меня нет ответа, извините. Moab 6 лет назад 0

1 ответ на вопрос

0
Daisy Zhou

В: В чем разница между контекстным меню «Запуск от имени администратора» и свойством «Запускать эту программу от имени администратора»?

A: Нет никакой разницы между ними.

Согласно предложению: Если я установил свойства программы -> Совместимость -> «Запустить программу от имени администратора», программа работает. Программа может работать правильно, я думаю, потому что мы установили свойства программы -> Совместимость -> Запустить эту программу в режиме совместимости, это не только потому, что эта программа должна запускаться от имени администратора.

Поскольку программа предназначена для XP, теперь мы запускаем ее в Windows 7, поэтому нам нужно запустить эту программу в режиме совместимости, тогда мы сможем запустить ее правильно.

Необходимость запуска программы от имени администратора зависит от самой программы, некоторые программы должны запускаться от имени администратора, а некоторые программы не должны запускаться от имени администратора.

Я установил «Запускать эту программу от имени администратора» по ключу реестра HKEY_CURRENT_USER \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers со значением «RUNASADMIN», потому что я должен сделать это без присмотра. Согласно https://ss64.com/nt/syntax-compatibility.html режим совместимости будет дополнительной записью. Извините, но режим совместимости здесь не проблема. Я также попробовал режим совместимости, но безуспешно. Hans Hubert Vogts 6 лет назад 0