Ответы:
Вам не нужно запускать MSI с повышенными привилегиями, если вы уже вошли в систему с учетной записью администратора. Служба установщика Windows будет автоматически повышена (и запросит у вас UAC, если ваша ОС настроена на это).
Если вы не вошли в систему как администратор, вам нужно сделать:
runas /user:<administrator username here> "msiexec /i <Path and Filename of MSI"
Это начнет установку.
Вы также можете просто открыть командную строку с повышенными правами, перейти в каталог, где находится MSI, и ввести имя MSI в командной строке (с расширением .MSI). Это также запустит установку.
Или используйте параметр объекта групповой политики «Всегда устанавливать с повышенными привилегиями» в «Шаблоны администрирования / Компоненты Windows / Установщик Windows».
Другой вариант - добавить раздел реестра в XP:
Изменить ключ
HKey_Classes_Root\Msi.Package\shell\runas
и установите значение:
Install &as...
Создайте следующий ключ:
HKey_Classes_Root\Msi.Package\shell\runas\command
и установите его
msiexec /i "%1"
Затем щелкните правой кнопкой мыши на MSI и все. Я бы не советовал этот метод, если вы не делаете это постоянно.
Хак реестра , я создал крохотное окно приложение , чтобы сделать это. Загрузите копию здесь - https://runasadminmsiexttink.codeplex.com и запустите приложение, чтобы включить / отключить параметр контекстного меню « Запуск от имени администратора» для файлов .MSI.
Одной из основных особенностей MSI является то, что пользователи могут работать с временными « повышенными правами ». Это означает, что пользователи могут устанавливать объявленные им файлы MSI, и MSI будет иметь повышенные права (аналогичные, но не идентичные правам администратора) на время установки.
Это повышение разрешено либо групповой политикой, как указано выше, либо параметром реестра . Очевидно, пойти на политический подход, если вы можете.