Сделайте так, чтобы VDProj .MSI установщик скопировал себя локально после успешной установки - PullRequest
1 голос
/ 23 февраля 2011

У нас есть большое приложение C #, охватывающее многие проекты, которое упаковано в файл .MSI, запустив MSBuild (или через Visual Studio 2010) для файла .VDProj.Установка обычно работает нормально и правильно предупреждает, если на локальном компьютере не найдено другое необходимое программное обеспечение.

Однако, если установка прошла успешно, мы бы хотели, чтобы программа установки скопировала себя в какую-то определенную папку в программных файлах.,Например, «c: \ program files \ app \ version \ install_1.2.3.4.msi».

Кто-нибудь знает какой-либо способ сделать это?

1 Ответ

1 голос
/ 23 февраля 2011

Вы можете получить путь MSI из свойства OriginalDatabase . Для копирования MSI вы можете использовать пользовательское действие , запланированное после стандартного действия InstallFinalize.

Например, вы можете написать простой EXE-файл, который получает [OriginalDatabase] в качестве параметра и выполняет операцию копирования.

InstallFinalize не отображается в Visual Studio. Вы можете добавить свое настраиваемое действие в разделе «Установить» и отредактировать MSI с помощью ORCA , чтобы изменить его последовательность после InstallFinalize в таблице InstallExecuteSequence .

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

...