Кіріспе

Microsoft Windows компоненті Windows Installer (msiexec.exe, бұрын Microsoft Installer деп белгілі, коды Darwin) – бағдарламалық жасақтаманы орнату, күтіп ұстау және жою үшін қолданылатын Microsoft Windows бағдарламалық компоненті және қолданбалы бағдарламалау интерфейсі (API). Орнату туралы ақпарат, және қажет болған жағдайда файлдардың өзі, орнату пакеттерінде жинақталады. Бұл пакеттер COM Structured Storages ретінде құрылымдалған, бос байланысты деректер базалары болып табылады және әдетте файл атауының кеңейтілімінен таныс "MSI файлдары" деп аталады. Файл кеңейтімі mst болатын пакеттер Windows Installer "Трансформациялық скрипттерін", msm кеңейтімі бар пакеттер "Біріктірілген модульдерді", ал pcp файл кеңейтімі "Жама жасау қасиеттерін" қамтиды. Windows Installer өзінің алдыңғы нұсқасы Setup API-ден маңызды өзгерістерді қамтиды. Жаңа мүмкіндіктерге графикалық интерфейс және орнатудан жою тізбегін автоматты түрде жасау кіреді. Windows Installer InstallShield және NSIS-тің ескі нұсқалары сияқты жеке орындалатын орнатушы құралдарына балама ретінде ұсынылады. Microsoft Store (бұрын Windows Store деп аталған) енгізілгенге дейін Microsoft үшінші тараптарды Windows Installer-ді орнату құралдарының негізі ретінде пайдалануға ынталандырды, осылайша олар басқа орнатушылармен үйлесімді жұмыс істеп, орнатылған өнімдердің ішкі деректер базасын дұрыс сақтауға мүмкіндік берді. Қайтару және нұсқаларды басқару сияқты маңызды мүмкіндіктердің жұмысы сенімді болуы үшін біртұтас ішкі деректер базасына тәуелді. Сонымен қатар, Windows Installer артық құқықтары жоқ пайдаланушылар үшін бағдарламалық жасақтаманы орнатуды делдалдық ету арқылы ең аз құқықтар принципін қолдануға көмектеседі.

Пакеттердің логикалық құрылымы

Пакет бір немесе бірнеше толық өнімді орнатуды сипаттайды және GUID арқылы біраудар анықталады. Өнім компоненттерден тұрады, олар мүмкіндіктерге топтастырылған. Windows Installer өнімдер арасындағы тәуелділіктерді басқармайды.

Өнімдер

Бір, орнатылған, жұмыс істейтін бағдарлама (немесе бағдарламалар жиынтығы) – өнім. Өнім бірегей GUID (ProductCode қасиеті) арқылы анықталады, ол әлем бойынша сенімді идентификацияны қамтамасыз етеді. GUID, нұсқа нөмірімен (ProductVersion қасиеті) бірігіп, өнім файлдарын және тізілім кілттерін басқаруға мүмкіндік береді. Пакетке пакет логикасы және пакеттің орындалу кезіндегі жұмысын анықтайтын басқа да метадеректер кіреді. Мысалы, өнімдегі EXE файлының өзгеруі шығарылымды басқару үшін ProductCode немесе ProductVersion-ды өзгертуді қажет етуі мүмкін. Дегенмен, тек іске қосу шартын өзгерту немесе қосу (өнім бұрынғы нұсқасымен толықтай сәйкес болған жағдайда) MSI файлының шығарылуын басқару үшін PackageCode-ты өзгертуді талап етеді.

Ерекшеліктері

Ерекшелік – компоненттердің иерархиялық тобы. Ерекшелікте кез келген санында компоненттер мен басқа да кіші ерекшеліктер болуы мүмкін. Шағын пакеттер бір ғана ерекшеліктен тұруы мүмкін. Күрделі орнату бағдарламалары «қосымша орнату» диалогтік терезесін көрсетуі мүмкін, онда пайдаланушы қандай ерекшеліктерді орнату немесе жою керектігін таңдай алады. Өнімнің ерекшеліктерін пакетті жасаушы анықтайды. Мысалы, мәтін өңдегіш бағдарламаның негізгі файлы мен көмекші файлдарын, қосымша орфографиялық тексеруші және кеңселік үлгілерді әртүрлі ерекшеліктерге орналастыруы мүмкін.

Құралымдары

