2012-05-31 12 views
5

मैं अपने प्रोग्राम को तैनात करने के लिए नवीनतम inno सेटअप का उपयोग करने की कोशिश कर रहा हूं। ऐसा लगता है कि मैं प्रोग्राम प्रोग्राम फ़ोल्डर में अपने प्रोग्राम को स्थापित करने के लिए (और अनुशंसित नहीं) कर सकता हूं क्योंकि यह उन प्रतिबंधों के कारण है (उदाहरण के लिए मेरे प्रोग्राम को प्रोग्राम के उस हिस्से का उपयोग करके समस्या होगी जो डेटाबेस को संशोधित करता है, जब तक कि यह शुरू नहीं हो जाता एक व्यवस्थापक)। मैंने कहीं पढ़ा है कि हमें CSIDL_APPDATA पर हमारे प्रोग्राम को स्थापित करने के लिए inno सेटअप से पूछना चाहिए, लेकिन मैं वास्तव में inno सेटअप के साथ अच्छी तरह से ज्ञात नहीं हूँ। मैं इनो सेटअप का उपयोग करके ऐसा कैसे करूं?सभी उपयोगकर्ताओं के लिए एक एप्लिकेशन और डेटाबेस स्थापित करें

+3

शायद आप जो भी पढ़ते हैं उसे गलत समझा और वास्तव में यह आपके डेटा फ़ाइलों को CSIDL_APPDATA और प्रोग्राम प्रोग्राम में आपके प्रोग्राम को तैनात करने का सुझाव दे रहा है। –

उत्तर

9

एप्लिकेशन को {pf} (प्रोग्राम फ़ाइलें) के नीचे एक फ़ोल्डर में स्थापित किया जाना चाहिए। आवेदन डेटा (या डेटाबेस) हालांकि {commonappdata} के नीचे एक फ़ोल्डर में जाना चाहिए। यदि डेटाबेस को सामान्य उपयोगकर्ताओं द्वारा संशोधित किया जाना है, तो आपको इस फ़ोल्डर पर अनुमतियां सेट करने की आवश्यकता होगी (Permissions पैरामीटर का उपयोग करके)। यदि यह उपयोगकर्ता विशिष्ट है, तो वे डिफ़ॉल्ट को उपयोगकर्ता के एपडाटा फ़ोल्डर में कॉपी कर सकते हैं और उसे संशोधित कर सकते हैं।

[Dirs] 
Name: {commonappdata}\i-Catcher Console; permissions: everyone-modify admins-full; 

जटिलता उस एक्सेस एप्लिकेशन का उपयोग करते समय आती है जिसमें यूआई डेटाबेस में ही बनाया गया है। इस मामले में दोनों स्थान एक दूसरे के रूप में उतने ही खराब हैं ({commonappdata}/blah मार्जिनली बेहतर है) लेकिन आपको अनुमतियों को उचित के रूप में सेट करने की आवश्यकता होगी।

+0

लेकिन यदि मैं डेटाबेस और एप्लिकेशन को विभिन्न फ़ोल्डर में डालता हूं, तो यह मेरे सी # कोड में समस्याएं पैदा करेगा क्योंकि मैं केवल स्ट्रिंग connString = "डेटा स्रोत = recipes.db" का उपयोग करता हूं; जिसका मतलब है कि recipes.db को मुख्य निष्पादन योग्य के रूप में उसी फ़ोल्डर में रहना चाहिए, नहीं? – imin

+0

वैसे भी विभिन्न परिस्थितियों में विफल हो जाएगा। आपको एप्लिकेशन डेटा फ़ोल्डर निर्धारित करने और पूरी तरह से योग्य पथ का उपयोग करने के लिए इसे ठीक करना चाहिए। – Deanna

+1

emmm .. मैं C# में ऐसा कैसे करूं? मेरा मतलब है स्ट्रिंग connString = "डेटा स्रोत =" + installfolder + "recipes.db" – imin

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

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