【问题标题】:WIX MSI customaction not running when deployed using Group Policy使用组策略部署时 WIX MSI 自定义操作未运行
【发布时间】:2013-05-10 20:20:52
【问题描述】:

我正在使用 WIX 创建一个 MSI,它具有安装 clickonce 应用程序的自定义操作。我想通过 GPO 部署 MSI。当我双击运行 msi 时,自定义操作运行良好,但通过 GPO 部署时,自定义操作似乎没有运行。但是,如果您查看控制面板中的添加/删除程序,您会在其中列出产品/msi,就好像它已成功安装一样。

要查看通过 GPO 部署时自定义操作是否有效,我创建了一个简单的自定义操作,它只是将文件写入 c:\temp(现有)文件夹。在 installfinalize 步骤之前向 InstallExecuteSequence 和 AdminExecuteSequence 添加了自定义操作。尝试了延迟执行和立即执行。当您双击要安装的 msi 但不是通过 GPO 时,它可以工作。

通过 GPO 部署 msi 时是否可以进行自定义操作?有什么限制吗?为了让它与 GPO 一起工作,我需要做些什么特别的事情吗?

提前致谢!

鲁克山

【问题讨论】:

  • 请发布示例代码,详细说明您的实现。

标签: wix windows-installer


【解决方案1】:

我想通了。问题是我没有配置 GPO 以在用户登录时安装包。在组策略属性中选中该复选框后,它可以工作。

如果您将软件分配给用户并且未选中“登录时安装此应用程序”,则该应用程序将列在用户的添加/删除程序面板上,但不会真正安装它。所以我的印象是它在没有安装时成功安装而没有运行自定义操作。

现在我在安装执行序列下列出了我的自定义操作

<InstallExecuteSequence>
  <Custom Before='InstallFinalize' Action='ClickOnceIntallCustomAction' >NOT REMOVE</Custom>
 </InstallExecuteSequence>

并设置为立即执行并返回检查

<CustomAction Id="ClickOnceIntallCustomAction" BinaryKey="ClickOnceInstallBinary"  Return="check" Execute="immediate" DllEntry="Test" ></CustomAction>

【讨论】:

    猜你喜欢
    • 2011-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-05
    • 2013-04-17
    • 2017-09-08
    相关资源
    最近更新 更多