Компонент – өнімнің негізгі бірлігі. Windows Installer әрбір компонентті жеке бірлік ретінде қарастырады. Орнатушы компоненттің бір бөлігін орната алмайды. Компоненттер бағдарламалық файлдарды, папкаларды, COM компоненттерін, тіркелім кілттерін және тұқырылымдарды (shortcuts) қамтуы мүмкін. Пайдаланушы компоненттермен тікелей байланыс жасамайды. Компоненттер GUID арқылы бірегей анықталады, сондықтан бір компонентті бір пакеттің бірнеше мүмкіндіктері немесе бірнеше пакет арасында, мүмкіндігінше, біріктіру модульдерін пайдалану арқылы бөлісуге болады.

Негізгі жолдар

Кілт жолы – пакет авторы белгілі бір компонент үшін маңызды деп анықтаған нақты файл, тізілім кілті немесе ODBC дерек көзі. Файл кілт жолының ең көп кездесетін түрі болғандықтан, «кілт файлы» термині жиі қолданылады. Компонентте бір кілт жолынан артық болмайды; егер компонентте кілт жолы көрсетілмесе, компоненттің орналастыру бумасы кілт жолы ретінде қарастырылады. MSI негізіндегі бағдарлама іске қосылғанда, Windows Installer кілт жолдарының болуын тексереді. Егер қазіргі жүйе күйі мен MSI пакетінде көрсетілген мән арасында қарама-қайшылық болса (мысалы, кілт файлы жоқ болса), тиісті мүмкіндік қайта орнатылады. Бұл процесс өзін-өзі қалпына келтіру немесе өзін-өзі жөндеу деп аталады. Екі компонент бірдей кілт жолын пайдаланбауы керек.

Орнату пакетін әзірлеу

Жаңа қосымша үшін орнату пакетін жасау оңай емес. Қай файлдарды орнату керектігін, қай жерге және қандай тіркелім кілттерімен орнату керектігін нақты көрсету қажет. Стандартты емес операцияларды әдетте DLL-де жасалған арнайы әрекеттер арқылы орындауға болады. MSI пакеттерін жасауға көмектесетін көптеген коммерциялық және тегін өнімдер бар, олардың ішінде Visual Studio (VS 2010-ға дейін, жаңа VS нұсқаларында кеңейтумен), InstallShield және WiX. Пайдаланушы интерфейсі мен мінез-құлқының орнату барысын, бақылаусыз орнату сияқты сирек кездесетін жағдайлар үшін әртүрлі деңгейде конфигурациялануы мүмкін. Дайындалғаннан кейін, орнату пакеті әзірлеушінің жеке компьютерінен нұсқаулар мен файлдарды оқып, msi файлын құрастырып, "компиляцияланады". Орнатудың басында көрсетілетін пайдаланушы интерфейсін (әңгімелік терезелерді) орнатушыны жасап дамытатын инженер өзгерте немесе конфигурациялай алады. Әңгімелік терезелердің тізбегіне орналастырылатын батырмалар, мәтіндік өрістер және жазбалардың шектеулі жиынтығы бар. Орнату пакеті "бақылаусыз орнату" деп аталатын кез келген пайдаланушы интерфейсіз жұмыс істей алуы керек.

Нұсқалар

Windows 95-ке қосылған нұсқасы, Windows 98, Windows NT 4.0 1.2, Windows Me 2.0, Windows XP RTM, SP1, Windows 2000 SP3, SP4, Windows Server 2003 RTM, Windows 9x, Windows NT 4.0, Windows 2000 3.0, Windows XP SP2, Windows 2000 кем дегенде SP3 нұсқасы, Windows XP, Windows Server 2003 3.1, Windows XP SP3, Windows Server 2003 SP1, SP2, Windows XP Professional x64 Edition, Windows 2000 кем дегенде SP3 нұсқасы, Windows XP, Windows Server 2003 4.0, Windows Vista RTM, SP1, Windows Server 2008 RTM 4.5, Windows Vista SP2, Windows Server 2008 SP2, Windows XP кем дегенде SP2 нұсқасы, Windows Server 2003 кем дегенде SP1 нұсқасы, Windows XP Professional x64 Edition, Windows Vista, Windows Server 2008 5.0, Windows 7 және одан кейінгі нұсқалары, Windows Server 2008 R2 және одан кейінгі нұсқалары.