Wix: Можно ли вручную запустить элемент RemoveFolderEx из пользовательского действия?

Мне интересно, возможно ли вручную запустить элемент RemoveFolderEx из пользовательского действия? Я думаю, что скорее всего нет, но кто-то может знать способ, о котором я не знаю.

Моя проблема в том, что я хочу запустить элемент RemoveFolderEx, но только при истинном UNINSTALL, однако моя программа выполняет его при обновлении, поскольку я настроил ее на удаление перед переустановкой.

Я попробовал сделать это следующим образом Wix: условие на свойстве не работает , однако это не сработало и все равно запустилось при переустановке.

Единственное, о чем я могу подумать, это возможность вручную установить RemoveFolderEx из пользовательского действия, которое я знаю, что запускаю в нужный момент и только при истинном удалении. Возможно, мое пользовательское действие могло бы использовать c++ dll, а затем вручную добавить команду в интерфейс MSI, но если я пойду так далеко, то, возможно, будет лучше полностью написать логику удаления самостоятельно.

Спасибо. Нил


EDIT: Я наконец-то заставил это работать, вот пример wix, чтобы показать, что я сделал.



        
    
        
    




           
    (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
    

Свойство P.REMOVEDATAFOLDER only устанавливается при истинной деинсталляции сразу после чтения DATADIR из реестра, но до действия CostInitialize.

5
задан Community 23 May 2017 в 12:23
поделиться