В отличие от EXE-файлов, для установочных пакетов MSI в контекстном меню не предусмотрена опция запуска от имени администратора, а ведь известно, что некоторые, если только не большинство MSI-программ требуют запуска с повышенными привилегиями. А ведь процедуру запуска таких файлов можно упростить, добавив в контекстное меню Проводника стандартную команду «Запуск от имени администратора».
Вот как это можно сделать. Командой regedit откройте редактор реестра и разверните в левой колонке окна следующую ветку:
HKEY_CLASSES_ROOT/Msi.Package/shell
Если вдруг раздела Msi.Package у вас не окажется, вам нужно будет создать его вручную, а в нём создать подраздел shell, в свою очередь в нём создать ещё один подраздел с именем runas. В общем, у вас должен получиться вот такой путь.
HKEY_CLASSES_ROOT/Msi.Package/shell/runas
В последнем каталоге создайте новый строковый параметр и назовите его HasLUAShield. Значение его оставьте по умолчанию.
Этот параметр нужен только для того, чтобы напротив команды была иконка UAC. Теперь создайте в подразделе runas ещё один подраздел с именем command и установите в качестве имеющегося в нём параметра по умолчанию следующую строку:
C:\Windows\System32\msiexec.exe /i \"%1\" %*
Готово.
Закройте редактор реестра и попробуйте вызвать контекстное меню для MSI-файла.
Если вы нигде не ошиблись, в нём вы увидите стандартную команду «Запуск от имени администратора».
В тексте написано: C:/Windows/System32/msiexec.exe /i /"%1/" %*
на картинке же с точностью наоборот.
C:/Windows/System32/msiexec.exe /i \"%1\" %*
Спасибо, поправил!
Windows не удаётся получить доступ к указанному устройству, пути или файлу.
Возможно, у вас нет нужных разрешений для доступа к этому объекту.