使用组策略部署时,WIX MSI习惯未运行

时间:2013-05-10 20:20:52

标签: wix windows-installer

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

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

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

提前致谢!

Rukshan

1 个答案:

答案 0 :(得分:2)

我明白了。问题是我没有在用户登录时配置GPO来安装软件包。在检查组策略属性中的复选框后,它可以正常工作。

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

现在,我在安装执行序列

下列出了自定义操作
<InstallExecuteSequence>
  <Custom Before='InstallFinalize' Action='ClickOnceIntallCustomAction' >NOT REMOVE</Custom>
 </InstallExecuteSequence>

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

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