Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка приложений (http://forum.oszone.net/forumdisplay.php?f=61)
-   -   Параметры командной строки Windows Installer (http://forum.oszone.net/showthread.php?t=102765)

Котяра 13-03-2008 23:13 759829

Параметры командной строки Windows Installer
 
Наверняка многим будет интересно.
Пакеты MSI (т.е. файлы с этим расширением) устанавливаются программой msiexec.exe в каталоге %windir%\system32.
Для автоматической установки приложений важны параметры командной строки. Вот как их описывает Microsoft (для версии 3.1):

Код:

Windows (R) Installer. Версия 3.01.4000.1823

msiexec /Option <обязательный параметр> [необязательный параметр]

Параметры установки
        </package | /i> <Product.msi>
                Установка или настройка продукта
        /a <Product.msi>
                Административная установка - установка продукта в сеть
        /j<u|m> <Product.msi> [/t <список преобразований>] [/g <код_языка>]
                Объявление о продукте: "m" - всем пользователям;
                "u" - текущему пользователю
        </uninstall | /x> <Product.msi | Код_продукта>
                Отмена установки продукта
Параметры отображения
        /quiet
                Тихий режим, без взаимодействия с пользователем
        /passive
                Автоматический режим - только индикатор выполнения
        /q[n|b|r|f]
                Выбор уровня интерфейса пользователя
                n - Без интерфейса
                b - Основной интерфейс
                r - Сокращенный интерфейс
                f - Полный интерфейс (по умолчанию)
        /help
                Вывод справки по использованию
Параметры перезапуска
        /norestart
                Не перезапускать после завершения установки
        /promptrestart
                Запрашивать переустановку при необходимости
        /forcerestart
                Всегда запускать компьютер после завершения установки
Параметры ведения журнала
        /l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <файл_журнала>
                i - сообщения о состоянии
                w - сообщения об устранимых ошибках
                e - все сообщения об ошибках
                a - запуски действий
                r - записи, специфические для действия
                u - запросы пользователя
                c - начальные параметры интерфейса пользователя
                m - сведения о выходе из-за недостатка памяти или
                        неустранимой ошибки
                o - сообщения о недостатке места на диске
                p - свойства терминала
                v - подробный вывод
                x - дополнительная отладочная информация
                + - добавление в существующий файл журнала
                ! - сбрасывание каждой строки в журнал
                * - заносить в журнал все сведения, кроме параметров "v" и "x"        /log <файл_журнала>
                Равнозначен /l* <файл_журнала>
Параметры обновления
        /update <Update1.msp>[;Update2.msp]
                Применение обновлений
        /uninstall <Код_Guid_обновления>[;Update2.msp] /package <Product.msi | код_продукта>
                Удаление обновлений продукта
Параметры восстановления
        /f[p|e|c|m|s|o|d|a|u|v] <Product.msi | код_продукта>
                Восстановление продукта
                p - только при отсутствии файла
                o - если файл отсутствует или установлена старая версия
                        (по умолчанию)
                e - если файл отсутствует или установлена такая же или старая
                        версия
                d - если файл отсутствует или установлена другая версия
                c - если файл отсутствует или контрольная сумма не совпадает
                        с подсчитанным значением
                a - вызывет переустановку всех файлов
                u - все необходимые элементы реестра, специфические для
                        пользователя (по умолчанию)
                m - все необходимые элементы реестра, специфические для
                        компьютера (по умолчанию)
                s - все существующие ярлыки (по умолчанию)
                v - запуск из источника с повторным кэшированием локальных
                        пакетов
Настройка общих свойств
        [PROPERTY=PropertyValue]

Обратитесь к руководству разработчиков Windows (R) Installer за дополнительными сведениями по использованию командной строки.

(C) Корпорация Майкрософт. Все права защищены.
В некоторых частях программы использованы разработки Independent JPEG Group.

Дам свое краткое описание. Параметры режима:

/i - (англ. install) режим инсталляции/обслуживания. Например,
Код:

msiexec /i C:\testfile.msi
Установка testfile.msi в обычном режиме
Вместо пути к файлу можно указать GUID при запуске обслуживания

/x - режим деинсталляции (удаления). Например,
Код:

msiexec /x C:\testfile.msi
Удаление testfile.msi с подтверждением ("Вы действительно хотите отменить установку этого продукта?")
Вместо пути к файлу можно указать GUID

/f - (англ. fix) режим исправление.
Код:

msiexec /f C:\testfile.msi
Вместо пути к файлу можно указать GUID

/a - режим распаковки (административной установки)
Код:

msiexec /a C:\testfile.msi
Если так не выходит, то так:
Код:

msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test
Дополнительно к режиму /i (и не только :) ) могут быть применены параметры интерфейса (их надо указывать после имени MSI):
/qn - тихая установка
/qb - показ маленького окна "Windows Installer"
/qr - "сокращенный интерфейс" (я бы назвал его полным, но тихим)
Например,
Код:

msiexec /i C:\testfile.msi /qb
или
Код:

msiexec /i C:\testfile.msi /qr
.

Что такое GUID?
читать дальше »

Это глобальный уникальный идентификатор продукта. Смотреть можно в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall. Внимание!!! Не все GUID - Windows Installer'ы. У MSI UninstallString будет msiexec /I{тут GUID}

К EXE-файлами, работающим по технологии Windows Installer (а распознаются они по окну Preparing to install... (Подготовка к установке...)), параметры могут применяться не всегда, да часто и ограниченно. Например, iTunes742Setup.exe "понял" параметры интерфейса, но не режима. Видимо, он передает MSI-шнику параметры так:
msiexec /i C:\путь_к_msi.msi %1
Вот данные о параметрах EXE-файла Advanced Installer (обычно имеет описание "This installer database contains the logic and data required to install имя программы")):
читать дальше »
Код:

