3

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

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

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

提前致谢!

鲁克尚

4

1 回答 1

2

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

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

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

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

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

<CustomAction Id="ClickOnceIntallCustomAction" BinaryKey="ClickOnceInstallBinary"  Return="check" Execute="immediate" DllEntry="Test" ></CustomAction>
于 2013-05-13T21:36:05.847 回答