Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
NSIS ExecWait失败,错误代码为-1073741515_Nsis - Fatal编程技术网

NSIS ExecWait失败,错误代码为-1073741515

NSIS ExecWait失败,错误代码为-1073741515,nsis,Nsis,嗨,我和execwait有问题。下面是一些代码: SetOutPath "$INSTDIR\myDir" ExecWait '"$INSTDIR\myDir\Myexe.exe"' $0 此操作失败,$0中的错误代码为-1073741515 路径和exe文件已存在。 如果我第二次运行相同的安装程序,此代码工作正常,将执行exe,并且不会设置错误代码。 我做错了什么?有什么想法吗?这可能是Myexe.exe的问题,而不是NSIS的问题。为了确保您必须确定ExecWait内部的调用是否失败,或者这

嗨,我和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?有没有办法在安装过程中刷新环境?