【发布时间】:2013-08-22 21:23:31
【问题描述】:
我有一个旧的 vb.net 1.1 安装程序,它在 winxp 上运行良好,我需要对其进行调整以便它在 win7 上运行。安装程序的架构非常简单。它由 2 个应用程序组成,第一个应用程序将启动第二个应用程序(它是执行实际安装的应用程序),以在调用 CreateProcessWithLogonW 的高级用户凭据下执行。
经过一段时间的挣扎,我想出了UAC 在中间。据我所知,除了在每台机器上禁用 UAC 之外,没有其他解决方法,这是我们无法做到的。
然后调查我想出了requiring elevtion的方法。因此,我将其应用于第二个应用程序,双击它会启动 UAC 并按预期完成工作。但是当我尝试从第一个应用程序(启动器)通过 CreateProcessWithLogonW 执行它时,我仍然收到错误 740 ERROR_ELEVATION_REQUIRED 并且显然 UAC 从未启动。
还有什么我应该看的吗?我应该使用其他 API 在 Windows 7 上启动进程吗?
提前致谢!
【问题讨论】:
-
要么将文件重命名为 setup.exe,要么直接将其丢弃。
标签: .net vb.net windows-7 .net-1.1