मैं एक CustomAction सी # DLL फ़ाइल है कि एक तीसरी पार्टी .NET DLL पर निर्भर करता है बनाना चाहते हैं, के साथ एक WiX कस्टम क्रिया DLL फ़ाइल निष्पादित करने के लिए कैसे (इस विशिष्ट मामले में, यह MySql.Data.dll
है)। मेरे पास सी # कस्टम एक्शन डीएलएल फ़ाइल है जो नीचे दिए गए वाईएक्स खंड के साथ काम कर रही है। मैं सिर्फ यह समझने की कोशिश कर रहा हूं कि कैसे कस्टम कार्रवाई के लिए निर्भरता को सुरक्षित रूप से जोड़ना है। नोट: स्थापित करने के लिए इंस्टॉल किए गए एप्लिकेशन के लिए मुझे वास्तव में इस तृतीय-पक्ष DLL फ़ाइल फ़ाइल की आवश्यकता नहीं है।निर्भरता
<Binary Id="MyCustomAction.dll" SourceFile="MyCustomAction.CA.dll" />
<CustomAction Id="FixupConfigForMysql" Return="check" />
<InstallExecuteSequence>
<Custom Action='FixupConfigForMysql' After='InstallFiles'>NOT Installed</Custom>
</InstallExecuteSequence>
मैं आदेश कस्टम क्रिया को चलाने के लिए प्राप्त करने के लिए तीसरे पक्ष के DLL फ़ाइल (MySql.Data.dll
) स्थापित करने की आवश्यकता है?
क्या मैं तीसरे पक्ष के डीएलएल फ़ाइल के साथ बस एक और बाइनरी टैग जोड़ सकता हूं?
यह केवल काम करने के लिए प्रतीत होता है, संभावित रूप से कस्टम एक्शन बिल्ड प्रक्रिया इन निर्भरताओं को जोड़ने में हैंडल करता है। अगर मैं इसे सही ढंग से समझता हूं, तो वे कस्टम एक्शन बिल्ड द्वारा उत्पन्न .CA.dll का हिस्सा बन जाते हैं। http://blogs.msdn.com/jasongin/archive/2008/05/23/custom-action-project-templates.aspx –
@AdamTegen उस लेख को पोस्ट करने के लिए धन्यवाद, मुझे मेरे सिर को टक्कर देने का एक और सप्ताह बचाया दिवार! महत्वपूर्ण पंक्ति यह थी कि "कस्टम एक्शन बिल्ड प्रक्रिया स्वचालित रूप से किसी भी गैर-जीएसीएड असेंबली को पैकेज करेगी, जिस पर आपका सीए निर्भर करता है" मेरे पास मेरे विकास बॉक्स पर जीएसी में मेरी सभी निर्भर असेंबली थीं और यह पता नहीं लगा कि उन्होंने क्यों नहीं किया ' प्रतीत होता है कि परीक्षण बॉक्स पर मौजूद नहीं है। धन्यवाद! –
दूसरों के लिए एक नोट के रूप में, सुनिश्चित करें कि आपका 'बाइनरी' तत्व '.CA.dll' फ़ाइल को इंगित कर रहा है जो WiX उत्पन्न करता है, न कि मूल .NET DLL – Cocowalla