【问题标题】:WiX and elevation in InstallUISequenceInstallUISequence 中的 WiX 和提升
【发布时间】:2014-05-22 21:24:32
【问题描述】:

我在 WiX 中有一个自定义操作,它列出当前计算机上的网站该操作需要提升权限。是否可以在 InstallUISequence 中提升?

在升级到 Wix 3.8 之前,我使用 setupbld 创建了一个可以提升安装程序的 setup.exe,但该选项现在似乎消失了。

我开始认为我需要创建一个引导程序来解决这个问题。

【问题讨论】:

  • 刚刚发现一些信息,如果您签署您的 MSI,它会在启动安装时提示 UAC,但是我还没有验证这一点。从 Wix 调整 WelcomeDlg 以在 Next 按钮上有 ElevatedShield 图标也没有提示管理员权限。

标签: wix installation windows-installer custom-action


【解决方案1】:

只有在以管理员权限运行设置时,用户界面才会“提升”。据我所知,如果不通过 setup.exe 引导程序启动它,您就无法提升 MSI。

免责声明:我不确定更高版本的 Windows 是否仅模拟 MSI GUI 序列的用户权限。

【讨论】:

  • 是的,我也倾向于这个。尽管感觉仅出于这个原因使用引导程序感觉不太正确?
  • 您可以向需要管理员权限的 msi 添加启动条件,最终用户需要自己通过管理员 cmd.exe 启动它。不过,最终用户可能会通过修改 MSI 来回滚。不推荐。
【解决方案2】:

如果您编写自己的需要管理员权限的小应用程序并通过静默启动设置完全绕过 MSI GUI,该怎么办?然后应用程序可以读取所有网站内容并使用列表框选择正确的? WIX 中甚至可能有我不知道的示例代码。

您应该能够通过标准 msiexec.exe 命令行静默启动安装程序:

msiexec.exe /I "C:\Test.msi" /QN /L* "C:\msilog.log" SITE=http://www.example.com/

或使用 WIX 工具包中包含的 DTF。在此处查看一些信息:https://serverfault.com/a/596519/20599

需要注意的一点是,网页列表可能不像privileges 那样与管理员权限相关。自定义配置可能意味着即使是通用管理员权限也不起作用 - 但我想这种情况很少见。

【讨论】:

    猜你喜欢
    • 2013-04-26
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2012-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多