使用Inno Setup脚本中Inno Setup编译器命令行上指定的路径/值

雅娜·安德罗波夫(Jana Andropov)

我想通过/D我的可执行文件传递路径(通过命令行arg到脚本编译器),以使我的脚本使用来确定应用程序的版本号GetFileVersion,但是我的语法不正确。我该如何传递论点GetFileVersion错误是:输入文件中的非法字符:'#'(0x23)

#define srcpath SOURCEPATH
#define ApplicationVersion GetFileVersion(#srcpath)//error here!!!!!!

[Setup]
AppVersion={#ApplicationVersion}

[Files]
Source: "MyDllTesting.dll"; Flags: dontcopy
Source: "{srcpath}MyApplication1.exe"; DestDir: "{app}\MyApplication1"
马丁·普里克里(Martin Prikryl)

首先,SOURCEPATHInno Setup预处理器的预定义变量,因此您需要在命令行“变量”中使用另一个名称。我将使用SOURCE_PATH


其次,正确的语法是:

#define ApplicationVersion GetFileVersion(SOURCE_PATH)

(即没有哈希)

为什么在我的答案中没有哈希,
为什么预处理器在#include指令中的行为与在[Files]节中的Inno Setup脚本不同

尽管原因基本相同,但为什么在SOURCEPATH之前不使用哈希

#define srcpath SOURCEPATH

相反,您在[Files]节条目中缺少哈希正确的语法是:

[Files]
Source: "{#srcpath}MyApplication1.exe"; DestDir: "{app}\MyApplication1"

无需定义srcpath变量。SOURCE_PATH也是可变的 因此,您可以在任何表达式中直接使用它:

#define ApplicationVersion GetFileVersion(SOURCE_PATH)

[Files]
Source: "{#SOURCE_PATH}MyApplication1.exe"; DestDir: "{app}\MyApplication1"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Inno Setup中如何在不使用批处理文件的情况下执行命令行工具

Inno Setup中的条件DisableProgramGroupPage

Inno Setup编译器中的最佳压缩设置

在Inno Setup Pascal脚本中在运行时评估预处理器宏

如何使Inno Setup / DIR命令行开关与自定义路径页面一起使用

在Inno Setup编译器中运行[Code]或PowerShell脚本

在Inno Setup的Setup部分中使用GetStringFileInfo

ISS脚本中的消息出现Inno Setup Unicode编码问题

如何在Inno Setup脚本中从特定目录执行命令

使用Inno Setup显示垂直图像

在Inno Setup脚本中提供SignTool配置

Inno Setup 6不能在字符串参数中使用DLL函数,而可以在Inno Setup 5中使用

在Inno Setup命令行上使用DIR开关

可以使用ISPP在Inno Setup中自动创建这些脚本行吗?

在Inno Setup Pascal脚本中访问PAnsiChar指向的内存

Inno Setup Pascal脚本中的多行注释

在Inno Setup Pascal脚本中销毁对象

Inno Setup使用Pascal脚本自定义FinishedLabel

卸载程序中的Inno Setup脚本常量

为什么在Inno Setup中使用“&”字符?

我们可以使用Inno Setup 6.1中新的“版本”功能来简化脚本吗?

在Inno Setup中记录TWindowsVersion

在Inno Setup Pascal脚本中声明变量

Sublime Text中的Inno Setup脚本(.iss)语法高亮显示?

Inno Setup Unicode版本的Pascal脚本中“字符集”上的“类型不匹配”错误

使用Inno Setup Pascal脚本中的MediaInfo库获取图像文件信息

使用Inno Setup创建透明的安装程序?

Inno Setup 中的动态密码

在 Inno Setup 中將命令行參數值保存到文本文件