2012-01-18 8 views
12

Inno Setup FAQ में मेरे सॉफ़्टवेयर में फ़ाइल प्रकार को असाइन करने का एक उदाहरण है। रजिस्ट्री से निपटना कोई समस्या नहीं है।इनो सेटअप वैकल्पिक (उपयोगकर्ता-चयन योग्य) फ़ाइल एसोसिएशन

लेकिन मैं उपयोगकर्ता को का विकल्प कैसे प्रदान कर सकता हूं जो फ़ाइल प्रकार जिन्हें वह असाइन करना चाहता है? मान लीजिए, मैंने टेक्स्ट फाइलों के लिए एक साधारण संपादक लिखा है और पूछना चाहता हूं कि क्या उपयोगकर्ता मेरे प्रोग्राम के साथ .txt और/या .nfo असाइन करना चाहता है या नहीं। चेकबॉक्स के साथ एक सेटअप पेज प्रतिभाशाली होगा।

इनो सेटअप के साथ ऐसा कैसे करें?

उत्तर

17

सेटअप में 'कार्य' जोड़ें, और इस कार्य के साथ अपनी फ़ाइल एसोसिएशन की प्रत्येक रजिस्ट्री प्रविष्टियों को संबद्ध करें। उदाहरण के लिए:

[Tasks] 
Name: mypAssociation; Description: "Associate ""myp"" extension"; GroupDescription: File extensions: 

[Registry] 
Root: HKCR; Subkey: ".myp"; ValueType: string; ValueName: ""; ValueData: "MyProgramFile"; Flags: uninsdeletevalue; Tasks: mypAssociation 
Root: HKCR; Subkey: "MyProgramFile"; ValueType: string; ValueName: ""; ValueData: "My Program File"; Flags: uninsdeletekey; Tasks: mypAssociation 
... 


'कार्य' here के दस्तावेज़ देखें।

+0

अद्भुत :-) धन्यवाद – 0xDEADBEEF

+0

यह मेरे लिए भी बेकार ढंग से काम करता है, धन्यवाद! :) – Kaitlyn

0

[कार्य] अनुभाग का उपयोग करके इनो सेटअप में अपने एप्लिकेशन के साथ फ़ाइलों को जोड़ने का सबसे आसान तरीका @Sertac ने कहा है। फिर उस एक्सटेंशन के विवरण को भरना चाहिए जिसे आप [रजिस्ट्री] सेक्शन में जोड़ना चाहते हैं। इस बारे में अधिक जानकारी के लिए Inno Setup FAQ page देखें।

+1

आपका लिंक किसी भी तरह टूटा हुआ है। लेकिन आप शायद ['यह एफएक्यू टिप '] (http://www.jrsoftware.org/isfaq.php#assoc) से थे, जिसमें से सर्कैक ने पहले ही अपने जवाब में केवल एक हिस्सा दिखाया था (इसलिए नीचे' ...' है उनके कोड उदाहरण के)। तो, आपका जवाब वास्तव में इस धागे के लिए कुछ भी नहीं जोड़ता है। हालांकि, उस एफएक्यू के लिंक के साथ एक टिप्पणी छोड़ना उपयोगी हो सकता है और उल्लेख करने लायक होगा। – TLama

+0

हाय @TLama, हाँ, आप लिंक के बारे में सही थे। मैंने इसे सही कर दिया है। मुझे यह FAQ अक्सर पूछे जाने वाले प्रश्नों के लिए उपयोगी लगता है, क्योंकि यह बताता है कि [रजिस्ट्री] अनुभाग में ये सभी लिंक क्या हैं। –

1

आपने एक पिछले जवाब में InnoSetup में फ़ाइल संघ बारे में कुछ जानकारी पा सकते हैं: Stackoverflow - Inno setup file association

और यहाँ, हम आदेश सिर्फ में तर्क पार्स करने से, .net कार्यक्रम में इस फाइल को संघ का उपयोग करने के लिए एक उदाहरण मिल सकते हैं मुख्य विधि: Stackoverflow - Associate a file extension with WPF application

+1

ठीक है, यहां तक ​​कि ओपी जानता है कि एसोसिएशन को स्वयं कैसे बनाया जाए (इस प्रश्न की पहली वाक्य देखें)। यहां सवाल यह था कि इस संगठन को किसी तरह से सशर्त बनाने के लिए कैसे किया जाए। यही कारण है कि सर्टैक ने '[कार्य]' अनुभाग का उपयोग करने का सुझाव दिया और उस एफएक्यू से लिपि को छोटा कर दिया (जिसे ओपी ने उनके प्रश्न में उल्लिखित किया)। तो यह वास्तव में * थ्रेड * के लिए कुछ भी नहीं जोड़ता है। – TLama