Заставить установщик Windows игнорировать запущенный процесс

#installation #windows-installer #installshield

#установка #windows-установщик #installshield

Вопрос:

Используя Installshield 2010 и Basic MSI project.

У меня есть exe-файл, который был ранее установлен моим установщиком. Этот exe-файл должен быть запущен во время обновления установщика. Есть ли способ гарантировать, что установщик не попытается завершить процесс? В принципе, я хотел бы, чтобы поведение было следующим: если файл не существует, отложите его, в противном случае игнорируйте.

Я сделал exe ключевым файлом в компоненте и установил для него значение true «Никогда не перезаписывать». Должно ли это привести к желаемому поведению?

Комментарии:

1. Было бы здорово, если бы вы могли объяснить, почему должен использоваться EXE-файл? Это звучит как очень своеобразная стратегия развертывания.

Ответ №1:

Будущие установщики будут использовать Never Overwrite, чтобы определить, будет ли файл перезаписан другими пакетами MSI. В принципе, этот атрибут должен был быть установлен для установленного EXE-файла.

Хорошим подходом является использование поиска по файлу, чтобы определить, существует ли EXE-файл. Затем свойство search можно использовать для настройки нового компонента.

Установщик Windows не закрывает приложения автоматически, но он показывает диалоговое окно FilesInUse, которое предлагает пользователю эту опцию.

Комментарии:

1. Итак, в основном я пытался отключить отображение диалогового окна FilesInUse пользователю для этого конкретного приложения. Возможно?

2. Отключение файлов не отображается, только если нет запущенных приложений, для которых файлы необходимо заменить. Итак, вы можете попробовать предложенный мной подход, чтобы посмотреть, отображается ли он по-прежнему, когда условие EXE не выполнено. Если это не сработает, единственным решением будет ручная обработка файла вместо того, чтобы позволять установщику Windows обрабатывать его (хранить его где-нибудь, извлекать во время установки и т.д.).

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