Как удалить рекламный ярлык программным способом? - PullRequest
0 голосов
/ 14 апреля 2009

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

Я нашел утилиту Windows Installer и соответствующий msizap, который я буду использовать для автоматизации процесса. Проблема теперь состоит в том, что, когда более новая версия устанавливается сверху впоследствии, рекламируемый ярлык все еще пытается сделать ремонт (или что бы он ни делал на самом деле, пытаясь загрузить старую версию) и терпит неудачу. Запуск программы напрямую из файла работает нормально, но мне нужно удалить объявленные ярлыки в автоматическом режиме. Это не должно быть невероятно надежной, довольно маленькой частной бета-установочной базой прямо сейчас, поэтому можно предположить, что ярлыки находятся в первоначально установленных местах рабочего стола и меню Пуск.

Существуют ли какие-либо особые проблемы, которые необходимо учитывать для рекламируемого ярлыка, или я могу просто обработать его как любой другой файл и просто удалить?

Ответы [ 2 ]

3 голосов
/ 15 апреля 2009

Что касается ярлыка, то это просто обычный файл, который можно удалить.

Однако я предупреждаю вас об использовании MSIZAP - это действительно последнее средство и оставляет много информации, подсчет общих DLL, записей реестра, файлов и т. Д. После удаления информации установщика Windows Затем вам нужно удалить любую информацию, связанную с вашей программой из реестра. Подсчет ссылок SharedDLL - наихудшая вещь, поскольку они облажаются при попытке переустановить / удалить с новым MSI.

Роб имеет хороший пост, в котором подробно описываются некоторые подводные камни использования MSIZAP . Это не то, что вы хотите использовать, если вы не готовы вручную выследить всю информацию реестра, которую он оставляет.

1 голос
/ 14 апреля 2009

Рекламные ярлыки AFAIK отвечают за настройку.
Это специальные lnk-файлы, которые указывают на установщик с параметром spicel, который будет выполнять предварительную настройку при активации (вы можете увидеть информацию в блокноте или шестнадцатеричном редакторе).
тем не менее, MSI zap должен удалить все следы установки.
Настройка запускается, если вы делаете zap, а затем нажимаете ярлык? или вы получаете ошибку?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...