Standard command line switches
You can use all of the command line options that MSIExec accepts. The command line received by the EXE bootstrapper will be passed to MSIExec when launching the main MSI. This command line overrides the one specified in the "Install Options" from the Bootstrapper Page. If you need to specify the package location in the supplied command line, then you can use the // marker and the setup will replace this parameter with the actual path to the MSI package. If this marker is not specified in the command line, the setup will insert "/i path_to_msi" in the command line, which will automatically perform an installation. Example of valid command line options include:

"/q", "/log", "/a //", "/x // /log", etc.Proprietary command line switches
/extract <path>
Extracts the MSI contained by the EXE to the specified location. If the path contains spaces you must enclose it in quotes:

Example

Mypackage.exe /extract:"C:\My work"

This command will extract the Mypackage.msi file in the "My work" folder.

/? and /help

Both these commands will display a help dialog containing the command line options for the EXE setup.

/exenoui
Launches the EXE setup without UI.

/exebasicui
Launches the EXE setup with basic UI.

The UI level set using the above command line options will overwrite the default UI level specified when the package was built.

/listlangs
Lists the languages supported by the EXE setup.

/exelang <langId>
Launches the EXE setup using the specified language. This command line option will have effect only if the EXE setup was build with the language selection dialog

You can use both an UI level and /exelang command line options at the same time.

. Короче говоря:
/listlangs - список языков
/? - вопрос
/extract:папка - распаковка (работает только если в папке с EXE НЕТ msi-файла)
/q(буква) - см. выше
/i //, /x //, /f // - режимы
/i // /qn и прочие подобные - в пояснениях не нуждается :)
Вообще-то, данный тип EXE передает параметры msiexec'у, а // заменяет путь к MSI. Т.е. D:\setup.exe /i // /qn равно msiexec /i путь_к_msi /qn

Котяра 16-03-2008 19:39 761737

На мой взгляд (не ругайте если ошибаюсь :) ), моя тема достойна прикрепления. Т.к. инсталляторы MSI встречаются довольно часто.

