Проект Установки VS: Удалите другой компонент на установке

На выходном канале есть два подписчика - привязка канала (в связывателе) и ваш маршрутизатор.

В течение DirectChannel с алгоритмом диспетчеризации по умолчанию является циклический перебор, поэтому вы поочередно отправляете сообщения на маршрутизатор и напрямую в подшивку.

Вам нужен другой DirectChannel @Bean для активатора службы, чтобы все сообщения отправлялись туда, а затем в подшивку после маршрутизации.

См. sourceChannel в этом образце.

6
задан Nix 11 January 2013 в 17:25
поделиться

3 ответа

Если Вы не должны на самом деле выполнять удаление другого компонента, Вы могли использовать Пользовательское действие для удаления файлов/папок, которые Вы намереваетесь заменить.

Используя Пользовательское действие вынудит Вас сделать все действия уборки, которые Деинсталлятор сделал бы для Вас.

Случается так заменой чего-то, или Вы просто пытаетесь удалить что-то в результате установки чего-то совершенно различного?

Пошаговая демонстрация пользовательского действия MSDN

Я также прочитал несколько статей от Phil Wilson, которые были полезны с Пользовательскими действиями:
Phil Wilson на пользовательских действиях

1
ответ дан 17 December 2019 в 20:36
поделиться

Я столкнулся с подобной проблемой, которая потребовала нескольких установок для совместной работы, и я не смог найти рекурсивный запуск MsiExec. Решение, которое я использовал, заключалось в том, чтобы связать установщик со сценарием, который запускает MsiExec один раз для установки / удаления старого пакета, а затем снова для запуска нового установщика. Клиенты должны были запустить скрипт для установки.

Если вы найдете лучший способ, дайте мне знать.

1
ответ дан 17 December 2019 в 20:36
поделиться

Я думаю, что можно работать uninst.exe из той программы через оболочку управляют, в то время как установка запускается.....

0
ответ дан 17 December 2019 в 20:36
поделиться
Другие вопросы по тегам:

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