Пользовательский деинсталлятор для MSI, сгенерированного WIX
У меня есть MSI, который генерируется из сценариев WIX.
Мой вопрос похож на этот вопрос.
Я хочу создать пользовательский деинсталлятор вместо использования деинсталлятора MSI по умолчанию.
Я думаю о добавлении настраиваемого действия, которое выполняется после PublishProduct или до InstallFinalize, которое просто идет и изменяет запись реестра, в которой указывается используемая строка удаления.
Я не беспокоюсь о совместимости с SMS или аналогичными продуктами.
Что вы думаете об этом методе?
1 ответ
Это не так просто. По какой-то причине ARP не уважает UninstallString в пакетах MSI. Поэтому, чтобы изменить его, вам нужно установить ARPSYSTEMCOMPONENT и проверить все различные пути обновления и удаления, которые вы когда-либо захотите поддерживать. Хит Стюарт имеет ряд постов в блоге, связанных с этим, которые помогают перечислить возможные сценарии и общие проблемы с ними.
Я полагаю, что эта серия была написана в эпоху MSI 3.x, поэтому она, скорее всего, не решает никаких новых проблем в Windows Vista или более поздней версии и не может использовать преимущества флага пользовательских действий MSI 4.5 patch-uninstall.