即使用户在uac提示符下单击“否”以显示msi,如何安装文件?

时间:2019-03-27 13:55:15

标签: windows-installer

我已经使用Visual Studio安装程序项目创建了一个msi。 当我运行msi时,uac提示始终出现在所有计算机中。很好。

但是对于标准用户,uac询问管理员用户名和密码。由于标准用户可能不知道管理员密码,因此除非获得具有管理员凭据的人员,否则他们将无法安装msi。

我想要的是,如果用户不知道管理员密码,那么他可以在uac中单击“否”,但是不是msi安装失败,而是应该继续安装。 不需要管理员权限的自定义操作可以成功,只有需要管理员权限的自定义操作将失败。当然,应该安装文件。

2 个答案:

答案 0 :(得分:0)

为避免出现UAC窗口,安装程序不应执行需要提升权限的任何操作(例如,将文件安装到if (typeof rowA.details != 'undefined') { for (var i = 0; i < rowA.details.length; i++) { rowA.details[i].push({ WheeloadermapFlag: _JsonValue["Table"[counter].WheeloadermapFlag , TruckAllocationStatus: _JsonValue["Table"][counter].TruckAllocationStatus , NoofTruckRequired: _JsonValue["Table"][counter].NoofTruckRequired , MappedTruck: _JsonValue["Table"][counter].MappedTruck , }) } } 子文件夹或使用Program Files子键写入注册表)。您应该在Windows安装程序的安装之前指定之前,然后显示UAC窗口。

您需要为每种配置分别设置功能,并根据某些条件进行切换。例如,您可以询问用户他/她想要执行哪种安装或检查该用户是否是管理员。因此,您应该打开/关闭MSI中的相应功能。

答案 1 :(得分:0)

设置 :至少必须在 per-user package 中强制执行以下设置。在WiX中,您可以使用多种结构来解决此问题,但是我不确定Visual Studio Installer项目中有哪些项目。由于许多severe technological limitations,我不喜欢Visual Studio安装程序项目。也许考虑使用其他工具? List of Deployment ToolsWiX Quick Start Tips

属性表 :在属性表中,设置以下属性:

  • ALLUSERS=2
  • MSIINSTALLPERUSER=1

摘要信息 :在Orca中,进入 View => Summary Information... =>选中 UAC Compliant 框。然后在虚拟上进行测试。在实际以标准用户身份登录时(显然)也要进行测试。似乎存在一个名为MSIDEPLOYMENTCOMPLIANT的属性,也可以将其设置为1。我从来没有测试过。很快就会做。

Orca :我会先尝试一下。使用Orca or an equivalent tool(朝下,优先使用Orca而不是SuperOrca)。如果已安装Visual Studio,则SDK文件夹中将包含Orca安装程序。尝试在 Orca-x86_en-us.msi 下搜索 Program Files (x86)

(当前路径为: C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86 -只需适当地替换版本号,您应该更快地找到MSI)。


某些链接 :请阅读以下两个MSI SDK链接: