NSIS ExecWait失败,错误代码为-1073741515
嗨,我和execwait有问题。下面是一些代码:NSIS ExecWait失败,错误代码为-1073741515,nsis,Nsis,嗨,我和execwait有问题。下面是一些代码: SetOutPath "$INSTDIR\myDir" ExecWait '"$INSTDIR\myDir\Myexe.exe"' $0 此操作失败,$0中的错误代码为-1073741515 路径和exe文件已存在。 如果我第二次运行相同的安装程序,此代码工作正常,将执行exe,并且不会设置错误代码。 我做错了什么?有什么想法吗?这可能是Myexe.exe的问题,而不是NSIS的问题。为了确保您必须确定ExecWait内部的调用是否失败,或者这
SetOutPath "$INSTDIR\myDir"
ExecWait '"$INSTDIR\myDir\Myexe.exe"' $0
此操作失败,$0中的错误代码为-1073741515
路径和exe文件已存在。
如果我第二次运行相同的安装程序,此代码工作正常,将执行exe,并且不会设置错误代码。
我做错了什么?有什么想法吗?这可能是Myexe.exe的问题,而不是NSIS的问题。为了确保您必须确定
ExecWait
内部的调用是否失败,或者这是否只是程序的退出代码:
!include LogicLib.nsh
Section
ClearErrors
ExecWait '"$SysDir\Charmap.exe"' $0
${If} ${Errors}
MessageBox mb_iconstop "Unable to start program!"
${Else}
MessageBox mb_ok "Program started successfully, the program exited with code $0"
${EndIf}
SectionEnd
如果您收到“Program started successfully”(程序成功启动)消息,但程序仍然失败,则可能需要注册某些内容才能使程序成功运行,并且在下次运行时完成注册。这可能是Myexe.exe的问题,而不是NSIS的问题。为了确保您必须确定
ExecWait
内部的调用是否失败,或者这是否只是程序的退出代码:
!include LogicLib.nsh
Section
ClearErrors
ExecWait '"$SysDir\Charmap.exe"' $0
${If} ${Errors}
MessageBox mb_iconstop "Unable to start program!"
${Else}
MessageBox mb_ok "Program started successfully, the program exited with code $0"
${EndIf}
SectionEnd
如果收到“Program started successfully”(程序成功启动)消息,但程序仍然失败,则可能需要注册某些内容才能使程序成功运行,并且在下次运行时注册已完成。没有缺少dll。我可以从安装目录运行exe。没有缺少dll。我可以从安装目录运行exe。谢谢你的回复!我得到的是“程序成功启动,程序退出,代码为-1073741515”,但我不明白的是,当messagebox仍然打开时,我可以从install dir执行exe,让我认为没有注册丢失。您可以尝试使用Process monitor对其进行监视,以查看在第二次运行时是否可以发现任何差异。我无法在Process monitor中发现任何内容。。。。但是我在execWait命令之前添加了一个messagebox。那时我可以从cmd执行exe,没有任何问题。但当我继续安装时,execWait会给我错误消息。这怎么可能?我迷路了。我不知道问题出在哪里。在我的安装程序中,我安装了一些可再发行的文件,这些文件是exe所需要的。我认为安装程序的环境设置不正确,因此无法从安装程序中正确执行exe。有没有办法用正确的环境从安装程序中执行exe?有没有办法在安装过程中刷新环境?谢谢您的回复!我得到的是“程序成功启动,程序退出,代码为-1073741515”,但我不明白的是,当messagebox仍然打开时,我可以从install dir执行exe,让我认为没有注册丢失。您可以尝试使用Process monitor对其进行监视,以查看在第二次运行时是否可以发现任何差异。我无法在Process monitor中发现任何内容。。。。但是我在execWait命令之前添加了一个messagebox。那时我可以从cmd执行exe,没有任何问题。但当我继续安装时,execWait会给我错误消息。这怎么可能?我迷路了。我不知道问题出在哪里。在我的安装程序中,我安装了一些可再发行的文件,这些文件是exe所需要的。我认为安装程序的环境设置不正确,因此无法从安装程序中正确执行exe。有没有办法在正确的环境下从安装程序执行exe?有没有办法在安装过程中刷新环境?