从 wxWidgets 应用程序我尝试以静音模式运行使用 NSIS 的安装程序( / S 标志)。得到了这个错误:
执行命令:“C:\ somecommand.exe”失败(错误0:Операция завершенауспешно/成功)。
当我从命令行静默运行安装程序时,我得到了UAC弹出窗口,但是当我从wxWidget应用程序执行它时,我只得到了这个错误。这个错误意味着什么?就像“致命的错误:一切都很好”。
在NSIS脚本中,我有 RequestExecutionLevel admin ,因为我真的需要它能够在程序文件等目录中安装程序。
答案 0 :(得分:1)
要启动需要提升的Windows应用程序,您必须使用ShellExecute而不是CreateProcess,CreateProcess将失败,并且需要提升错误。
我认为wxLaunchDefaultApplication
在内部使用ShellExecute
,但依赖它似乎有点冒险,所以你不妨使用ifdef:
#ifdef __WINDOWS__ // __WXMSW__
ShellExecute(0, 0, pathtoexe, parameters, 0, SW_SHOW);
#else
wxExecute(something);
#endif