WiX ծրագրային գործիքների համախումբ
Օգտագործողի ինտերֆեյս ( ՕԻ )
Նախաբան
Նախորդ անգամ մենք իմացանք թե ինչպե՞ս կարելի է նկարագրել այն տարրերը, որոնք մենք ուզում ենք տեղադրել նպատակային համակարգչի վրա: Թեև տեղակայման ընթացքում մենք տեսանք որոշակի ավտոմատացված պարզ տրամաբանություն, այնուամենայնիվ օգտագործողը հնարավորություն չուներ ակտիվորեն ներգործելու տեղակայման ընթացքի վրա: Այսպիսով մեր ուսումնասիրության հերթական թեման կլինի՝ տեղակայման ընթացքի վրա օգտագործողի ակտիվ ներգործելու հնարավորությունները:
Windows Installer տեղակայման ծրագիրը չունի օգտագործողի հետ առնչման սեփական ինտերֆեյս (բացառությամբ մի քանի հաղորդագրության պատուհանների, որոնք օգտագործողին տեղեկացնում են տարբեր սխալների մասին և տեղակայման ընթացքը ցույց տվող պարզագույն պատուհանի): Տեղադրվող փաթեթները պետք է սահմանեն սեփական օգտագործողի ինտերֆեյս, կոմպիլացնել և ընդգրկել այն սեփական .msi ֆայլի մեջ: Չնայած այն բանին, որ դրանից տեղակայվող փաթեթը որոշ չափով ծավալուն է դառնում (օգտագործողի տիպիկ ինտերֆեյսը սկսվում է մոտ 300կբ -ից, թեև նրա չափը կախված է նաև պատկերանշաններից և այլ գրաֆիկական տարրերից), այնուամենայնիվ այն հնարավոր է դարձնում ակտիվորեն ներգործել տեղակայման ընթացքի վռա:
Բավականին դժվար կլիներ մեր համար, եթե օգտագործողի ինտերֆեյսը ստեղծելու լինեինք ինքներս՝ սկզբից: Բարեբախտաբար մենք դրա կարիքը չունենք: WiX ծրագրային գործիքների համախումբը ունի օգտագործողի ստանդարտ ինտերֆեյսների գրադարան, որի հիմքում ընկած են նախապես ստեղծված MSI - SDK ինտերֆեյսները, և որոնք ազատորեն կարելի բեռնավորել: Գրադարանն ապահովում է օգտագործողի ամբողջական ինտերֆեյս տեղադրվող ծրագրային փաթեթների համար՝ ներառնելով այնպիսի ստանդարտ ինտերֆեյսներ, ինչպիսիք են՝
- Արտոնագրի համաձայնագիր,
- Պատվիրատուի մասին ինֆորմացիա,
- Տիպիկ / Ճշգրտմամբ / Ամբողջական տեղադրում,
- Տեղակայման նպատակային ֆայլապանակի ընտրություն,
- Պնակային պահանջների հաշվարկ,
- Ձևափոխել / Վերանորոգել / Հեռացնել և Հետընթացք
Oգտագործողի ինտերֆեյս պատուհանների տեսակներ
«WixUIExtension.dll» գրադարանը (մտնում է WiX ծրագրային գործիքների համախմբի մեջ) ներկայացնում է հինգ տեսակի Oգտագործողի ինտերֆեյս պատուհաններ՝
- WixUI_Mondo – ապահովում է ամբողջական ՕԻ – Ողջույնի պատուհան, Արտոնագրի համաձայնագրի պատուհան, Տեղադրման տեսակի (տիպիկ , ճշգրտմամբ և ամբողջական) ընտրության պատուհան, Պնակի ծավալի արժեքավորման ևնպատակային ֆայլապանակի ընտրության պատուհան: Մենք կօգտագործենք ՕԻ այս տեսակը, երբ մեր արտադրանքիորոշ հատկանիշներ պետք չի լինի տեղակայել լռելյայն, այսինքն տիպիկ Տեղադրման տեսակի և ամբողջական Տեղադրման տեսակի միջև կա բովանդակալից տարբերություն:
- WixUI_FeatureTree - նման է WixUI_Mondo – ին, բայց Տեղադրման տեսակի ընտրության հնարավորություն չի ընձեռնում: ՕԻ – ի այս տեսակը միշտ ենթադրում է Տեղադրում ճշգրտմամբ և Արտոնագրի համաձայնագրի պատուհանից հետո առանց Տեղադրման տեսակի ընտրության երևակվում տեղակայվող մեծությունների ճշգրտման պատուհանը:
- WixUI_InstallDir – օգտագործողին թույլ է տալիս կատարել նպատակային ֆայլապանակի ընտրություն, առանց այլ հատկանիշների փոփոխման հնարավորության: Նպատակային ֆայլապանակի ընտրությունից անմիջապես հետո սկսվում է ավտոմատ տեղակայումը: Այս ՕԻ–ը հարմար է օգտագործել երբ ծրագիրը տեղակայման ընթացքում փոփոխման ենթակա լրացուցիչ հատկություններ չունի:
- WixUI_Minimal – ներկայացնում է պարզագույն ՕԻ միակ առնչման պատուհանով, որտեղ համատեղված են Ողջույնի և Արտոնագրի համաձայնագրի պատուհանները: Որից հետո անմիջապես սկսվում է ավտոմատ տեղակայումը: Այս ՕԻ – ը հարմար է օգտագործել երբ ծրագիրը տեղակայման ընթացքում փոփոխման ենթակա լրացուցիչ հատկություններ չունի ևնպատակային ֆայլապանակի ընտրության կարիք չկա:
- WixUI_Advanced շատ նման է WixUI_Minimal -ին, այն առաջարկում է պարզ, միակտտոց տեղադրում, միաժամանակ օգտագործողին հնարավորություն տալով փոփոխել որոշակի հատկություններ և ֆայլապանակներ, եթե նա ցանկանում է դա անել:
Oգտագործողի ինտերֆեյս պատուհանների օգտագործումը
Որպեսզի ակտիվացնենք օրինակի համար՝ WixUI_Mondo օգտագործողի ինտերֆեյսը , մենք ընդամենը ստիպված կլինենք ավելացնել երկու տող՝
<UIRef Id=”WixUI_Mondo” />
<UIRef Id=”WixUI_ErrorProgressText” />
և իհարկե, VS-ի տեղակայման նախագծի վրա մկնիկի աջ կտտոցից բացված կոնտեքստային ցանկից ընտրելով “Add reference” հրահանգը, բացված պատուհանի օգնությամբ նախագծին տեղեկացնում ենք «WixUIExtension.dll» գրադարանի մասին (ավելացնելով նրա հղումը):
<UIRef Id=”WixUI_Mondo” /> հղումը WiX համակարգին տեղեկացնում է, որ օգտագործվելու է WixUI_Mondo տիպի ՕԻ – ը: Առանց երկրորդ հղման տեղակայվող փաթեթը ավելի փոքր կլինի, կօգտագործվեն սեղմ հաղորդագրություններ:
Այս երկու հղումները ամբողջականացնելու համար մեզ անհրաժեշտ կլինի ավելացնել ևս մեկ տող՝
<Property Id="WIXUI_INSTALLDIR" Value="TOP_LEVEL_DIR" />
Այսպիսով մեր նախորդ օրինակին ավելացնելով այս երեք նոր տողերը մենք դրանով իսկ ապահոված կլինենք ամբողջական ՕԻ:
WiX նախագծի վրա մկնիկի աջ կտտոցից բացված կոնտեքստային ցանկից ընտրում ենք Build կամ Rebuild: Նախագծի կառուցումը պետք է որ ընթանա առանց սխալների ևWiX նախագծի ելքում կունենանք SimpleSampleWix.msi Windows տեղակայվող տվյալների բազան: Այն կարելի է գործարկել նպատակային համակարգչի վրա:
Ելնելով մեր խնդրի առանձնահատկություններից, մենք կարող ենք ճշգրտել որոշ տեսողական կամ այլ տվյալներ պարզապես փոխարինելով դրանք նորերով՝
<WixVariable Id="WixUILicenseRtf" Value="path\License.rtf" />
<WixVariable Id="WixUIBannerBmp" Value="path\banner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="path\dialog.bmp" />
<WixVariable Id="WixUIExclamationIco" Value="path\exclamation.ico" />
<WixVariable Id="WixUIInfoIco" Value="path\information.ico" />
<WixVariable Id="WixUINewIco" Value="path\new.ico" />
<WixVariable Id="WixUIUpIco" Value="path\up.ico" />
- WixUILicenseRtf – նախընտրելի է ստեղծել պարզագույն խմբագրիչով (օրինակ Wordpad),
- WixUIBannerBmp (չափը՝ 500×63 պիկսել) - այս նկարը երևալու է բոլոր պատուհանների վերևի մասում՝ բացի առաջին պատուհանից,
- WixUIDialogBmp (չափը՝ 500×314 պիկսել) - այս նկարը երևալու է առաջին էջում,
- WixUIExclamationIco - Բացականչական նշանի պատկերանշաննը,
- WixUIInfoIco – ինֆորմացիոն նշանի պատկերանշաննը,
- WixUINewIco – Նոր ֆայլապանակի պատկերանշաննը,
- WixUIUpIco – ծնող ֆայլապանակի պատկերանշաննը
(Շարունակելի)
2 Trackbacks
[...] LinkGard Software Blog in Armenian Skip to content Մեր Մասին « WiX Ծրագրային Գործիքների Համախումբ: Մաս 1 WiX Ծրագրային Գործիքների Համախումբ: Մաս 3 » [...]
[...] LinkGard Software Blog in Armenian Skip to content Մեր Մասին « WiX Ծրագրային Գործիքների Համախումբ: Մաս 3 [...]