【问题标题】:Programmatically launch sfx archive on Windows 7 (using _execv)? (C++)以编程方式在 Windows 7 上启动 sfx 存档(使用 _execv)? (C++)
【发布时间】:2009-09-09 10:31:44
【问题描述】:
我的 (MS Windows) 应用程序可以通过 Internet 自行更新,方法是下载自解压存档并通过 _execv (C++) 启动它。现在,虽然在 Windows XP 上启动 sfx 存档可以正常工作,但在 Windows 7 上却不行。我想这与 UAC 有关,但即使关闭 UAC 也不能解决这个问题。下载的 sfx 存档与我可以通过 _execv 运行的计算机上的其他可执行文件具有相同的所有者和完全访问权限。我必须做什么才能完成这项工作?
【问题讨论】:
标签:
c++
windows
uac
spawning
【解决方案1】:
Windows 7 能够根据文件名和文件内容检测安装程序,并且需要额外的权限才能启动此类文件。据我所知,管理员没有这样的额外权限。尝试将ShellExecuteEx 与runas 参数一起使用。它应该会显示对话框,请求启动安装程序的权限。