2012-06-12 17 views
11

मेरे पास एक क्लिकऑन एप्लिकेशन है, और मुझे इसके लिए यूआरएल पैरामीटर पास करने की क्षमता की आवश्यकता है। उदाहरण के लिए, उपयोगकर्ता "http://foo.bar/MyApp.application?flavor=grape" फ़ॉर्म के यूआरएल पर क्लिक कर सकता है, और यह मेरे आवेदन को लॉन्च करेगा, इसे "? स्वाद = अंगूर" क्वेरी पास कर देगा।किसी भी ब्राउज़र में किसी क्लिकऑन एप्लिकेशन पर यूआरएल पैरामीटर पास करना

दुर्भाग्य से, ऐसा लगता है कि यह केवल आईई में बॉक्स के बाहर काम करता है। फ़ायरफ़ॉक्स और क्रोम पर, उपयोगकर्ता को क्लिकऑन परिनियोजन कार्य करने के लिए एड-ऑन इंस्टॉल करना होगा। मेरे उपयोगकर्ता एक प्रतिबंधित कॉर्पोरेट वातावरण में काम करते हैं, और किसी भी ऐड-ऑन, या उस मामले के लिए कुछ और स्थापित करने की अनुमति नहीं है (हालांकि क्लिकऑन उनके लिए काम करता है)। तो मैं क्या करूं ?

एक हैक जो मैं सोच सकता हूं कि मेरे एप्लिकेशन को फ़ाइल हैंडलर के रूप में कुछ पर्याप्त अद्वितीय फ़ाइल एक्सटेंशन, जैसे ".bugmaster" के लिए पंजीकृत कर रहा है। फिर - या तो मेरा सिद्धांत चला गया - मैं अपना वेबसर्वर "flavor_grape.bugmaster" नाम की एक फ़ाइल उत्पन्न कर सकता था; उपयोगकर्ता उस फ़ाइल को इंगित करने वाले यूआरएल पर क्लिक करेगा, फिर "सेव" के बजाए "रन" चुनें, और यह मेरा एप्लीकेशन लॉन्च करेगा, फिर यूआरएल पैरामीटर के लिए फाइलनाम का विश्लेषण करेगा। दुर्भाग्यवश, यह दृष्टिकोण या तो काम नहीं करता है। स्थानीय फाइल सिस्टम से "flavor_grape.bugmaster" फ़ाइल खोले जाने पर यह पूरी तरह ठीक काम करता है, लेकिन, किसी कारण से, यह तब काम नहीं करता जब उपयोगकर्ता ब्राउज़र से फ़ाइल खोलने का प्रयास करता है।

क्या किसी के पास कोई अन्य विचार है?

उत्तर

11

क्लिकऑन के लिए निफ्टी छोटी चाल है जिसमें आप वास्तव में पैरामीटर को सीधे एन्कोड कर सकते हैं जो setup.exe द्वारा उपयोग किया जाता है।

copy setup.exe setup-for-grape.exe 
setup.exe -url="http://foo.bar/MyApp.application?flavor=grape" /dest=setup-for-grape.exe 

यह करने के लिए परिणाम उत्पादन के लिए गैर-दस्तावेजी/गंतव्य ध्वज का उपयोग करता है: उदाहरण के लिए, एक setup.exe है कि अपने 'स्वाद = अंगूर' पैरामीटर शामिल है बनाने के लिए, आप कमांड लाइन से निम्नलिखित चला सकते हैं मूल setup.exe को संशोधित करने के बजाय setup-for-grape.exe फ़ाइल। ऐसा करने के बाद, setup-for-grape.exe आपके यूआरएल को इंगित करेगा और में आपका स्वाद = अंगूर पैरामीटर होगा। ध्यान दें कि यदि आप हस्ताक्षर का उपयोग कर रहे हैं, तो आपको इसे पर अपने setup.exe की अन-हस्ताक्षरित प्रतिलिपि करने की आवश्यकता होगी, और फिर हस्ताक्षर को तोड़ने के बाद इसे बाद में साइन करें।

यदि संभव पैरामीटर विकल्पों की संख्या काफी सीमित है, तो आप केवल उनके लिए setup.exe उत्पन्न कर सकते हैं और उन्हें अपनी वेबसाइट से लिंक कर सकते हैं।

दूसरी तरफ, यदि असीमित विकल्प हैं, तो आप एक वेब सेवा स्थापित कर सकते हैं जो कुछ पैरामीटर लेता है, इसमें setup.exe उत्पन्न करता है जिसमें वांछित पैरामीटर एन्कोड किए जाते हैं, और इसे वापस थूकते हैं ग्राहक। मैंने विशिष्ट सर्वर से जुड़े क्लाइंट के लिए setup.exe उत्पन्न करने के लिए इस विधि का उपयोग किया है - क्लाइंट इंस्टॉलेशन यूआरएल में सर्वर कनेक्शन जानकारी एन्कोड की गई है, इसलिए जब कोई ग्राहक स्थापित होता है तो यह स्वचालित रूप से जानता है कि कौन से सर्वर से कनेक्ट होना है।

बेशक, अगर आप setup.exe का उपयोग नहीं करना चाहते हैं, या यदि आपका प्रतिबंधित कॉर्पोरेट वातावरण इसे अस्वीकार करता है, तो यह सब सीधे खिड़की से बाहर चला जाता है। लेकिन उम्मीद है कि आप इसे उपयोगी, या कम से कम जानकारीपूर्ण पाएंगे।

+0

वाह! आप हर दिन नई चीजें सीखते हैं। मैं थोड़ी देर के लिए क्लिकऑन के साथ काम कर रहा हूं, और मैंने इस विकल्प को किसी भी तरह से याद किया है। @ मार्टी डिल: क्या आपने इस तकनीक का अतीत में उपयोग किया है? – RLH

+0

यूप! मेरा दूसरा अंतिम पैराग्राफ देखें। मैंने इसे setup.exe उत्पन्न करने के लिए उपयोग किया जिसमें सर्वर से कनेक्ट होने के बारे में जानकारी शामिल है। एक बार सिस्टम सब खत्म हो गया और चल रहा था यह काफी अच्छी तरह से काम किया। –

+0

यह वास्तव में एक साफ चाल है, लेकिन असुविधाजनक रूप से मुझे विकल्पों की असीमित संख्या की आवश्यकता है (ठीक है, मुझे लगता है कि तकनीकी रूप से यह सीमित है, लेकिन उनमें से 1e10 से अधिक हैं), और मेरे आवेदन पर हस्ताक्षर करने की आवश्यकता है। हालांकि मैं ऐप पर हस्ताक्षर करने के लिए शायद वेब सेवा भी स्थापित कर सकता हूं। यह एक दिलचस्प विचार है, हालांकि, धन्यवाद! – Bugmaster

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