Каков наилучший способ указать, ограничен ли ли уровень InstallPrivileges в командной строке в WIX?
Я хочу создать MSI в WiX так, чтобы он мог принимать параметр командной строки, чтобы указать, является ли это установкой для каждого компьютера или для пользователя, и, следовательно, вызывать ли диалог UAC.
Каков наилучший способ сделать это?
3 ответа
Я еще не смог протестировать в Vista, но то, что работает в XP для установки с ограниченным количеством пользователей и пользователей с правами администратора для каждой машины, таково:
msiexec / i myinstaller.msi ALLUSERS = "" INSTALLDIR = "C: \ Документы и настройки [Имя пользователя]\ Локальные настройки \ Данные приложения \ Моя компания \ Моя программа"
INSTALLDIR может быть любым, что ограниченный пользователь может писать в. Выше находится каталог, который использует Google Chrome. По следующей ссылке было обнаружено, что свойство ALLUSERS может фактически быть пустым, которое находится на расстоянии 1 или 2 и правильно устанавливает местоположения ProgramDir и Desktop
http://blogs.msdn.com/astebner/archive/2007/11/18/6385121.aspx
Диалог UAC управляется битом в потоке SummaryInformation. К сожалению, это означает, что им нельзя управлять во время выполнения (установка / восстановление / удаление). Вы должны создать различные файлы MSI, чтобы действительно изменить приглашение UAC.