Выполнение MSI в комплекте с установкой - PullRequest
1 голос
/ 24 января 2011

Я создал MSI, который также включает файл установщика для отчета Crystal (CRRedist2008_x86.msi).Я хотел бы выполнить Crystal Report MSI вместе с основным установщиком.Я понимаю, что мне нужно использовать какое-то пользовательское действие, но я не уверен в точном способе сделать это.

Возможно, шаги будут

i) Позвольте основную установкуконец ii) Выполните «CRRedist2008_x86.msi» с помощью команды msiexec [я не уверен, как это сделать]

Может ли кто-нибудь дать мне руководство о том, как этого добиться?

Ответы [ 2 ]

2 голосов
/ 01 февраля 2011

Лучше всего использовать загрузчик (я слышал хорошие отзывы о бесплатной dotNetInstaller или есть коммерческие альтернативы)

Затем настройте загрузчик так, чтобы он делал следующее:

  • Проверить наличие Crystal Reports, установить, если нет,
  • Проверьте наличие других зависимостей, попробуйте установить, если нет
  • Запустите файл установки (который должен выполнить эти проверки еще раз и прервите работу, если зависимости еще не установлены)

Например, с помощью загрузчика, который я использую, мы проверяем

  • Установщик Windows 3.1
  • .NET 2.0 +

Если их нет, они загружаются из сети и устанавливаются автоматически. Все это происходит до начала основной установки.

Надеюсь, это поможет:)

1 голос
/ 24 января 2011

Для этого есть два подхода:

  1. Добавьте установщик Crystal Reports в качестве предварительного условия. Это поддерживается большинством инструментов разработки, и это рекомендуемый метод.

  2. Создайте пользовательское действие, которое запускает второй установщик. Установщик Windows не имеет предопределенного настраиваемого действия для запуска других MSI в виде обычных файлов, но вы можете попробовать создать настраиваемый EXE-файл, который использует ShellExecute для запуска файла MSI.

Чтобы запустить другой установщик MSI в конце установки, необходимо запланировать его после действия InstallFinalize и запустить его с флагами msidbCustomActionTypeAsync и msidbCustomActionTypeContinue : http://msdn.microsoft.com/en-us/library/aa368071(VS.85).aspx

...