NSIS脚本调用C语言写的插件
2014-03-13 17:35
357 查看
其实NSIS的官网已经提供了很多别人开发的插件了,今天需要用到GetVersion这个插件,这是不维护的插件了,不推荐用,但是由于现实中的问题,导致我不得不用这个插件。
所以就下载下来了。
下载下来之后,作者已经把插件源码打包成VS工程了,感兴趣可以看看底层原理。我只需要二进制的模块,所以把GetVersion.dll拷贝到了NSIS的插件目录下,就能使用了
以下是NSIS的脚本代码:
Var /GLOBAL WINDOWS_ARCHITECTURE
;这里用了GetVersion插件,但是该插件的作者已经停止维护了,
;但是不得已,需要使用,把GetVersion.dll放到了NSIS的插件目录下
GetVersion::WindowsPlatformArchitecture
Pop $WINDOWS_ARCHITECTURE ; 32 or 64
WINDOWS_ARCHITECTURE 这个变量的值就是32或者64了,我后面用${If} "$WINDOWS_ARCHITECTURE" != "${Version}" 做下比较
就可以知道当前编译环境(编译脚本源文件),和安装包之后的运行环境了。如果不一致就告诉客户不能运行此程序 Version 这个变量是通过向NSIS的编译器通过/D 而获得的,/D后面加Version=%Platform%得到的
所以就下载下来了。
下载下来之后,作者已经把插件源码打包成VS工程了,感兴趣可以看看底层原理。我只需要二进制的模块,所以把GetVersion.dll拷贝到了NSIS的插件目录下,就能使用了
以下是NSIS的脚本代码:
Var /GLOBAL WINDOWS_ARCHITECTURE
;这里用了GetVersion插件,但是该插件的作者已经停止维护了,
;但是不得已,需要使用,把GetVersion.dll放到了NSIS的插件目录下
GetVersion::WindowsPlatformArchitecture
Pop $WINDOWS_ARCHITECTURE ; 32 or 64
WINDOWS_ARCHITECTURE 这个变量的值就是32或者64了,我后面用${If} "$WINDOWS_ARCHITECTURE" != "${Version}" 做下比较
就可以知道当前编译环境(编译脚本源文件),和安装包之后的运行环境了。如果不一致就告诉客户不能运行此程序 Version 这个变量是通过向NSIS的编译器通过/D 而获得的,/D后面加Version=%Platform%得到的
相关文章推荐
- c语言中调用shell脚本返回值问题分析
- 在C语言中调用Unix Shell脚本。
- C语言中system调用shell脚本的问题
- 浅析如何在c语言中调用Linux脚本
- C语言调用Python脚本中的函数
- c语言调用shell脚本或命令
- Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本
- shell脚本调用C语言之字符串切分函数——strtok
- C语言中调用LUA(3)--往Lua脚本中传递变量
- c语言调用Python脚本-2
- Lua移植到arm上 并实现在arm上 可以让lua脚本调c语言,C语言调用lua脚本
- C语言调用Lua脚本
- c语言中调用Linux脚本
- Cmake调用NSIS(一个可执行文件,其实就是一个编译器)编译NSIS脚本问题研究
- 使用vs2005 C语言调用lua脚本实现hello,world
- c语言中调用shell脚本
- c语言中调用shell脚本返回值问题分析
- c语言中调用shell脚本返回值问题分析
- NSIS 如果让插件调用回调
- C语言调用Lua脚本