2013-05-10 70 views
2

我正在使用WIX創建一個MSI,該MSI具有安裝clickonce應用程序的自定義操作。我想通過GPO部署MSI。當我雙擊運行msi時,自定義操作運行正常,但通過GPO部署時,自定義操作看起來沒有運行。但是,如果您查看控制面板中的添加/刪除程序,那麼您已將產品/ msi列出,就好像它已成功安裝。使用組策略部署時WIX MSI定製未運行

要通過GPO進行部署時查看自定義操作是否可以工作,我創建了一個簡單的自定義操作,它只是將文件寫入c:\ temp(現有)文件夾。在installfinalize步驟之前,將自定義操作添加到InstallExecuteSequence和AdminExecuteSequence中。試圖同時執行和立即執行。它可以在您雙擊msi進行安裝時運行,但不能通過GPO進行安裝。

當通過GPO部署msi時可以執行自定義操作嗎?是否有任何限制?有什麼特別的,我需要做的,以使其與GPO合作?

在此先感謝!

Rukshan

+0

請郵寄樣本代碼,詳細說明您的實現。 – 2013-05-11 02:35:53

回答

2

我想通了。問題在於,我沒有配置GPO以在用戶登錄時安裝軟件包。在檢查了組策略屬性中的複選框後,它可以正常工作。

如果您將軟件分配給用戶,並且不選中「在登錄時安裝此應用程序」,則該應用程序將列在用戶的添加/刪除程序面板上,但並未真正安裝它。所以我的印象是,它沒有運行自定義操作,但它沒有安裝時成功安裝。

現在我有我的自定義操作,下面列出安裝執行順序

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

它設置爲立即執行和檢查返回

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