Installshield пропускает пользовательское действие, если приложение уже установлено

Я создал базовый проект MSI, который установит несколько приложений на машину. Мой первый шаг - скопировать несколько папок и файлов на конечный компьютер. Затем я создал два пользовательских действия для запуска исполняемых файлов. Я хотел бы пропустить пользовательские действия, если это конкретное приложение уже установлено на компьютере. Также при копировании папок и файлов я хотел бы пропустить, если папка или файл уже существует на машине. Я пытался использовать условия установки, построитель условий, поиск системы, но я не могу ее решить.

Пожалуйста, предоставьте любые идеи для решения этих проблем. Ваши ответы будут с благодарностью.

1 ответ

Выполнить-MSI -Действие Установить -Path 'AcroRead.msi' -Transform 'Settings.mst' -Parameters '/q /norestart' -SkipMSIAlreadyInstalledCheck

используйте эту команду. если вы используете Powershell для установки.

Это пропустит проверку файла MSI.

Все это можно решить с помощью System Search.Refer ( http://helpnet.flexerasoftware.com/isxhelp22/helplibrary/NewLaunchCondition.htm).

1) Чтобы проверить, существует ли файл, выберите (Путь к файлу путем поиска в папках), введите имя файла, выберите каталог и назначьте глубину в зависимости от указанного каталога. Предположим, что A.txt присутствует в папке \B\C, и вы выбираете B во время поиска, тогда глубина должна быть>=2. Свойство, упомянутое в этом процессе, будет установлено с путем к файлу, если файл существует.

2) Чтобы проверить, существует ли папка, выберите (Путь к папке, выполнив поиск в определенной папке), следуйте приведенной выше процедуре и укажите имя папки вместо имени файла.

3) Чтобы проверить, установлено ли приложение, вы можете проверить, выполнив один из описанных выше процессов и найти определенные папки / файлы приложения. Наконец, используйте открытые свойства как условие для ваших пользовательских действий и компонентов. Предположим, вы проверяете файл и устанавливаете свойство ASONFILEFOUND, просто упомяните это в условии компонента / настраиваемого действия, и они не будут выполняться, если файл существует. Если проблемы по-прежнему возникают, включите ведение журнала Windows и просмотрите журнал, чтобы проверить, установлены ли свойства, используемые в System Search, или нет.

Другие вопросы по тегам