是否可以以有限的权限安装到程序文件中?

2024-03-15

我有一个将作为 MSI 包部署的应用程序(在 WiX 中编写)。

我正在决定是否指定elevated or limited安装程序所需的权限。

除了位于 Program Files 下的默认安装位置之外,该应用程序不包含任何需要提升权限的内容。

现在问题是:

  • 如果我指定提升特权,然后在安装过程中 UAC 会提示用户输入管理员密码。这不是必需的,并且会阻止非管理员用户安装。

  • 如果我指定有限的特权,然后用户会看到一个对话框来选择安装位置Program Files被默认。如果他们不更改安装位置(95% 的最终用户可能不会),则安装程序将失败,并显示一条消息,指示他们应联系管理员或以管理员身份运行应用程序。如果他们以管理员身份启动安装程序,那么他们可以毫无问题地安装到程序文件中 - 但大多数用户可能不知道如何以管理员身份启动安装程序。

我可以将默认安装位置设置为例如C:\公司名称\程序\,但这对我来说似乎不标准,大多数用户可能不会喜欢这样(他们可能习惯安装到程序文件中)。

如何解决在有限用户帐户下安装应用程序的问题?


您建议的备用位置(直接位于 C 驱动器附近)可能也需要提升权限。在 Windows 7 之前,我建议使用早期自定义操作来更改有限安装的默认位置。条件它关闭Privileged(或者可能AdminUser) 属性,验证是否需要设置MSIUSEREALADMINDETECTION对于你的情况,并使用类似的东西[LocalAppDataFolder]Company\Product。不幸的是,这种方法将导致所有用户都难以安装一个软件包,因为您必须预先提升,并且在有限的情况下,他们仍然可以选择需要提升的目标位置。它们必须预先提升,因为包裹必须标记为不可提升。

如果您只能针对 Windows 7 及更高版本,则可以有条件地设置MSIINSTALLPERUSER覆盖安装位置和海拔要求,而是按用户安装。在这种情况下,可能会询问用户是为所有用户安装(需要提升)还是仅为自己安装。可以对包进行标高和设置标记MSIINSTALLPERUSER将覆盖它并跳过 UAC 提示。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否可以以有限的权限安装到程序文件中? 的相关文章

随机推荐