Установка InstallShield EXE-файла без вывода сообщений с помощью PowerShell - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть exe-файл, созданный с помощью InstallShield 2018 Express Edition. Мне нужно создать скрипт PowerShell, который будет молча устанавливать этот exe-файл на разные компьютеры.

Я перепробовал все варианты, которые я нашел в Google, и ничего не работает. Я попытался сгенерировать файл ответов setup.iss с помощью команд setup.exe /r и setup.exe /r /f1'-path', но это не сработало. Я не смог получить этот файл.

Команды, которые я пробовал:

setup.exe /s /v /qn
setup.exe /s /v "/qn"
setup.exe /s /v /qb 
setup.exe /q /norestart
setup.exe /qb /norestart
setup.exe /passive

Я конвертировал exe в msi и пробовал с msiexec, но это тоже не сработало.

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

Я также обнаружил, что автоматическая установка может быть отключена для конкретного exe-файла. Используемый мной exe-файл создается с проектом InstallShield в Visual Studio 2017, поэтому я решил создать новую сборку с включенным Silent Install Switch, но не смог найти эту опцию.

Способ, которым я частично добился успеха, таков:с

setup.exe /a

, после чего пользовательский интерфейс запрашивается, я нажимаю все кнопки и генерируется некоторый файл setup.msi размером 1.6 МБ (setup.exe составляет 270 МБ). Приложение не устанавливается.

Запуск этой setup.msi из 1.6 Мб с командой msiexec успешно устанавливает приложение без вывода сообщений на компьютер, где генерируется эта msi. Проблема в том, что setup.msi нельзя использовать на других компьютерах.

Ответы [ 3 ]

1 голос
/ 07 ноября 2019

Вы пробовали setup.exe / s / v "/ qn", но вы были так близко. После параметра / v не должно быть пробела. Попробуйте setup.exe / s / v "/ qn"

. Как отметил Ансгар, необходимо различать параметры InstallShield (setup.exe) и параметры MSI. Чтобы запустить InstallShield setup.exe (bootstrapper) в автоматическом режиме, просто используйте / s. / V "/ qn property = value" - это опция сквозного входа для передачи в MSI в загрузчике. Список параметров командной строки MSI , которые могут быть заключены в кавычки после /v.

1 голос
/ 06 ноября 2019

/qn и /qb являются параметрами MSI , а не InstallShield options . Для установщиков InstallShield опция «без вывода сообщений»: /s:

/ s. Режим без вывода сообщений. Для проекта InstallScript команда Setup.exe / s запускает установку в режиме без вывода сообщений. режим, по умолчанию основанный на ответах, содержащихся в файле ответов с именем Setup.iss в том же каталоге.

Попробуйте:

setup.exe /s

Если вам этого не достаточнонужно посмотреть, какие параметры фактически принимает установщик (setup.exe /?).

0 голосов
/ 06 ноября 2019

Я уже использовал эту команду справки, но теперь, когда я запускаю ее, чтобы опубликовать скриншот доступных команд, я заметил пробел между / S и / v / qn, и именно это вызвало все проблемы.

У меня не было этого места в моих предыдущих попытках.

Итак, рабочая команда:

setup.exe /S /v/qn

Спасибо

...