代码之家  ›  专栏  ›  技术社区  ›  Razzupaltuff

以编程方式在Windows7上启动SFX存档(使用Execv)?(C++)

  •  0
  • Razzupaltuff  · 技术社区  · 16 年前

    我的(MS Windows)应用程序可以通过下载一个自解压缩的存档文件并通过AyExv(C++)启动它来更新自己。现在,在WindowsXP上启动SFX存档可以正常工作,但在Windows7上却不行。我想这和UAC有关,但是即使关闭UAC也不能解决这个问题。下载的SFX存档与我的计算机上可以通过Execv运行的其他可执行文件具有相同的所有者和完全访问权限。我该怎么做才能使这个工作成功?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Kirill V. Lyadvinsky    16 年前

    Windows7能够根据文件名和文件内容检测安装程序,并且需要额外的特权来启动这些文件。据我所知,管理员没有这种额外的特权。尝试使用 ShellExecuteEx 具有 runas 参数。它应该向您显示带有启动安装程序权限请求的对话框。