2015-03-06 2 views
0

У нас есть традиционное настольное приложение для настольных ПК с пользовательской настройкой. Настройка подписана и должна выполняться как администратор. Текущая настройка prod EXE, которая была построена и подписана 5 лет назад, автоматически повышается и запускается как администратор в Windows 7 или 8. Настройка, которую мы перестроили сейчас, а также подписана с другим сертификатом и имеет то же имя, что и старый, автоматически не добавляется к admin и, следовательно, не удается.Автоматически повышать настройку Windows до режима администратора

Что делает Windows автоматически запускать установку EXE в качестве администратора?

+0

Скорее всего: у старой установки нет манифеста, но Windows успешно угадывает, что это программа установки и запрашивающая возвышение. У новой установки есть манифест, но вы явно не настроили requestExecutionLevel, поэтому оно установлено на значение по умолчанию asInvoker. Если вы используете инструменты сборки Microsoft, проверьте значение параметра компоновщика/MANIFESTUAC. Вы хотите установить его для requireAdministrator. –

ответ

0

Подписание не связано с правами администратора, поэтому не беспокойтесь об этом в этом отношении.

Чтобы развернуть комментарий Гарри Джонсона (что правильно), ранние версии UAC в Windows используются для автоматического подъема программ, которые выглядят как программы установки. Я не знаю, какой именно алгоритм используется, но программы с установкой или установкой в ​​именах или описаниях были подняты. Этого больше не происходит, и в программах UAC, запускаемых админами, не повышается, если они явно не поднимаются с манифестом или работают как администратор.

Не зная, откуда этот setup.exe, если вы его построите. или он поставляется с версией инструмента установки (Visual Studio?), тогда трудно сказать, как его исправить.

Если это будет установка на основе MSI, MSI запросит возвышение, если оно отмечено таким образом. Неясно, из какой части установки требуется возвышение, но если это setup.exe, на самом деле это делает установку, тогда все это требует повышения, и для этого требуется манифест возвышения.

+0

Поведение UAC не изменилось, но эвристика применима только к приложениям без манифеста - это мера обратной совместимости. Что изменилось, так это то, что современные инструменты построения всегда включают манифест. –

Смежные вопросы