Installation 如何使用Inno setup compiler告诉安装文件安装到Documents文件夹?

Installation 如何使用Inno setup compiler告诉安装文件安装到Documents文件夹?,installation,inno-setup,Installation,Inno Setup,我正在尝试使用Inno setup Compiler创建一个安装文件,我希望它能够安装到Documents文件夹中,因为它需要创建并删除一个文件,如果它安装到程序文件中,这是无法做到的。我曾尝试使用在文件资源管理器中工作的%userprofile%\Documents,但这只是在Setup.exe所在的位置创建一个名为%userprofile%的文件夹,而C:\Users\%username%\Documents只是在Users文件夹中创建%username%文件夹。如何将其安装到Documen

我正在尝试使用Inno setup Compiler创建一个安装文件,我希望它能够安装到Documents文件夹中,因为它需要创建并删除一个文件,如果它安装到程序文件中,这是无法做到的。我曾尝试使用在文件资源管理器中工作的
%userprofile%\Documents
,但这只是在Setup.exe所在的位置创建一个名为
%userprofile%
的文件夹,而
C:\Users\%username%\Documents
只是在Users文件夹中创建
%username%
文件夹。如何将其安装到Documents文件夹中,无论它位于何处?

您应该使用Inno Setup Shell folder Constants来执行此操作

更多信息请访问

使用
ExpandConstant(“{userdocs}”)
获取文档文件夹的路径(对于当前用户)

它将返回操作系统驱动器:\Users\CurrentUser\Documents“

例如:

对于所有用户,应将
userdocs
替换为
commondocs

因此,它将返回操作系统驱动器:\Users\Public\Documents“

如果@GTAVLover是正确的,那么您很可能希望在标准的Inno设置部分中使用,如

语法如下所示:

[文件]
资料来源:“readme.txt”;DestDir:“{userdocs}”

如果您想引用环境变量(本例中的方法不正确),请使用语法:


不要安装到文档文件夹。安装到您应该安装的程序文件中。如果程序需要创建和删除非文档数据文件,请将其存储在“应用程序数据”文件夹中。您的开发工具应该提供一种在运行时发现该位置的方法。
MsgBox(ExpandConstant('{userdocs}'), mbInformation, MB_OK);
[Files]
Source: "readme.txt"; DestDir: "{%USERPROFILE}\Documents"