YanTo 05-04-2008 11:18 775148

Котяра, а какой командой указать MSI-инсталятору на имеющийся конфиг-файл?
Живой пример:
Устанавливаю NOD32v3 командой
Код:

msiexec.exe /i "...путь...\NOD32v3.0.650.msi" /qb
Как указать инсталятору на файл mynod.xml?

Спасибо.

Wills 05-04-2008 12:08 775177

YanTo,
читай в этой теме Автоматическая установка NOD32!!!

Котяра 05-04-2008 20:54 775637

YanTo, параметры конфигурации NOD32 индивидуальны для него. В этой теме речь идет о параметрах, общих для ВСЕХ программ, использующих Windows Installer.

YanTo 06-04-2008 11:12 775925

Котяра, дык я не спрашиваю про параметры конфигураци для NOD32...
Я интересуюсь какой будет правильный синтаксис команды, чтобы можно было указать MSI-шному инсталятору использовать конфиг-файл.

Например, что-то типа такого
Код:

msiexec.exe /i "...путь...\install.msi" /qb parametr="...путь...\config.xml"
Ну или как-нибудь так, должно же что-то быть... :)


Wills, это можно было и не писать...

Котяра 08-04-2008 21:54 777725

YanTo, файлы XML индивидуальны для NOD32!!! Конфигурация стандартного инсталлятора имеет расширение *.mst . А Ваш вопрос уже про
Цитата:

Цитата YanTo
параметры конфигурации для NOD32 »

, поэтому создайте тему в разделе Автоматическая установка приложений

YanTo 09-04-2008 04:59 777884

Хех, ё-моё.... :)
Котяра, забудем про NOD32, хорошо? Посмотрите внимательно, я не о нём спрашиваю. Если у стандартного msi-шного инсталятора стандартный же конфиг файл имеет расширение *.mst , хорошо, пусть будет так, я этого не знал (xml брал для примера).
Я прошу, если Вы знаете, подсказать
Цитата:

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

Пусть это будет config.mst :)
И, если не трудно, приведите, пожалуйста, пример по аналогии с шапкой темы.
Спасибо.

Vadikan 09-04-2008 05:42 777894

Цитата:

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

Для этого нужно использовать свойство TRANSFORMS и указывать путь к файлу преобразования. Например,

Код:

msiexec.exe /i install.msi TRANSFORMS=install.mst
http://msdn2.microsoft.com/en-us/lib...85(VS.85).aspx

korsar77 18-06-2009 00:14 1145546

Vadikan, подскажите что нужно прописать для исправления и запуска службы windows installer

Vadikan 18-06-2009 01:08 1145582

Цитата:

Цитата korsar77
что нужно прописать для исправления и запуска службы windows installer »

Вам сюда Microsoft Windows Installer (Установщик Windows) .:[все вопросы]:.

korsar77 18-06-2009 23:44 1146360

Vadikan, Спасибо за помощь решение для меня запуска службы :msiexec /unreg
msiexec /regserver -в безопасном режиме

zeroua 31-01-2011 06:23 1600872

Цитата:

Цитата Котяра
msiexec /a c:\testfile.msi /qb TARGETDIR=c:\temp\test »

, что нужно в TARGETDIR прописать чтобы установка произошла в тот же каталог с которого происходил запуск *.msi пакета?

volk1234 03-02-2011 01:37 1603216

Я когда то статью набросал, там есть пример
http://oszone.net/9008
ветка
http://forum.oszone.net/thread-131710.html

Mishanya3624 15-08-2014 12:11 2389626

почему кода я пишу:
setup.msi /qn /norestart
он у меня один фиг перезапускает пк?

onis 09-09-2016 19:28 2667118

Здравствуйте подскажите если в msi есть Украинский и Русский язык как сделать нужного языка


Время: 21:59.

Время: 21:59.
© OSzone.net 2001-