我有一个CustomAction作的一部分MSI。

它必须作为一个域名的账户,也是一个成员的当地管理人员的帐户。

它不能使用NoImpersonate标志运行的定义作为NT权力机构\系统,因为它将不再获得网络资源。

在Vista/2008年启用了UAC如果NoImpersonate是关闭的,然后,它将作为执行用户,但与 特权 令,并不得到访的本地资源等。installState. 见UAC建筑

任何人都知道的一种方式要么

  • 力MSI运行与提升的标记相同方式运行,从提升的命令提示?

  • 强CustomAction运行升高(requireAdministrator在清单中不会出现工作)?

  • 工作了,如果UAC启用,如果它还没跑升高,如果是这样发出警告或取消的安装?

有帮助吗?

解决方案

回答我自己的问题的任何其他可怜的s0d看这个。

  • 你不能添加一个清单,一个MSI。你可以添加一个SETUP.EXE 或引导程序,以壳MSI和清单,与requireAdministrator但失败的一些一点用MSI。

  • 添加一个清单,一个CustomAction不起作用,因为它是从msiexec.exe

我已经解决这个是设定 MSIUSEREALADMINDETECTION 属1所以特权状况的实际工作,并添加一个启动条件 特权 这给人一个错误信息的运行,通过提升的命令迅速和后退出的安装。

这个有快乐的副作用-当msi是跑了从高级命令迅速推迟CustomActions是作为当前用户有一整管理员的令牌(而不是标准用户的令牌)不管的 NoImpersonate 设置。

更多的细节-- http://www.microsoft.com/downloads/details.aspx?FamilyID=2cd92e43-6cda-478a-9e3b-4f831e899433

[编辑]-我已经把脚本里 可以让你加入MSIUSEREALADMINDETECTION酒店 作为VS没有能力做到这一点,奥卡是一个痛苦。

其他提示

requireAdministrator在清单应工作。

你也可以使用一个引导程序。exe文件,该文件可以使用ShellExecute与"运行方式"作为动词的(可以使用7-zip创造的程序,或还有许多其他方式).

你可以创建一个简单的 自解压的归档文件msi 文件压缩和这些选项:

  • 设置标签> 运行执行后输入:你msi文件的名字

  • 高级">"标记 请求的管理访问权 选项框

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top