我有一个旧的vb.net 1.1安装程序,它在winxp上工作正常,我需要调整以便它在win7上运行。安装程序的架构非常简单。它由2个应用程序组成,其中第一个应用程序将启动第二个应用程序(它是执行实际安装的应用程序),以在调用CreateProcessWithLogonW的高级用户凭据下执行。
经过一段时间的努力,我想到了UAC在中间。据我所知,除了在evey单机上禁用UAC之外没有解决方法,这是我们做不到的事情。
然后调查我找到了requiring elevtion的方式。所以我将它应用到第二个应用程序,当双击它时启动UAC并按预期完成工作。但是当我尝试从第一个应用程序(启动程序)执行它时,通过CreateProcessWithLogonW,我仍然得到错误740 ERROR_ELEVATION_REQUIRED,显然UAC永远不会启动。
我还应该关注其他什么吗?我是否应该使用其他API在Windows 7上启动该过程?
先谢谢!
答案 0 :(得分:0)
您是否可以访问这两个应用?你应该研究bootstrappers。基本上它是你的处理。我熟悉WIX,很容易创建一个将多个安装文件链接在一起的引导程序(安装文件)。您还可以通过操作系统指定“需要的高程”。你可以从微软下载安装程序,所以也许有一些关于你的安装。我已经在数百台机器上免费推出1.1安装,其中大多数机器都装有我最终MSI的其他先决条件。