gpt4 book ai didi

installation - NSIS 安装程序后启动可执行文件

转载 作者:行者123 更新时间:2023-12-02 23:29:09 24 4
gpt4 key购买 nike

在安装程序结束时,我想启动 .exe 文件,然后结束安装。我尝试了各种方法来启动这个exe,如下所示,但没有一个是完全正确的。 .exe 文件会显示登录屏幕,用户输入用户名和密码,然后主应用程序启动。

当我双击文件夹中的 .exe 时,它​​会弹出登录提示,我输入凭据,应用程序就会启动。在安装程序中尝试了以下方法来复制此过程:

ExecDos 异步

ExecDos::exec /NOUNLOAD /ASYNC '$Path${APP_FILE_NAME}'
Sleep 30000

ExecShell

ExecShell "" '"$Path${APP_FILE_NAME}"'

ExecDos

ExecDos::exec '$Path${APP_FILE_NAME}'

nsExec

nsExec::exec '$Path${APP_FILE_NAME}'

理想情况下,我想让异步调用正常工作,这样它就会启动登录屏幕,然后结束安装程序。

上述所有方法都按预期显示登录屏幕,但登录应用程序后,主应用程序只是位于空白的灰色屏幕上...如果我简单地双击应用程序中的 .exe,我就看不到这种情况$Path文件夹并正常登录。

进行这些调用来启动 .exe 是否有问题?

最佳答案

问题可能出在您的应用程序上,而不是 NSIS...

如果应用程序依赖于“正确”的工作目录,您需要首先使用 SetOutPath:

SetOutPath $INSTDIR
ExecShell "" '"$INSTDIR\myapp.exe"'

在安装程序结束时执行主应用程序是有问题的,因为它最终可能以错误的用户身份运行应用程序(UAC 打开,以非管理员身份登录并使用管理员用户提升权限(假设您没有设置 RequestExecutionLevel 或使用 RequestExecutionLevel admin))

关于installation - NSIS 安装程序后启动可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8126109/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com