Если вы хотите установить на %ProgramFiles%
, вам нужно установить как администратор.Обычные пользователи не имеют доступа для записи в каталог %ProgramFiles%
.
Если установка в %ProgramFiles%
не является обязательным требованием, просто дайте пользователю выбрать каталог назначения или установите в {localappdata}
вместо {pf}
.{localappdata}
гарантированно доступен для записи для его владельца.Он расширяется до чего-то вроде C:\Users\<user name>\AppData\Local
.
. Вы также можете установить на {pf}
, если он работает от имени администратора, и на {localappdata}
, если он работает от имени пользователя с ограниченными правами;используйте IsAdminLoggedOn для принятия решения.
Если установка на %ProgramFiles%
обязательна, у вас нет другого выбора, кроме как запускаться от имени администратора.Чтобы это работало правильно, убедитесь, что в вашем файле .iss либо не определена опция PrivilegesRequired , либо установлено значение admin
.Затем, когда установщик запустит непривилегированный пользователь, появится приглашение UAC с запросом учетных данных с достаточными правами доступа (если только UAC не отключен, и в этом случае единственным способом установки является запуск от имени).