2015-12-17 1 views
1

Я создал пользовательскую программу установки для продукта, который разрабатывается нашей компанией. Поскольку мы имеем дело с клиентами, которые не понимают zip-файлы, я создал исполняемый файл IExpress, который распаковывает все и запускает setup.exeКак сделать установочный файл (сделанный из IExpress) запуститься как администратор на другом компьютере

Проблема, с которой я столкнулся, заключается в том, что моей программе установки нужны учетные данные администратора (проверка реестра чтобы увидеть, существуют ли ключи, выполнение пакетного скрипта и т. д.). До сих пор я всегда сообщал клиентам щелкнуть правой кнопкой мыши и выбрать «Запуск от имени администратора». Есть ли способ сделать это автоматически, поэтому мне не нужно указывать им щелкнуть правой кнопкой мыши? Клиентам не нравятся следующие инструкции.

Заранее благодарен!

+0

в сортировке, ответ нет, если им нужно запускать как администратор, им придется щелкнуть правой кнопкой мыши и запустить как администратор, даже если они являются администратором на своей машине. re, я бы рекомендовал использовать WIX Installer, который является добавлением VS, с которым сложно справиться сначала, но потом довольно просто, как только вы знаете, что вы делаете с ним. –

ответ

1

В app.manifest любого решения C# есть ключ requestedExecutionLevel. Изменение значения этого ключа на requireAdministrator всегда будет запускать это приложение в качестве администратора. Однако это означает, что если пользователь, у которого нет доступа администратора, не может запустить это приложение. В качестве альтернативы вы можете установить его на highestAvailable, который будет запущен для всех пользователей, но если у пользователя есть права администратора, он будет работать как администратор. Надеюсь это поможет!

+0

Эта половина работала. Это получилось так, чтобы мой файл установки нуждался в привилегиях администратора. К сожалению, нет возможности заставить IExpress использовать административные привилегии, поэтому он просто приводит к сбою установки. – oppassum

+1

Возможно, если файл установки указан в iexpress как «setup.exe», вы можете изменить его на «cmd/c setup.exe». iexpress увидит, что cmd.exe не поднимает свой собственный уровень и, вероятно, запускает его, не учитывая, что сделает setup.exe. –