Използване на ключове и свойства на Windows Installer

Посетители: 48247 Преглеждания: 74282 (днес 0)Шрифт:

опции на командния ред на 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.

windows

Имотите се разделят на:

Пълният списък с имоти е публикуван на тази страница.

Публичните и ограничените публични свойства са най-интересни за автоматизация, защото те са единствените, които могат да се променят чрез командния ред в повечето инсталационни пакети.

Приоритети за дефиниране на имоти

Едно от предимствата на използването на командния ред е по-високият приоритет на промените, които прави. Приоритетите за промяна на свойствата по време на инсталирането на пакета са:

  1. Променливи на средата
  2. Командна линия
  3. Административна инсталация (AdminProperties)
  4. .mst файл за трансформация
  5. 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.