NSIS如何执行外部程序

 我来答
百度网友5e7d60f
2017-05-16 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9522
采纳率:91%
帮助的人:1432万
展开全部

NSIS执行外部程序的方法:

NSIS提供了比较完善的执行外部程序的接口,你可以用ExecWait 来执行一个程序直到外部程序执行完成才执行下一步操作,但执行命令行的程序有可能会出现黑框,在安装过程中出现黑框是我们封装者和用户都不愿意看到的情况,为此NSIS给我们提供了一个nsExec接口,它可以执行一个基于命令行的程序并且不输出一个黑框。当nsExec::ExecToStack执行失败的时候,它会返回一个"error"在栈顶,当它执行命令超时的时候它会返回一个“timeout”于栈顶,其他的情况它会返回程序的返回值

具体的代码实现过程:

Name "nsExec Test"

SetCompressor /FINAL bzip2

OutFile "nsExec Test.exe"

ShowInstDetails show

Section "Silent MakeNSIS"

nsExec::Exec '"${NSISDIR}makensis.exe"'

Pop $0 # return value/error/timeout

DetailPrint ""

DetailPrint "       Return value: $0"

DetailPrint ""

SectionEnd

Section "MakeNSIS commands help"

nsExec::ExecToLog '"${NSISDIR}makensis.exe" /CMDHELP'

Pop $0 # return value/error/timeout

DetailPrint ""

DetailPrint "       Return value: $0"

DetailPrint ""

SectionEnd

Section "Output to variable"

nsExec::ExecToStack '"${NSISDIR}makensis.exe" /VERSION'

Pop $0 # return value/error/timeout

Pop $1 # printed text, up to ${NSIS_MAX_STRLEN}

DetailPrint '"${NSISDIR}makensis.exe" /VERSION printed: $1'

DetailPrint ""

DetailPrint "       Return value: $0"

DetailPrint ""

SectionEnd

NSIS简介:

NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的。NSIS 的脚本语言和通常的编程语言有类似的结构和语法,但它是为安装程序这类应用所设计的。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式