2012-11-26 10 views
7

मुझे आशा है कि कोई मुझे मेरे इनोसेटअप इंस्टॉलर में उपयोग करने के लिए सही तरीके से स्वरूपित इनोसेटअप [रजिस्ट्री] प्रविष्टि में निम्नलिखित अनुवाद करने में मेरी सहायता कर सकता है? यहां लक्ष्य उपयोगकर्ता की मशीन पर एक नया कस्टम यूआरएल प्रोटोकॉल बनाना है।कस्टम यूआरएल प्रोटोकॉल के लिए इनो सेटअप रजिस्ट्री प्रविष्टि

HKEY_CLASSES_ROOT  
     ctp 
      (Default) = "URL:Alert Protocol" 
      URL Protocol = "" 
      DefaultIcon 
       (Default) = "myapp.exe" 
      shell 
       open 
        command 
         (Default) = "C:\Program Files\MyApp\myapp.exe" 

मैं InnoSetup सहायता दस्तावेज़ के माध्यम से पढ़ने लेकिन समझ नहीं सकता है एक उचित InnoSetup रजिस्ट्री अनुभाग में ऊपर का अनुवाद करने के लिए कैसे:

[Registry] 
Root: HKCR; Subkey: ".....etc. 

संस्थापक के बाद अंतिम परिणाम चलाता उपयोगकर्ता है कि है "ctp: //myapp.exe" के रूप में स्वरूपित वेबसाइट पर एक लिंक पर क्लिक करता है और वह स्थानीय ऐप उपयोगकर्ता की मशीन पर लॉन्च होगा। क्या मैं इसे सही तरीके से देख रहा हूं? किसी भी प्रतिक्रिया के लिए बहुत बहुत धन्यवाद।

+1

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

+0

इसके अलावा, अपने ['shell command'] में http://% 1' का उपयोग करना न भूलें (http://msdn.microsoft.com/en-us/library/aa767914 (v = vs.85) .aspx # app_reg) मूल्य। – TLama

उत्तर

9

इसे इस तरह का प्रयास करें:

[Registry] 
Root: HKCR; Subkey: "ctp"; ValueType: "string"; ValueData: "URL:Custom Protocol"; Flags: uninsdeletekey 
Root: HKCR; Subkey: "ctp"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: "" 
Root: HKCR; Subkey: "ctp\DefaultIcon"; ValueType: "string"; ValueData: "{app}\YourApp.exe,0" 
Root: HKCR; Subkey: "ctp\shell\open\command"; ValueType: "string"; ValueData: """{app}\YourApp.exe"" ""%1""" 
+0

TLama द्वारा प्रदान किया गया उत्तर पूरी तरह से काम करता है! बहुत बहुत धन्यवाद। मेरे पास एक और सवाल है। क्या वेब पेज में जावास्क्रिप्ट का उपयोग कर स्थानीय फ़ाइल मौजूद है या नहीं, यह देखने का कोई तरीका है? मुझे ऐप लॉन्च करने की आवश्यकता नहीं है, मुझे यह देखने की ज़रूरत है कि यह नया यूआरएल प्रोटोकॉल कॉल करने से पहले मौजूद है या नहीं, और यदि यह उपयोगकर्ता को इसे डाउनलोड करने के लिए संकेत नहीं देता है। – Tim

+0

आपका स्वागत है! यदि यह आपके प्रश्न का समाधान करता है, तो आप [इसे इस तरह स्वीकार करें '] (http://meta.stackexchange.com/a/5235/179541) पर विचार कर सकते हैं। आपके अतिरिक्त प्रश्न के लिए। यह एक अलग प्रश्न के रूप में पूछता है, कृपया (ईमानदार होने के लिए, मैं आपको जवाब देने में भी सक्षम नहीं हूं क्योंकि मुझे जावास्क्रिप्ट नहीं पता है)। धन्यवाद और StackOverflow में आपका स्वागत है! – TLama

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