2013-07-01 13 views
12

Ürünüm kurulduğunda ve diğeri kaldırıldığında yürütmek istediğim iki özel eylemim var.WiX'te, yalnızca yükleme veya kaldırmada yürütülen özel bir eylemi nasıl uygularım?

Özel eylemim şu anda "InstallFinalize" den sonra bir birleştirme modülünden çağrılmaktadır, ancak bu hem yükleme hem de kaldırma işlemi için geçerlidir. Ben "YÜKLÜ DEĞİL VE UPGRADINGPRODUCTCODE DEĞİL" koşulunu eklenmesi çalıştı, ama bu bana bir hata verdi ettik:

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

Ben de (örneğin, UnpublishComponents) diğer işlemlere takılarak denedim ama yapamıyorum yüklemek veya kaldırmak için benzersiz olan herhangi bir bulmak.

Bu sorunu nasıl düzeltebilirim?

+0

olası yinelemesi [Yalnızca kaldırma sırasında (MSI aracılığıyla) gerçekleşen bir WiX özel eylemi nasıl eklenir?] (Http://stackoverflow.com/questions/320921/how-to-add-a-wix-custom- action-that-olur-sadece-on-uninstall-yoluyla-via-msi) –

cevap

11

Sadece Yükleme sonraki
1. deneyin: Kaldır için

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

2. kullanmayı deneyin: Rob's answer

UPGRADINGPRODUCTCODE mülkiyet RemoveExistingProducts CA'ya sırasında sadece ayarlanır

+0

Çok teşekkürler, bunu yapmanın yolu budur. –

İlgili konular