2013-07-01 13 views
12

Mam dwie akcje niestandardowe, z których jedną chciałbym wykonać, gdy mój produkt jest zainstalowany, a drugi, gdy zostanie odinstalowany.Jak mogę wykonać akcję niestandardową w WiX, która jest wykonywana tylko podczas instalacji lub deinstalacji?

Moja niestandardowa akcja jest obecnie wywoływana z modułu scalania po "InstallFinalize", ale dzieje się tak zarówno w przypadku instalacji, jak i deinstalacji. Próbowałem dodanie „nie zostanie zainstalowane i nie UPGRADINGPRODUCTCODE” stan, ale dał mi błąd:

Error 2762. Cannot write script record. Transaction not started.

Próbowałem zostały również dołączenie do innych działań (na przykład UnpublishComponents), ale nie mogę znajdź wszystkie, które są unikalne do zainstalowania lub odinstalowania.

Jak mogę rozwiązać ten problem?

+0

możliwy duplikat [Jak dodać niestandardową akcję WiX, która ma miejsce tylko po odinstalowaniu (przez MSI)?] (Http://stackoverflow.com/questions/320921/how-to-add-a-wix-custom- action-that-happens-only-on-uninstall-via-msi) –

Odpowiedz

11

Spróbuj obok
1. Tylko do instalacji:

<InstallExecuteSequence> 
<Custom Action="SomeAction" After="InstallFinalize">NOT Installed AND NOT REMOVE</Custom> 
</InstallExecuteSequence> 

2. do dezinstalacji spróbować użyć: Rob's answer

UPGRADINGPRODUCTCODE właściwość jest ustawiona tylko podczas RemoveExistingProducts CA.

+0

Wielkie dzięki, to jest sposób na zrobienie tego. –

Powiązane problemy