2013-05-10 4 views
5

हम अपने वेब प्रोजेक्ट इंस्टॉलर के लिए फ़ाइल बनाने के लिए HEAT का उपयोग करते हैं। मैं जानना चाहता हूं कि कोई तरीका है कि मैं संकलन में फ़ाइल शामिल कर सकता हूं, लेकिन परियोजना में शामिल नहीं है।क्या आप एक मौजूदा फ़ाइल के रूप में इसे जोड़ने के बिना एक जेनरेट फ़ाइल में एक जेनरेट फ़ाइल शामिल कर सकते हैं

कारण मुझे इसकी आवश्यकता है, मैं अपने स्रोत नियंत्रण में फ़ाइल को जांचना नहीं चाहता हूं, लेकिन जब हम wixproj बनाते हैं तो इसे बनाते हैं। अन्यथा हमें परियोजना को विश्वसनीय रूप से बनाने के लिए फ़ाइल को हाइजैक/चेकआउट करना होगा।

उत्तर

5

यदि आप एमएसबील्ड और एक .wixproj का उपयोग अपने .MSI बनाने के लिए कर रहे हैं तो आपको HEAT से आउटपुट प्राप्त करने की आवश्यकता होगी। Wixproj में Compile आइटम में सूचीबद्ध किया जाना चाहिए। अगर फ़ाइल शामिल नहीं है तो इसे अंतिम .MSI में संकलित नहीं किया जाएगा।

सौभाग्य से, एमएसबिल्ड आइटम को गतिशील रूप से शामिल करने के लिए कुछ विकल्प प्रदान करता है। उदाहरण के लिए, यदि आप अपने .wixproj कि HEAT अब चलाता है और उत्पादन

<Target Name='RunHeat'> 
    <Exec Command='heat.exe param param param -o path\to\output.wxs' /> 
    <ItemGroup> 
     <Compile Include='path\to\output.wxs' /> 
    </ItemGroup> 
</Target> 

कहते हैं में एक कस्टम लक्ष्य हो सकता है अगर आप wix.targets में तो RunHeat में उत्पन्न Compile आइटम Compile लक्ष्य से पहले चलाने के लिए RunHeat लक्ष्य प्राप्त होगा Compile लक्ष्य में शामिल किया जाना चाहिए। एमएसबिल्ड की लचीलापन को देखते हुए शायद इस कार्य को पूरा करने के लिए एक दर्जन अन्य तरीके हैं।

आशा है कि मदद करता है और शुभकामनाएँ!

+1

इसके अलावा ओएमजी ने स्वयं ही मेरे प्रश्न का उत्तर दिया;) – Spence

+0

मैंने वहां एक और आदेश छोड़ा था जो फ़ाइल को उपस्थित होने के लिए मजबूर कर रहा था – Spence

संबंधित मुद्दे