मुझे विक्स टूल्स के बारे में ज्यादा जानकारी नहीं है।

मेरे पास एक प्रोजेक्ट है जिसे कई एमएसआई पैकेजों में पैक करने की आवश्यकता है। फाइलों की संख्या लगभग 700 है। मुख्य रूप से आर्किटेक्चर (x86, x64) में प्रत्येक एमएसआई पैकेज और परिवर्तनीय संसाधनों के एक छोटे से सेट (5-10 से अधिक फाइलें नहीं) के बीच का अंतर।

पूर्ण निर्माण में एक घंटे से अधिक समय लगता है। अधिकांश समय light.exe द्वारा लिया जाता है।

क्या इस प्रक्रिया को तेज करने के लिए किसी तरह काम के परिणाम को कैश करना संभव है, क्योंकि प्रत्येक एमएसआई फाइलों के न्यूनतम सेट से भिन्न होता है? शायद मुझे इसे संभव बनाने के लिए फाइलों को एक विशेष तरीके से व्यवस्थित करना चाहिए?

2
Aries 20 मार्च 2021, 14:32

1 उत्तर

आप अपनी साझा की गई फ़ाइलों के लिए एकल कैबिनेट फ़ाइल और फ़ाइलों के अद्वितीय सेट के लिए अलग-अलग कैबिनेट फ़ाइलों को परिभाषित कर सकते हैं। एमएसआई फ़ाइल में केवल चुनिंदा कैबिनेट शामिल करने के लिए परिभाषाओं का उपयोग करके सशर्त संकलन का उपयोग करें।

<Media Id="1" Cabinet="Shared.cab" CompressionLevel="high" VolumeLabel="Shared binaries." EmbedCab="no" />
<Media Id="2" Cabinet="Set1.cab" CompressionLevel="high" VolumeLabel="Unique files 1" EmbedCab="no" />
<Media Id="3" Cabinet="Set2.cab" CompressionLevel="high" VolumeLabel="Unique files 2" EmbedCab="no" />

<File> एलीमेंट पर DiskId="" एट्रिब्यूट को टारगेट कैबिनेट के साथ एक फाइल को जोड़ने के लिए सेट करें।

जब आप अलग-अलग बिल्ड के बीच इनपुट फाइल नहीं बदलते हैं तो लाइट कैश से मौजूदा कैबिनेट का उपयोग करने में सक्षम होना चाहिए।

1
Jozef Izso 20 मार्च 2021, 15:23