के साथ एक प्रोजेक्ट में इंस्टॉलशील्ड सेटअप मेरे पास एक सी # क्लास लाइब्रेरी है जो संदर्भ System.Data.SQLite (from nuget) है। इस बिल्ड के बाद मेरे बिन फ़ोल्डर की संरचना है:विजुअल स्टूडियो - System.Data.SQLite
- MyProject.dll
- System.Data.SQLite.dll
- 86/SQLite.Interop.dll
- 64/SQLite.Interop .dll
System.Data.SQLite
SQLite.Interop
चलाने के लिए की जरूरत है और सही dll रन टाइम पर पाया जाता है। हालांकि, जब मैं इंस्टॉलशील्ड के साथ सेटअप उत्पन्न करता हूं जिसमें प्रोजेक्ट प्राथमिक आउटपुट शामिल है, x86 और x64 फ़ोल्डर्स कॉपी नहीं किए जाते हैं और मेरा एप्लिकेशन चलाने में विफल रहता है।
प्राथमिक आउटपुट में x86 और x64 फ़ोल्डरों को शामिल करने के लिए विजुअल स्टूडियो को मजबूर करने का कोई तरीका है?
किसी भी तरह से रिश्तेदार पथ के साथ InstallShield में मैन्युअल रूप से फ़ोल्डर्स शामिल करने के लिए नहीं है?
मेरे पर्यावरण:
- Visual Studio 2012 प्रोफेशनल
- स्थापित करें शील्ड 2013 सीमित संस्करण (मुक्त)
- System.Data.SQLite 1.0.96
प्राथमिक आउटपुट की बजाय निर्भरता की तरह ध्वनि, लेकिन याद रखें कि उत्पादन समूह नियंत्रण के बजाय सुविधा के लिए हैं। अगर आप अपने सेटअप का पूर्ण नियंत्रण चाहते हैं, तो आप फ़ाइलों को स्थिर रूप से चुनने से बेहतर हैं। –
दुर्भाग्यवश, x64 और x86 फ़ोल्डरों को Nuget पैकेज द्वारा प्रबंधित किया जाता है, इसलिए मुझे मिला एकमात्र तरीका एक पूर्ण पथ का उपयोग करना है। यह काम करता है, लेकिन प्रत्येक डेवलपर को अपने कंप्यूटर में इसे कॉन्फ़िगर करना होगा। अगर मैं एक सापेक्ष पथ का उपयोग कर सकता हूं तो अच्छा होगा लेकिन मुझे नहीं मिला कि मुफ्त संस्करण के साथ कैसे। – Rafael
@ राफेल बस इतना आप जानते हैं। आप 'c: \ yourpath \ packages \ System.Data.SQLite.Core.1.0.94.0 \ build \ net40 \ x86 \ SQLite.Interop.dll' से' <ISProjectFolder> पर setup.isl फ़ाइल में मैन्युअल रूप से बदल सकते हैं। \ packages \ System.Data.SQLite.Core.1.0.94.0 \ build \ net40 \ x86 \ SQLite.Interop.dll' (या जहां कहीं भी आपके SQLite.Interop स्थित है) – Markus