Wix / MSI: невозможно удалить

Я разработал установщик Wix для внутреннего проекта, однако совершенно случайно обнаружил, что не могу удалить установщик на моей машине для разработки, когда я получаю следующее сообщение об ошибке:

Функция, которую вы пытаетесь использовать, находится на недоступном сетевом ресурсе

с диалоговым окном, указывающим путь к MSI, с которого я установил особенность от. (MSI-файл есть, но он был перестроен и поэтому изменился с тех пор, как я установил его) предложить мне сломать мой деинсталлятор, удалив, переместив или изменив инсталлятор.

Так ли это?

Что мне нужно сделать, чтобы я не сломал свой деинсталлятор таким образом? (Нужно ли хранить копии всех версий установщика, когда-либо установленных на компьютере?)

11
задан Justin 18 August 2010 в 12:00
поделиться

2 ответа

Один из первых болезненных уроков написания установочных файлов - никогда не запускать установку на собственном компьютере. Конечно, пока он не достигнет точки зрелости и не пройдет несколько циклов контроля качества. Для этого у нас есть лаборатории интеграции и виртуальные машины. (Есть поговорка о вещах, которые нельзя делать на заднем дворе.)

Тем не менее, обычно для удаления MSI не требуется MSI, но бывают ситуации, когда это может потребоваться. Например, если нужно было вызвать действие ResolveSource во время удаления, MSI будет искать .MSI.

Теперь есть несколько выходов из этой ситуации:

  1. Возьмите MSI, который у вас есть, и отредактируйте его с помощью ORCA, чтобы он соответствовал имени файла, UpgradeCode, ProductCode и PackageCode установленного вами MSI. Вы сможете получить всю эту информацию, просмотрев удаленный кэшированный MSI, который существует в % WINDIR% \ Installer . CD в ​​этот каталог и выполните findstr -i -m SOMESTRING * .msi , где SOMESTRING - это что-то уникальное, например, ваше свойство ProductName.Как только вы узнаете имя кэшированного MSI, откройте его в Orca, чтобы получить необходимые атрибуты. Затем поместите эти атрибуты в копию имеющегося у вас MSI-файла и попробуйте выполнить удаление. Нет, это не тот MSI, который вы установили, но обычно он достаточно близок.

или

  1. Используйте служебную программу для очистки внешнего интерфейса установщика Windows (если она еще у вас есть) и / или служебную программу MSIZAP , чтобы стереть все сведения о приложении из MSI и программ добавления / удаления. Обратите внимание: на самом деле это не приводит к удалению программы, поэтому вам также придется написать сценарий или вручную удалить все следы программы.

или

  1. Восстановите образ вашей рабочей станции
9
ответ дан 3 December 2019 в 05:56
поделиться

Самый простой способ выйти из этой ситуации - выполнить повторное кэширование / переустановку. Создайте новую версию своего MSI, которая не будет "сломанной" (ни в чем не способ, которым он сломан, в этом случае он может вообще не сломаться, вам просто нужен новый источник). Затем вы используете командную строку, например:

msiexec /fv path\to\your.msi /l*v i.txt

Это скопирует ваш.msi поверх кэшированного MSI и сделай ремонт. Тогда тебе станет лучше.

10
ответ дан 3 December 2019 в 05:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: