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, или нет.