我使用 maven,我有一个版本为 XYZ-SNAPSHOT 的 maven-project,我使用maven-nsis-plugin。因为版本的格式是 XYZ-SNAPSHOT,所以我必须删除这个后缀并用 0 替换它。
maven插件maven-nsis-plugin生成一个project.nsh:
!define PROJECT_VERSION "4.23.9-SNAPSHOT"
在我的 setup.nsi 中使用:
!include target\project.nsh
Section VersionReplace
Push "${PROJECT_VERSION}"
Push "-SNAPSHOT"
Push "0"
Call StrRep
Pop $0
!define VERSION_SHORT $0
SectionEnd
Name "Installer ${VERSION_SHORT}"
(...)
VIProductVersion ${VERSION_SHORT}
问题:在控制台中我可以看到:
Name: "Installer $0"
(...)
VIAddVersionKey: "ProductVersion" "$0"
所以 $0 不会被替换。我究竟做错了什么?
使用的替换函数:StrRep