NSIS 从 AppData 检索和复制文件
NSIS retrieve and copy file from AppData
我想检查一个文件并将其复制到另一个目录(如果存在)。不幸的是,该文件存在于 AppData 文件夹中。
CheckFile:
!define INSTDIR_DATA "$APPDATA\Local\VirtualStore\Program Files\SomeFolder"
IfFileExists INSTDIR_DATA\SettingsFile.ini CopyOver NotHere
我毫无问题地进入了这个部分,但是尽管已明确确保它存在,但它似乎找不到该文件。我错过了什么吗?需要注意的是,我确实希望通过当前用户目录搜索此目录,因此不需要将其设置为所有用户。
NSIS 有一个 $LocalAppData 常量:
DetailPrint $AppData
DetailPrint $LocalAppdata
在我的系统上打印:
C:\Users\Anders\AppData\Roaming
C:\Users\Anders\AppData\Local
$AppData 实际上不是 AppData "root" 而是它的漫游部分。
如果您的脚本中有 RequestExecutionLevel
属性,那么这将影响 Windows 处理文件系统重定向的方式,而 VirtualStore 是其中的一部分。
我想检查一个文件并将其复制到另一个目录(如果存在)。不幸的是,该文件存在于 AppData 文件夹中。
CheckFile:
!define INSTDIR_DATA "$APPDATA\Local\VirtualStore\Program Files\SomeFolder"
IfFileExists INSTDIR_DATA\SettingsFile.ini CopyOver NotHere
我毫无问题地进入了这个部分,但是尽管已明确确保它存在,但它似乎找不到该文件。我错过了什么吗?需要注意的是,我确实希望通过当前用户目录搜索此目录,因此不需要将其设置为所有用户。
NSIS 有一个 $LocalAppData 常量:
DetailPrint $AppData
DetailPrint $LocalAppdata
在我的系统上打印:
C:\Users\Anders\AppData\Roaming
C:\Users\Anders\AppData\Local
$AppData 实际上不是 AppData "root" 而是它的漫游部分。
如果您的脚本中有 RequestExecutionLevel
属性,那么这将影响 Windows 处理文件系统重定向的方式,而 VirtualStore 是其中的一部分。