Я занимаюсь разработкой переносного приложения (без установки), для работы которого требуются права администратора, и я хочу, чтобы оно автоматически запускалось от имени администратора, чтобы пользователю не приходилось это делать. В файле app.manifest я изменил измененный уровень запрашиваемого выполнения с asInvoker на самый высокий Доступный:
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
(я тоже пробовал требовать администратора)
И действительно, теперь мое приложение всегда автоматически запускается от имени администратора. Когда я захожу в папку отладки ([папка приложения] / bin / debug) и запускаю .exe-файл напрямую, он также запускается от имени администратора по умолчанию. Даже если я скопирую его в другую папку на моем компьютере, все будет хорошо. На .exe даже есть этот типичный знак администратора на значке.
К сожалению, когда я отправил свое приложение своему другу, он сообщил, что мое приложение не запускается автоматически как администратор, и на значке приложения также нет знака администратора. Я пытался найти причину, но безрезультатно. Я даже не уверен, какую информацию предоставить по этому вопросу, так как понятия не имею, что может иметь отношение к этому делу. Насколько я понимаю, app.manifest автоматически включается в файл .exe. Файл app.manifest находится в папке [application] / My Project, но даже если я удалю его оттуда, мой exe-файл приложения будет работать от имени администратора, поэтому я предполагаю, что манифест будет скомпилирован в exe во время сборки.
Может кто-нибудь предложить, в чем может быть причина здесь? Если потребуется дополнительная информация, которую я не знаю, пожалуйста, сообщите.