windows-vista – 在Vista上的Windows Installer中使UAC可选

我已经写了一个msi文件,在UI阶段提供“每用户”或“全部”安装选项,现在发现安装程序在Vista上失败:

>如果我只是重新使用适用于XP的安装程序,Vista将会触发UAC提示,即使是“每用户”安装,使安装无意义
>如果我在PID_WORDCOUNT的第3位关闭UAC,Vista将不会再调用UAC,所以即使用户有权安装到机器注册表(例如),也不会发生特权提升,所以安装失败。

那么,如何避免安装程序在真正需要的时候调用UAC?或者,即使设置了第3位,如何以编程方式请求UAC?

不幸的是,Windows Installer没有提供一种方法来创建一个可以安装每台机器和每个用户的单个软件包,但只能在每台机器上为UAC提示。问题是可以抑制UAC提示的位被存储在Summaryinformation流中,并且在程序包正在执行时不可修改

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...