Inno setup 在Inno安装程序的安装部分使用GetStringFileInfo

Inno setup 在Inno安装程序的安装部分使用GetStringFileInfo,inno-setup,Inno Setup,引用之后,我尝试读取程序集信息,并将AppName和FileVersion应用于Inno安装脚本,如下所示 但编译后的安装向导仅将“GetStringFileInfo”({RootDirectory}Sample.exe”,“Title”)“显示为软件标题。根本没有处理GetStringFileInfo。如何使其正确运行 #define RootDirectory "bin\Release\" [Setup] AppName=GetStringFileInfo("{#RootDirectory

引用之后,我尝试读取程序集信息,并将
AppName
FileVersion
应用于Inno安装脚本,如下所示

但编译后的安装向导仅将“GetStringFileInfo”({RootDirectory}Sample.exe”,“Title”)“显示为软件标题。根本没有处理
GetStringFileInfo
。如何使其正确运行

#define RootDirectory "bin\Release\"

[Setup]
AppName=GetStringFileInfo("{#RootDirectory}Sample.exe","Title")
AppVersion=GetStringFileInfo("{#RootDirectory}Sample.exe","FileVersion")

请注意,我使用的是Script Studio,文件位于Inno setup wizard创建的
setup.iss
中。

这是基于Inno setup提供的另一种方法。他们的代码显示:

#define AppVersion GetFileVersion(AddBackslash(SourcePath) + "MyProg.exe")

[Setup]
AppVersion={#AppVersion}
VersionInfoVersion={#AppVersion}

我已经删掉了这个例子的其余部分。请注意,对
GetFileVersion
的调用是在
[Setup]
部分之外完成的。另一个答案在
[Setup]
部分中有一种更直接的方法来实现它。

GetStringFileInfo
是一个预处理器函数。的语法是:


我不知道这种做法。如果它在示例文件中,那就太好了。我可以把你的答案加在我的答案上吗?还是把我的拿走?好点了吗?请随意调整。
AppName={#GetStringFileInfo(RootDirectory + "Sample.exe", "Title")}