Проблема установки MSI без вывода сообщений с использованием msiexec, возможна проблема с синтаксисом? - PullRequest
1 голос
/ 02 апреля 2019

По сути, я хотел бы установить MSI-файл в автоматическом режиме, и я заставил его работать, используя следующую строку:

msiexec /i C:\Users\%username%\Downloads\mysqlODBC.msi /passive

Одно добавление, которое я хотел бы сделать, этодобавить двойные кавычки в часть имени пользователя в строке, чтобы обеспечить правильное чтение любых имен пользователей, которые могут содержать пробелы.----> "% username%"

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

Ссылка на файл MSI Я пытаюсь установить спокойно:

https://dev.mysql.com/downloads/file/?id=484649

Ответы [ 2 ]

1 голос
/ 02 апреля 2019

Точка сетевой установки? : Мне не совсем понятно, чего вы пытаетесь достичь. Хотите автоматизировать установку этого MSI на многих машинах? В этом случае вам следует создать точку сетевой установки, доступную по пути UNC, и запустить административный образ , чтобы извлечь все файлы и создать точку сетевой установки, которая может использоваться для всех компьютеров:

msiexec.exe /i "\\Server\Share\Setup.msi" /QN /L*V "C:\Temp\msilog.log"

Если у вас есть такая точка, то нет причин создавать папки для каждого пользователя. Зачем дублировать установочные файлы? Конечно, вы не хотите, чтобы каждый пользователь загружал установщик? Вы хотели бы скачать один раз, проверить вредоносное ПО, а затем положиться на то, что вы загрузили раз и навсегда?

В любом случае, если вы настаиваете:

msiexec.exe /i "\\Server\Share\%username%\Setup.msi" /QN /L*V "C:\Temp\msilog.log"

Краткое описание параметров :

 /i = run install sequence 
 /QN = run completely silently
 /L*V "C:\Temp\msilog.log"= verbose logging at specified path

msiexec.exe : дополнительные сведения о командной строке msiexec.exe см. В этом ответе: MSIEXEC разница между qn и тихим . Существует два разных варианта: два разных набора переключателей: старый стиль и несколько более новых, «более дружественных» версий. Я использую только переключатели старого стиля. Существует инструмент, который вы можете использовать для генерации командных строк .


Некоторые ссылки :

0 голосов
/ 02 апреля 2019

TL; DR:

pushd "C:\Users\%username%\Downloads\"
msiexec.exe /a "mysqlODBC.msi" /quiet /norestart /log "%cd%\msiexec_install.log"
popd

Детали:

Несмотря на то, что полный путь должен быть помещен между двойными кавычками, альтернативным вариантом будет использование pushd и popd для перехода из каталога, содержащего MSI.

В приведенном выше примере я заменил индикатор выполнения (он же /passive) на /quiet. Я также использовал /a вместо /i по привычке - любой из них можно использовать для установки. И я включил опцию журнала в файл, которая может быть полезна при устранении неполадок.

...