在 wxWidgets 应用程序中,我尝试以静默模式运行使用 NSIS 制作的安装程序(/S 标志)。收到此错误:
Execution of command: "C:\somecommand.exe" failed (error 0: Операция завершена успешно / Successful).
当我从命令行静默运行安装程序时,我得到了 UAC 弹出窗口,但是当我从 wxWidget 应用程序执行它时,我只得到这个错误。这个错误意味着什么?就像“ fatal error :一切都很好”。
在 NSIS 脚本中,我有 RequestExecutionLevel admin,因为我真的需要它能够在 Program Files 等目录中安装程序。
最佳答案
要启动需要提升的 Windows 应用程序,您必须使用 ShellExecute而不是 CreateProcess , CreateProcess 将失败并出现需要提升的错误。
我想 wxLaunchDefaultApplication
在内部使用 ShellExecute
但依赖它似乎有点冒险所以你不妨使用 ifdef:
#ifdef __WINDOWS__ // __WXMSW__
ShellExecute(0, 0, pathtoexe, parameters, 0, SW_SHOW);
#else
wxExecute(something);
#endif
关于c++ - wxExecute 无法执行需要管理员权限 UAC 的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30778791/