Я разрабатываю программу на C #. Я использую Advanced Installer для создания установочного пакета MSI для моей программы.

Version 1 моего установочного пакета MSI создавала ярлык для моей программы в Start Menu Windows. При удалении я хотел, чтобы он удалил этот ярлык из папки «Пуск», но я сделал что-то не так, и он удаляет всю папку « Start Menu » вместо ярлыка для моей программы.

Теперь я хочу распространить Version 2 моего установочного пакета MSI. Но перед установкой Version 2 сначала необходимо удалить Version 1 - и тут проблема выявляется. Я не хочу, чтобы мои пользователи теряли свое Start Menu ...

Есть ли способ решить эту ситуацию?

1 ответ1

0

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

С технической точки зрения, незначительное обновление преобразует кэшированную базу данных MSI в системе, поэтому пользовательское действие по удалению не будет запущено. Это довольно сложно сделать, если вы еще этого не сделали, но это "рабочая процедура". Все зависит от вашего уровня навыков MSI.

Насколько велика ваша база пользователей?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .