我已经使用Visual Studio安装程序项目创建了一个msi。 当我运行msi时,uac提示始终出现在所有计算机中。很好。
但是对于标准用户,uac询问管理员用户名和密码。由于标准用户可能不知道管理员密码,因此除非获得具有管理员凭据的人员,否则他们将无法安装msi。
我想要的是,如果用户不知道管理员密码,那么他可以在uac中单击“否”,但是不是msi安装失败,而是应该继续安装。 不需要管理员权限的自定义操作可以成功,只有需要管理员权限的自定义操作将失败。当然,应该安装文件。
答案 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 Tools
,WiX 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链接: