Когда ваш новый пакет запускает RemoveExistingProducts, старый кэшированный MSI должен быть исправлен, и он должен быть правильно удален.
я есть что-то вроде этого:
<InstallExecuteSequence>
<RemoveExistingProducts After="InstallValidate"/>
</InstallExecuteSequence>
Так как одна из деинсталляций не удалась, мне нужно выполнить пользовательское действие, чтобы решить проблему ДО удаления компонентов. Что-то в строках:
<CustomAction Id="FixStuff" .. />
<InstallExecuteSequence>
<Custom Action="FixStuff" Before="RemoveExistingProducts" />
<RemoveExistingProducts After="InstallValidate"/>
</InstallExecuteSequence>
Это, конечно, не работает, так как пользовательское действие не может быть до InstallInitialize. Я бы очень хотел удалить существующие продукты между InstallValidate и InstallInitialize, но я бы хотел выполнить FixStuff перед удалением существующих продуктов.
Возможно ли это сделать?