Den*_*ick 3 installer windows-installer wix
我们使用WiX构建了产品安装.它需要在服务器上执行,并且由于其性质,需要创建用户并分配此用户特定权限(例如,作为服务执行)为此我们使用我们自己的自定义操作,这些操作在基于C#的自定义操作库中定义.
当我们由具有管理权限但在Windows 2008上不是管理员的用户开始安装时,系统不会要求我们确认是否要执行此应用程序(不显示UAC对话框).因此,所有这些操作都会失败,因为MSI似乎在没有管理权限的情况下运行.我们无法延迟操作,因为其中一些操作需要在UI序列中执行,需要标记为"立即".
我们如何将安装程序标记为需要管理权限的安装程序?我们尝试了WiX属性InstallPrivileges ='elevated',但是文档说它是默认设置的,并没有任何区别.
谢谢
您无法直接标记MSI以请求管理员权限.但是,您可以尝试使用EXE引导程序通过其清单请求提升:http://msdn.microsoft.com/en-us/library/bb756929.aspx
更好的方法是拆分自定义操作,而不是执行所有操作的单个操作:
UI自定义操作收集的信息可以存储在安装程序属性中.这些属性可以通过Action Data(CustomActionData属性)传递给延迟操作.