题
我想打电话给一个功能(这算我的版本号),当我NSIS脚本是编纂,但不同时它的执行。这可能吗?它使用 nsExec
和串基本操纵功能。
解决方案 2
甜!这是可能的:看看 http://nsis.sourceforge.net/Invoking_NSIS_run-time_commands_on_compile-time
其基本思想是:
- 编一个 单独的 脚本生成的可执行
- 运行的可执行(通过
!system
, 在编制时间),在你的主脚本,这产生一个案文文件(该文件!define
s无论你需要什么) !include
该文本文件在您的主要剧本
和看!你已经得到了一些东西产生的,在编制时间,在你的脚本。
其他提示
您可以这样做:
!system '"calculate_version.exe" "tempfile.tmp"'
!searchparse /file "tempfile.tmp" `APP_VERSION=` APPVERSION
这能做什么:调用calculate_version.exe(这可能是一个简单的NSIS脚本调用你的函数)。此可执行文件应该输出的版本号tempfile.tmp。该版本的格式并不重要;在这个例子中我选择“APP_VERSION =东西”(这使用WriteINIStr
可以写)。
在下一行,我们打开临时文件,然后搜索它,我们写行;然后我们设定$ {} APPVERSION到任何我们发现有。
不隶属于 StackOverflow