![]() |
Msiexec - список ключей и свойств
Статья по теме - Использование ключей и свойств установщика Windows для автоматизаци
Предлагаю собрать здесь список ключей для msiexec в коммандной строке которые незадокументированы в справке Некоторые невыясненные вопросы: 1. Например свойство Transforms равнозначно ли ключу /t ?? Или например ALLUSERS=1 равнозначен обьявлению пакета - /jm ?? 2. Вобщем то, интересно максимальное количество ключей которое примет msiexec из коммандной строки, и побольше новых полезных ключей. ================================ Ключи: см. в статье в начале шапки. Новые и полезные для автоустановки будут добавлятся сюда. Синтаксис: Код:
msiexec.exe /i (/a) Имяпакета.msi Свойства /qb(n/r/f) |
А чего это вы полезли в справку на technet'е? msiexec является дефолтным интерпретатором для msi пакетов, но не единственным. Поэтому, более корректным будет вопрос по нахождению всех параметров для Windows Installer.
Все параметры для него можно найти тут. Мануал есть тут. Если есть более подробные вопросы, спрашивайте. Возможно я знаю ответ на них. |
Muzman, на technet указаны параметры командной строки для msiexec - это стандартные параметры для установки пакетов установщика Windows. А уж какие свойства (properties) заложил создатель пакета, зависит только от него. Другими словами, использование этих свойств имеет смысл только в том случае, если они заложены в пакет и работают. А у Msiexec работают все параметры командной строки.
|
С помощью параметров коммандной строки можно поменять практически все параметры БД msi. И эти параметры не только для msiexec'а но и для других интерпретаторов (например я иногда ещё встречаю av_exec, хотя последнее время все реже и реже). И конешно это неудобно делать с помощью командной строки. Намного удобнее это делать с помощью mst файлика, который можно создать любым упаковщиком/перепаковщиком (я пользуюсь WISE Studio).
И к сожалению technet не является лучшей помощью в освоении Windows Installer'а и иже с ним же msiexec'а. Намного больше информации можно найти тут (особенно если искать по нужным пакетам и форуму). А общая информация (и о том же msiexec'е) есть на MSDN'е (точнее). Поэтому никаких недокументированных возможностей, по сути нет. |
Цитата:
Цитата:
Цитата:
|
Цитата:
Думаю что если добавить ALLUSER=1/2 то это покроет 98% всех вопросов. |
Просто хотелось бы собрать общие для большинства приложений ключи.
Например Targetdir очень иногда помогает. |
Опубликовал статью по теме ветки. Спасибо Vadikan за редакторскую правку статьи !!!!
|
а можно ли с помошью команд изменить путь ярлыка в пакете мси???
|
volk1234, я немного почитал но так и не совсем понял как точно работает команда TARGETDIR. Сейчас я делаю приблизительно так:
mkdir "%temp%\nod32 msiexec /a nod32.msi /qn TARGETDIR="%TEMP%\nod32" Но мне бы хотелось чтобы TARGETDIR была папка на уровень выше или ниже папки в которой лежит *.msi пакет |
команда работает как обычно. Просто все зависит от пути который вы ей укажите.
Т.е. можно указать Код:
TARGETDIR="C:\Temp" Код:
TARGETDIR="%temp%" Код:
TARGETDIR="%~dp0\" Код:
..\ |
volk1234, грубо говоря я могу использовать все %~ модификаторы
Ага тут я разобрался теперь все понятно: Код:
ren *.msi nod32.msi Код:
@echo on |
Ну да, собственно почему я и занялся изысканиями и даже небольшую статью набросал - мой "универсальный" конструктор аддона не был универсальным, а Properties придают ему гибкость. В принципе можно обойтись даже без MST-файлов завдав все параметры в ком.строке. И любой сможет ее изменить под себя легко.
|
volk1234, моя универсальность пока заключается - как я называю *.cmd файл, с таким названием будет и аддон, грубо говоря. Ну скажем у меня есть файл QuakeLiveNP_401.msi, называю *.cmd QLive и получаю административную установку данного файла в формате 8.3.
|
Существует ли способ передать установщику папку, куда будет идти установка)? Для режима "тихой" установки (/Q). Вызываю из BAT-файла.
|
Проверьте, есть ли в пакете свойство TARGETDIR. Если есть — используйте его.
|
Да, это проходит. Я вообще-то думал, что это параметр для временной папки.
Проходит, но только если запускать из командной строки. Из BAT-файла не работает. А если, к примеру, убрать "тихую" установку, получаю такое сообщение об ошибке: Цитата:
|
Цитата:
|
Цитата:
Для "тихой" установки: <пакет>.MSI / Q TARGETDIR=c\tmp Или просто <пакет>.MSI (если таким образом, то получаю вышеприведенное сообщение-диалог) |
Цитата:
2. Пропущено двоеточие. Код:
<пакет>.MSI /Q TARGETDIR=c:\tmp |
Да это я здесь, на форуме ошибся.
Так ведь даже если просто пакет пускаю, получаю сообщение об ошибке. В службах msiexec запускается с ключем "/V". Это нормально? Что это за ключч? Счас вирусов поищу (АВЗ попробую) |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Да, пробовал. Все так же. Сейчас ищу bat-файлы чтобы пример запуска найти.
|
бУРов, я не доглядел, что Вы писали про службу.
Цитата:
|
Фу! Заработало. MSI-пакет кликал из Тотал коммандера. Только когда тотал запустил как администартор, все сработало. Еще отключение UAC помогает.
|
Коды возврата msiexec
Где можно найти коды возврата msiexec.
Например, если запрошено удаление msiexec /x /i <Пакет>.msi и нажата кнопка [Отмена] Как это выловить |
В документации:
Command-Line Options Standard Installer Command-Line Options Но, полагаю, Ваш случай таков: Msiexec.exe and %errorlevel% - Ars Technica OpenForum. |
Не работает ключ Setup.exe /v
У меня не отрабатывает команда:
set AppPath=c:\tmp Setup.exe /s /v"/qn INSTALLDIR=%AppPath" Выскакивает окно справки. Пробовал и TARGETDIR. Это у всех так? Сам msi запускается msiexec /q /i TranzitSetup.MSI TARGETDIR=%AppPath% |
Нужно заперетить создание точки восстановления
Я делаю msi-пакет для установки ПО. Соответственно, приходится многократно запускать для целей отладки. Только теперь всегда автоматом создаются точки восстановления.
А можно такое поведение установщика запретить? |
Пропущен «%»
Код:
Setup.exe /s /v"/qn INSTALLDIR=%AppPath%" Цитата:
|
Попробуйте посмотреть здесь: windows - Prevent System Restore Point from being created during Install - Super User.
|
По этой ссылке предлагают отключать "Теневое копирование тома". Это помогает.
|
Время: 14:03. |
Время: 14:03.
© OSzone.net 2001-