Я использую Inno Setup для установки документов/файлов, а не приложения, и это в первую очередь для пользователей Windows 7. Таким образом, мой DestDir
основан на {userdocs}
, так что все файлы будут установлены в папке ниже библиотеки документов этого пользователя.Inno Setup - доступ к непривилегированным папкам учетной записи из установщика, для которого требуются привилегии
Проблема возникает, когда я использую тот же установщик для установки шрифта TTF. Для этого требуются повышенные привилегии (admin
или superuser
). Проблема, которую я вижу, заключается в том, что если пользователь, не являющийся администратором, запускает установку, они правильно запрашиваются через UAC для пароля администратора/суперпользователя ... но в этот момент DestDir
для установки изменяется в папку документов администратора, а не папке документов пользователя. Есть ли способ обойти это или предотвратить это?
Пример, не являющемуся администратором учетной записи Fre
имеет путь документов:
C:\Users\Fred\My Documents\
И если я не включать TTF шрифт как часть установки, это то, что программа установки будет использовать в качестве базового пути для установки {userdocs}
, и он отлично работает.
Если я DO включить TTF шрифт как часть установки с же, не являющимся администратором пользователем Fred, к тому времени завершения установки {userdocs}
стал
C:\Users\AdminUser\My Documents\
... который не является предполагаемым результатом ... просто нужны привилегии администратора для части установки шрифта и нужны файлы, установленные в области документов пользователя.
Спасибо.
Я добавил пример реализации. –