如何在Inno Setup中的AppVersion值中仅包含三部分的文件版本(无第四个修订版号)

先天乐观主义者

我已经使用Inno Setup 6.0为Windows桌面WPF / C#应用程序创建了安装程序,并且工作正常。只是一个很小的装饰问题-我想使用“语义版本”。Windows中的版本号包含四个组件,major.minor.build.revision但我想介绍一下major.minor.patch第四个组件将由CI使用,与用户无关。在当前脚本中,我有这个:

#define AppVersion GetFileVersion("..\app\bin\Release\app.exe")
... which later gets used as:
[Setup]
AppVersion=AppVersion
OutputBaseFilename=app.{#AppVersion}.x64

结果是app.1.0.1.781.x64.exe由Inno Setup创建的,所以我正在寻找一种切断最后一个版本组件-的方法.781到目前为止,我还没有弄清楚如何为此目的调用脚本函数。我可以在[Code]节中添加函数,但是它将节之后定义[Setup],显然不能在[Setup]节中调用

是否有可能修改的值AppVersion,并OutputBaseFilename在帕斯卡尔脚本,例如InitializeSetup()

安德鲁·特拉克(Andrew Truckle)

您可以使用GetVersionComponents预处理器功能ParseVersion在Inno Setup 6.1之前):

#define AppVerText() \
   GetVersionComponents('..\app\bin\Release\app.exe', \
       Local[0], Local[1], Local[2], Local[3]), \
   Str(Local[0]) + "." + Str(Local[1]) + "." + Str(Local[2])

然后,您可以在您的[Setup]部分中使用它

AppVersion={#AppVerText}

您也可以将其用于OutputBaseFilename

OutputBaseFilename=app.{#AppVerText}.x64

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在inno setup中进行mysql的静默安装?

来自分类Dev

如何在Inno Setup中使用Pascal变量?

来自分类Dev

如何在Inno Setup中捕获OleObject异常?

来自分类Dev

如何在Inno Setup中使用特殊字符?

来自分类Dev

如何在Inno设置中为SendMessage函数实现MAKELPARAM?

来自分类Dev

如何在Inno Setup中翻译MsgBox中包含的文本?

来自分类Dev

如何在Inno Setup中注释语句块?

来自分类Dev

如何在Inno设置中刷新页面

来自分类Dev

Inno Setup:如何在InitializeWizard中使用{app}?

来自分类Dev

如何在Inno Setup中最小化安装程序?

来自分类Dev

Inno Setup:如何在“运行”部分操作进度栏?

来自分类Dev

如何在Inno Setup中解析JSON字符串?

来自分类Dev

Inno Setup:如何在“注册”部分操作进度栏?

来自分类Dev

如何在Inno Setup中创建图像按钮?

来自分类Dev

如何在Inno Setup中的安装后强制重启

来自分类Dev

如何在Inno Setup中删除由以前版本的应用程序添加的文件

来自分类Dev

如何在Inno Setup的[CustomMessages]部分中使用通配符?

来自分类Dev

如何结合三个文件的信息来创建第四个文件?

来自分类Dev

如何基于第四个文件更新三个CSV文件

来自分类Dev

如何在Inno设置中为SendMessage函数实现MAKELPARAM?

来自分类Dev

如何在Inno Setup中翻译MsgBox中包含的文本?

来自分类Dev

如何在Inno设置中检查64/32位

来自分类Dev

使用cublas sgemv时如何跳过float4中的第四个元素?

来自分类Dev

如何在Inno Setup中仅根据条件安装文件(外部配置文件)

来自分类Dev

如何在Inno Setup中延迟而不冻结

来自分类Dev

如何根据每个节的第一行的第四个值对文件的部分进行排序?

来自分类Dev

如何在 Inno Setup iss 文件中调用 GetNativeSystemInfo?

来自分类Dev

Inno setup - 如何在设置悬停中更改版本?

来自分类Dev

如何使用unix shell脚本为文件中的第四个字段添加空间

Related 相关文章

  1. 1

    如何在inno setup中进行mysql的静默安装?

  2. 2

    如何在Inno Setup中使用Pascal变量?

  3. 3

    如何在Inno Setup中捕获OleObject异常?

  4. 4

    如何在Inno Setup中使用特殊字符?

  5. 5

    如何在Inno设置中为SendMessage函数实现MAKELPARAM?

  6. 6

    如何在Inno Setup中翻译MsgBox中包含的文本?

  7. 7

    如何在Inno Setup中注释语句块?

  8. 8

    如何在Inno设置中刷新页面

  9. 9

    Inno Setup:如何在InitializeWizard中使用{app}?

  10. 10

    如何在Inno Setup中最小化安装程序?

  11. 11

    Inno Setup:如何在“运行”部分操作进度栏?

  12. 12

    如何在Inno Setup中解析JSON字符串?

  13. 13

    Inno Setup:如何在“注册”部分操作进度栏?

  14. 14

    如何在Inno Setup中创建图像按钮?

  15. 15

    如何在Inno Setup中的安装后强制重启

  16. 16

    如何在Inno Setup中删除由以前版本的应用程序添加的文件

  17. 17

    如何在Inno Setup的[CustomMessages]部分中使用通配符?

  18. 18

    如何结合三个文件的信息来创建第四个文件?

  19. 19

    如何基于第四个文件更新三个CSV文件

  20. 20

    如何在Inno设置中为SendMessage函数实现MAKELPARAM?

  21. 21

    如何在Inno Setup中翻译MsgBox中包含的文本?

  22. 22

    如何在Inno设置中检查64/32位

  23. 23

    使用cublas sgemv时如何跳过float4中的第四个元素?

  24. 24

    如何在Inno Setup中仅根据条件安装文件(外部配置文件)

  25. 25

    如何在Inno Setup中延迟而不冻结

  26. 26

    如何根据每个节的第一行的第四个值对文件的部分进行排序?

  27. 27

    如何在 Inno Setup iss 文件中调用 GetNativeSystemInfo?

  28. 28

    Inno setup - 如何在设置悬停中更改版本?

  29. 29

    如何使用unix shell脚本为文件中的第四个字段添加空间

热门标签

归档