Използване на ключове и свойства на Windows Installer
опции на командния ред на msiexec
Бях подтикнат да напиша тази статия от проблем, който имах с автоматизирането на създаването на административна точка от добавката за конструктор ACDSee. Този конструктор ви позволява да създавате добавки от ACDSee дистрибуции на различни версии за инсталиране с Windows, както и автоматично инсталиране на работеща система. Освен това създаването се извършва както от обикновен комплект за разпространение, така и от административна инсталация. Този конструктор е базиран на MSI файлове и MST инсталационни скриптове. В добавката и по време на автоматична инсталация този пакет се стартира с команда като
Използвах подобен подход, за да създам административна инсталационна точка за пакета ACDSee в папката, от която се нуждаех. След като зададох пътя до папката във файла за трансформация (MST), създадох административна точка с командата
Ключовете/a,/i и/qn са документирани в помощта наmsiexec (кратко описание на ключовете за тиха инсталация е достъпно тук), но ключътTRANSFORMS не е описан в него и разликата му с ключоветеmsiexec.exe може да се види дори от синтаксиса.
Заинтригуван от ключовете на Windows Installer, се чудех дали има такъв, който може да заобиколи MST файла, като предостави персонализиран път в командния ред за създаване на точка за административна инсталация. И такъв ключ беше намерен -TARGETDIR !
Свойства на Windows Installer
Как работи всичко това и откъде идва помощта на ключоветеTRANSFORMS,TARGETDIR и други, които не са изброени в командния ред наmsiexec.exe ? Тези ключове не саmsiexec.exe опции на командния ред, аProperties на Windows Installer, първоначално наречениProperties. Всички имотиса изброени в документацията (на английски език), хоствана на MSDN.
Имотите се разделят на:
Пълният списък с имоти е публикуван на тази страница.
Публичните и ограничените публични свойства са най-интересни за автоматизация, защото те са единствените, които могат да се променят чрез командния ред в повечето инсталационни пакети.
Приоритети за дефиниране на имоти
Едно от предимствата на използването на командния ред е по-високият приоритет на промените, които прави. Приоритетите за промяна на свойствата по време на инсталирането на пакета са:
- Променливи на средата
- Командна линия
- Административна инсталация (AdminProperties)
- .mst файл за трансформация
- MSI инсталационен пакет
Както можете да видите, само променливите на средата имат приоритет пред командния ред. Същият списък показва друга полза от използването на командния ред - отмяна или добавяне на промени, направени в MST файла.
Възстановяване на инсталационния пакет.
Ако използвате превключвателя '/f' на командния ред, за да възстановите инсталиран пакет, не забравяйте, че в този случай всичкиСвойства се игнорират!
Предаване на свойства към инсталационните пакети
Файловете на Service Pack (.msp) също се обработват отmsiexec.exe и това позволява валидни свойства да бъдат приложени към MSI пакета заедно с актуализациите.
За да приложите актуализацията към административния инсталационен пакет, използвайте следната команда:
Обикновено инсталационните пакети на MSI се разпространяват пакетирани в EXE файл. По правило можете да им предавате публични свойства, но за разлика отmsiexec.exe, трябва да направите това малко по-различно:
Тъй като файлът е изпълним, обадете сеmsiexec.exe не е необходим. Следва незадължителният ключ/s - аналог на ключа/qn за "тиха" инсталация. Този превключвател инструктира да не се показват прозорците за визуализация на Windows Installer (превключвателят/qn служи за същата цел в MSI пакет). И накрая, ключът/v, от който се нуждаем, служи само за предаване на аргументи към MSI пакета. Аргументите са изброени в кавички по ред. След ключа не трябва да има интервали.
Примери за използване на имоти
TARGETDIR=[път]
Указва инсталационната папка за приложението. Освен това при административна инсталация ви позволява да дефинирате папката за мрежово местоположение (където се създава административната точка).
ALLUSERS=[12""]
Указва дали да се инсталира приложението за един (настоящ) потребител или за всички потребители. По подразбиране Windows Installer инсталира приложението за всички потребители на компютъра. Ако свойството ALLUSERS е зададено на1, пакетът ще бъде инсталиран за всички потребители на компютъра; ако стойността е зададено на2, то ще бъде нулирано до стойност нула ("") и приложението ще бъде инсталирано за текущия потребител.
- 1 - инсталация за всички компютърни потребители; Необходими са администраторски права.
- 2 - инсталация само за потребителя, който изпълнява инсталатора.
- "" - инсталиране само за потребителя, който изпълнява инсталатора.
USERNAME=[низ]
Посочете потребителското име по подразбиране.
COMPANYNAME=[низ]
Посочете името на организацията.
Забележка. Последните две свойства имат антиподи:NOUSERNAME иNOCOMPANYNAME. Системният администратор може да използва тези свойства при автоматично инсталиране на приложения. Ако тези свойства са зададени по време на инсталациятастойност1, приложението ще поиска потребителско име и име на фирма при първото стартиране.
P >Въвеждане на лицензния ключ от 25 знака в командния ред на инсталатора или във файла за персонализиране на инсталатора. Ако свойството PIDKEY е зададено, от потребителите не се изисква да импортират продуктов ключ, когато инсталират приложението.
Можете да видите формата за въвеждане на ключ в друго свойствоPIDTemplate.
REBOOT=[низ]
- Force - принудително рестартиране
- Потискане - забавено презареждане
- ReallySuppress - без рестартиране
- Опции на командния ред за Msiexec.exe
- Ръководство за Windows Installer - Свойства (на английски) - Описва свойствата на Windows Installer.
- Msiexec - списък с ключове и свойства - тема на конференцията OSZone, където можете да обсъдите полезни ключове за създаване на добавки / автоматично инсталиране на приложения, базирани на MSI.