具有权限的自定义操作

Posted

技术标签:

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

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

【问题讨论】:

【参考方案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,我将查看我的代码并尝试检测它需要许可的位置。

以上是关于具有权限的自定义操作的主要内容,如果未能解决你的问题,请参考以下文章

具有过滤查询集的组权限的自定义表单

UIMenuContoller UIMenuItem 具有多个参数的自定义操作?

导致具有多个参数的过滤列表的自定义操作?

Spring MVC 中的自定义授权

spring @Preauthorize 中的自定义方法

ActionBar - 具有居中 ImageView 的自定义视图,两侧的操作项