在我的安装程序结束后,我要开始一个.exe文件,然后结束安装。我已经尝试过各种方式来启动这个exe文件,如下所示,但没有一个是非常正确的。 .exe文件启动登录屏幕,用户输入用户名和密码,然后启动主应用程序。开始执行NSIS安装
当我双击该文件夹中的.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?
做usi ng'ExecShell“”'...''而不是'Exec'...''有什么意义? –
@ChrisMorgan在NT6 +,是的,ExecShell使用的ShellExecute()和Exec使用的CreateProcess()。如果应用程序需要提升并且您尚未提升,则CreateProcess()失败。 – Anders
谢谢!这就说得通了。 –