NSIS получить и скопировать файл из AppData
Я хочу проверить файл и скопировать его в другой каталог, если он существует. К сожалению, файл существует в папке AppData.
CheckFile:
!define INSTDIR_DATA "$APPDATA\Local\VirtualStore\Program Files\SomeFolder"
IfFileExists INSTDIR_DATA\SettingsFile.ini CopyOver NotHere
Я попал в этот раздел без проблем, но тогда он не может найти файл, несмотря на явную уверенность, что он существует. Я что-то пропустил? Следует отметить, что я хочу, чтобы этот каталог просматривался в текущем пользовательском каталоге, поэтому настройка его для всех пользователей не требуется.
1 ответ
Решение
NSIS имеет константу $LocalAppData:
DetailPrint $AppData
DetailPrint $LocalAppdata
в моей системе это печатает:
C:\Users\Anders\AppData\Roaming
C:\Users\Anders\AppData\Local
$ AppData на самом деле не "корневой" AppData, а его перемещаемая часть.
Если у вас есть RequestExecutionLevel
атрибут в вашем сценарии, то это будет влиять на то, как Windows работает с перенаправлением файловой системы, и VirtualStore является частью этого.