【问题标题】:Custom Actions with privileges具有权限的自定义操作
【发布时间】:2012-10-25 09:09:31
【问题描述】:

您好,我已经使用 WIX 创建了一个 MSI 安装程序。我的自定义操作有问题。我有一个填充文本框的自定义操作,它似乎只在我从命令提示符下以管理员身份运行 cmd 运行 MSI 时才起作用。是否存在连接以及如何使用特权运行我的自定义操作。我的自定义操作在单击按钮时立即运行。谢谢

【问题讨论】:

    标签: wix


    【解决方案1】:

    填写文本框不需要任何权限,因此根据您提供的信息,这不应该发生。很有可能它确实需要提升,比如为了获取它放入框中的文本,这就是它出现问题的原因。仅当从提升的上下文启动 .msi 时,才会提升 UI 序列。即使 .msi 不是,也可以提升延迟序列,但这对您的 UI 没有帮助。

    【讨论】:

    • 谢谢迈克尔,我会查看我的代码,看看我从哪里提取文本是否需要提升。很好的解释。谢谢
    【解决方案2】:

    以下是有关该主题的一些必读内容:

    Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer

    我看了几遍才明白。基本上,您需要在 InstallInitialize 和 InstallFinalize 之间对自定义操作进行排序,并将其安排为 Deferred 而不进行模拟。如果您需要访问 MSI 会话,您可能还需要为立即安排自定义操作。你

    【讨论】:

    • 您好,感谢您提供该链接,阅读愉快..:) 我意识到我发布了不正确的信息,我的自定义操作实际上是在进度对话框之前很久点击按钮。我有另一个执行类似操作的自定义操作,它似乎工作正常,只有这个。
    • 这是一个始终立即执行的 DoAction ControlEvent。正如 MichaelU 所说,这永远不需要许可。我必须看看你的代码做了什么才能理解它为什么会失败。
    • 感谢 Christopher,我将查看我的代码并尝试检测它需要许可的位置。
    猜你喜欢
    • 2011-12-25
    • 1970-01-01
    • 2012-03-05
    • 2019-03-20
    • 2018-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-11-01
    • 2016-03-09
    相关资源
    最近更新 更多