पाठ का रंग Wix संवादों में बदलना




windows-installer installer (2)

आपके उत्तर के लिए धन्यवाद। मैं इसे Wix SDK के सोर्स कोड में गोइन द्वारा प्रबंधित करने में सक्षम था और जाँच की थी कि ईद के कौन से तत्व हैं जिन्हें मैं अनुकूलित करना चाहता था। स्थानीयकरण फ़ाइल (.wxl) और भी Product.wix में स्ट्रिंग को अनुकूलित किया।

मैं Wix का उपयोग करके इंस्टॉलर बनाने के लिए नया हूं, मैं इसे पूरा करने में कामयाब रहा और इंस्टॉलर अपेक्षा के अनुसार काम कर रहा है। एकमात्र समस्या यह है कि मैं WixUI_Minimal संवादों के लिए पृष्ठभूमि और बैनर छवि का उपयोग कर रहा हूं और ये गहरे रंग के चित्र हैं, इसलिए पाठ का रंग काला होने के बाद से कुछ पाठ अब दिखाई दे रहे हैं।

मैं यह जानना चाहूंगा कि प्रत्येक संवाद पर पाठ रंग को दूसरे रंग में कैसे बदला जाए, यह जरूरतों पर निर्भर करता है। पहली स्क्रीन में जहां लाइसेंस एग्रीमेंट है, मैं चाहता हूं कि यह नारंगी हो और शीर्ष बैनर में स्थापना प्रक्रिया में मैं चाहता हूं कि यह सफेद हो। इसे कैसे प्राप्त किया जा सकता है ?


WiX डिफ़ॉल्ट GUI- समूह : डिफ़ॉल्ट WiX MSI GUIs DLL WixUIExtension.dll से शामिल किए गए हैं। आम तौर पर आप बस अपने वाईएक्स प्रोजेक्ट में इस फाइल का एक संदर्भ जोड़ते हैं और एक डिफ़ॉल्ट <UIRef Id="WixUI_Mondo" /> जीयूआई सेट करते हैं जैसे कि <UIRef Id="WixUI_Mondo" /> या <UIRef Id="WixUI_Minimal" /> - और यह काफी अच्छा है। WixUIExtension.dll फ़ाइल को मुख्य WiX इंस्टॉलेशन डायरेक्टरी में % ProgramFiles (X86)% के तहत पाया जा सकता है।

1) बिल्ट-इन वाईएक्स डायलॉग कस्टमाइज़ेशन : इन वाईएक्स सेटअप संवादों को थोड़ा बदलने के कुछ तरीके हैं। समग्र विधि यहाँ वर्णित है: निर्मित WixUI संवाद सेट को अनुकूलित करना । मुझे लगता है कि यह आपके उद्देश्य के लिए पर्याप्त होना चाहिए। संभव ट्विक्स: 1) उत्पाद-विशिष्ट लाइसेंस अनुबंध फ़ाइल निर्दिष्ट करना। 2) उत्पाद-विशिष्ट सेटअप UI बिटमैप निर्दिष्ट करना। 3) ExitDlg में एक वैकल्पिक चेकबॉक्स और वैकल्पिक पाठ जोड़ना। 4) अंतर्निहित संवादों में प्रदर्शित पाठ को अनुकूलित करना। 5) निर्मित संवाद सेट के यूआई अनुक्रम को बदलना। 6) एक निर्मित संवाद सेट में एक कस्टम संवाद सम्मिलित करना।

2) डिफ़ॉल्ट संवाद बदलें - उन्नत संवाद : ऊपर वर्णित विधि से संवादों को थोड़ा अनुकूलित करने से परे, आपको कभी-कभी बड़े पैमाने पर परिवर्तनों की आवश्यकता होती है। फिर आपको संवाद स्रोत फ़ाइलों को अपने प्रोजेक्ट फ़ोल्डर में कॉपी करने की आवश्यकता है, और फिर उनकी आवश्यकताओं के लिए उन्हें अनुमति दें। यह कुछ हद तक शामिल है, लेकिन रॉकेट विज्ञान नहीं है। आप बस अपने प्रोजेक्ट फ़ोल्डर में वाईएक्स संवाद स्रोत फ़ाइलों को कॉपी करें । मुझे नहीं लगता कि यह आपके उद्देश्य के लिए आवश्यक है। मैं एक लिंक खोदने की कोशिश करूंगा जो प्रक्रिया का वर्णन करता है।

3) बाहरी जीयूआई : केवल रिकॉर्ड के लिए, इस तथ्य का एक उल्लेख है कि आप MsiSetExternalUI फ़ंक्शन के माध्यम से अपने खुद के साथ अंतर्निहित MSI GUI को प्रभावी ढंग से बदल सकते हैं। WiX बूटस्ट्रैपर इसका उपयोग उपयोगकर्ताओं को अपने स्वयं के सेटअप GUI को लागू करने की अनुमति देने के लिए करता है।

सुझाया दृष्टिकोण : आपके उद्देश्य के लिए, मैं आपकी परियोजना में एक स्थानीयकरण फ़ाइल जोड़ूंगा (जब तक कि आपके पास पहले से कोई नहीं है): Right Click WiX Project => Add => New Item... => सुनिश्चित करें कि बाएं फलक में WiX 3 का चयन किया गया है। => Double click "Localization File" । वाईएक्स स्थानीयकरण फ़ाइल में, उस स्ट्रिंग को ओवरराइड करें जिसे आप ओवरराइड करना चाहते हैं। यहाँ WelcomeEulaDlg's है आपके नए *.wxl लोकलाइज़ेशन फ़ाइल ( *.wxl ) में निर्दिष्ट WelcomeEulaDlg's "Title" स्ट्रिंग:

<String Id="WelcomeEulaDlgTitle">{\Test}This is my custom string3!</String>

आपकी परियोजना फ़ाइल में:

<UI>
  <UIRef Id="WixUI_Minimal" />
  <TextStyle Id="Test" FaceName="Arial" Blue="255" Size="12" Strike="yes" />
</UI>

रंग सेट करने के लिए सुराग TextStyle element । आप अपने इच्छित रंग को पाने के लिए Red , Blue और Green विशेषताओं में हेरफेर करते हैं। विचाराधीन संवाद WelcomeEulaDlgTitle गिट रिपॉजिटरी में यहां पाया जा सकता है: WelcomeEulaDlgTitle । फिर आप TextStyle का संदर्भ लेते हैं - इस मामले में टेस्ट - आपके स्थानीयकृत स्ट्रिंग में, इस अजीब संकेतन का उपयोग करते हुए: {\Test} । ऊपर स्ट्रिंग देखें। अद्यतन करें और उपयुक्त के रूप में TextStyle पहचानकर्ताओं को जोड़ें। यहाँ एक बार संकलित किया गया वास्तविक संवाद है:

सुविधा के लिए :

उपरोक्त लिखने के बाद यह पाया गया, यह अनिवार्य रूप से स्क्रीनशॉट के बिना अधिक कॉम्पैक्ट रूप में समान है: मानक विक्स संवाद में पाठ को अनुकूलित करना