我想在我的NSIS脚本正在编译时调用一个函数(它计算我的版本号),但不是在执行时。这可能吗?它使用nsExec
和基本的字符串操作函数。如何在编译脚本时调用NSIS中的函数?
1
A
回答
1
甜!这是可能的:看http://nsis.sourceforge.net/Invoking_NSIS_run-time_commands_on_compile-time
的基本思路是:
- 编译一个单独脚本,在你的主脚本生成可执行
- 运行可执行文件(通过
!system
,在编译的时候) - 和这会产生一个文本文件(!define
小号无论你需要) !include
在主脚本的文本文件
and presto!你已经在编译时在脚本中生成了一些东西。
2
你可以这样做:
!system '"calculate_version.exe" "tempfile.tmp"'
!searchparse /file "tempfile.tmp" `APP_VERSION=` APPVERSION
这样做什么:调用calculate_version.exe(这可能是一个简单的NSIS脚本调用你的函数)。这个可执行文件应该输出版本号为tempfile.tmp。版本的格式不重要;在这个例子中我选择了“APP_VERSION = something”(这可以使用WriteINIStr
来写)。
在下一行中,我们打开临时文件并搜索它所写的行;那么我们将$ {APPVERSION}设置为我们在那里找到的任何东西。
相关问题
- 1. 使用Eclipse编译一组NSIS脚本
- 2. 如何根据命令行参数条件编译NSIS脚本?
- 3. 基于文件存在的NSIS脚本条件编译
- 4. emacs编译:在后台调用脚本
- 5. 如何在编译脚本执行时添加调试标志:
- 6. 在运行时编译函数C++编译时编译的函数的数量
- 7. 如何在JS中预编译脚本
- 8. 如何在Ruby中调用内置的编译器函数?
- 9. 使用HttpClient在Azure函数中给出'脚本编译失败'
- 10. 脚本终止时的调用函数
- 11. 如何在运行时编译函数?
- 12. PHP脚本如何编译?
- 13. 在编译时宏下查找函数/宏调用的数量
- 14. 如何在JSP中的onClick(button)上调用Java脚本函数?
- 15. 如何在NSIS脚本中继续安装时隐藏页面
- 16. 如何调整/编辑编译C的终端bash脚本?
- 17. 如何从Html Helper Class的脚本函数调用Java脚本函数?
- 18. 在内核中调用cublas函数时编译CUDA代码
- 19. NSIS中的卸载脚本
- 20. 如何在编译时将shell脚本输出到Makefile.am中?
- 21. 在运行时识别python脚本行中的函数调用
- 22. 脚本函数中的ssh调用
- 23. 脚本中的jQuery调用函数
- 24. 调用脚本函数
- 25. IntSlider回调函数?编辑器脚本
- 26. 对调用函数的任何调用只能在调试中编译
- 27. 编译脚本
- 28. 在JAVA脚本函数中调用的ASP经典函数
- 29. 如何在cocos2d目标C中调用java脚本函数JS
- 30. javax脚本如何在Java中调用JavaScript函数
我实际上更喜欢我引用的文章中的想法(与您的文章几乎相同),因为在关联的脚本(写入!定义等)中完成了艰苦的工作,而不是必须解析您需要的内容主要剧本。 – 2009-02-09 08:44:47