Проект установки VS: удалить другой компонент при установке - PullRequest
6 голосов
/ 13 октября 2008

Я создаю проект установки Visual Studio. Я хочу удалить другой компонент из системы после установки моего компонента. Другой компонент устанавливается из моей собственной установки, созданной с помощью Visual Studio.

В настоящее время, когда я вызываю деинсталляцию другого компонента из действия установки компонента, я получаю код ошибки: 1618 (another MSI already running).

Может ли кто-нибудь предложить мне альтернативный способ решения этой проблемы?

Ответы [ 3 ]

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

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

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

1 голос
/ 13 октября 2008

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

Использование настраиваемого действия заставит вас выполнить все действия по очистке, которые деинсталлятор сделает за вас.

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

Пошаговое руководство по настраиваемым действиям MSDN

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

0 голосов
/ 05 ноября 2008

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

...