2011-03-16 37 views
0

我已经创建了MSI文件,然后用setupbld.exe创建了setup.exe。我想在setup.exe图标上有这个屏蔽,所以当用户尝试运行这个安装程序时,用户将立即得到此屏幕的屏幕,其高程为User Account Control(UAC)。我该怎么办?如何强制进行WiX的权限提升setupbld.exe

目前,我产生的setup.exe与以下CMD行:

setupbld.exe -out c:\Setup.exe -mpsu c:\outTEst\a.msi -setup setup.exe -title "setup" 

现在,用户必须点击setup.exe,选择以管理员身份运行为了安装我的应用程序。

+0

我认为我知道该怎么做。我应该使用setupbld.exe来打包它们,并使用正确的清单文件mt.exe来强制setup.exe上的UAC提升。 – Darqer 2011-03-16 22:43:26

回答

3

Setupbld.exe不支持asAdministrator标高的标记。如果你的.msi只能运行在“早”的高程,你的.msi中有一个bug。通常它是自定义操作,需要在没有模拟的情况下在延迟上下文中运行。

+0

Msi可以在没有评估的情况下运行我有自定义操作,并且此操作需要管理员权限。我应该做什么是有任何开源易于使用的命令行工具? – Darqer 2011-03-16 20:46:34

+3

要运行具有完全权限的自定义操作,可以将其标记为不拖延而不模拟。 – 2011-03-17 08:04:52

1

http://blog.torresdal.net/2008/10/06/

该博客确实几乎你所谈论的,如果我理解正确的到底是什么。我正在使用我的msi管理员,以便我的自定义操作正常工作。但是,我也在写入和阅读注册表,并且出于某种原因从注册表中读取不起作用。日志文件说,AppSearches正在返回签名3,我相信这意味着访问被拒绝。我仍然在研究为什么会发生这种情况。

最好。

编辑:我相信我的注册表问题与我的管理员权限无关,我知道我的设置给了我更高的权限,因此无视注册表问题的评论。

+0

通常,当我遇到注册表问题时,我最终意识到我的应用程序(x64/x86)版本正在导致此问题。 – Darqer 2013-08-01 14:12:41

+0

http://blog.torresdal.net/2008/10/06/似乎不可用(Web服务器没有响应;它超时)。 – 2016-01-06 17:27:51