在我的安裝程序結束後,我要開始一個.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
謝謝!這就說得通了。 –