2011-12-20 12 views
8

नई सिल्वरलाइट 5 के साथ, अब हमारे पास एक इन-ब्राउज़र एलिवेट-ट्रस्ट एप्लिकेशन हो सकता है। हालांकि, मुझे एप्लिकेशन को तैनात करने में कुछ समस्याएं आ रही हैं।ब्राउज़र विश्वसनीय एप्लिकेशन में सिल्वरलाइट 5

जब मैं विजुअल स्टूडियो से एप्लिकेशन का परीक्षण कर रहा हूं, तो सब ठीक काम करता है क्योंकि वेबसाइट स्थानीय मशीन (लोकलहोस्ट, 127.0.0.1) पर होस्ट की जाती है तो यह स्वचालित रूप से हर अधिकार देती है।

मैं MSDN मैं इसे किसी भी वेबसाइट पर काम करने के लिए 3 चरणों का पालन करना पड़ेगा पर देखा:

  1. XAP हस्ताक्षर - मैं इसे निम्न Microsoft ट्यूटोरियल
  2. किया विश्वसनीय प्रकाशकों प्रमाणपत्र संग्रह स्थापित करें - मैंने माइक्रोसॉफ्ट ट्यूटोरियल
  3. AllowElevatedTrustAppsInBrowser के साथ रजिस्ट्री कुंजी जोड़कर भी ऐसा किया।

तीसरा चरण वह है जिसे मैं सबसे ज्यादा अनिश्चित हूं। क्या हमें स्थानीय रजिस्ट्री कुंजी या सर्वर पर इस रजिस्ट्री कुंजी को जोड़ने की आवश्यकता है? क्या इस कुंजी को जोड़ने के लिए सिल्वरलाइट में कोई स्वचालित फ़ंक्शन है या बैच फ़ाइल बनाने के लिए बेहतर है?

यहां तक ​​कि उन तीन चरणों के साथ, स्थानीयहोस्ट की तुलना में किसी अन्य यूआरएल से कॉल करते समय भी एप्लिकेशन काम नहीं कर रहा है।

क्या किसी ने सफलतापूर्वक इन-ब्राउज़र उन्नत-ट्रस्ट एप्लिकेशन को कार्यान्वित किया है? क्या आप देखते हैं कि मैं क्या गलत कर रहा हूं?

सूत्रों का कहना है:

+1

आप अपनी समस्या का समाधान मिला? मुझे एक ही समस्या का सामना करना पड़ रहा है ... धन्यवाद –

+0

फारे नोउएड उत्तर देखें। यह इंगित करता है कि स्वयं हस्ताक्षरित प्रमाणपत्रों को भी विश्वसनीय रूट प्रमाणपत्र प्राधिकरण में जोड़ा जाना आवश्यक है। – jmc

उत्तर

12

इस प्रक्रिया का वर्णन करने वाले बहुत सारे महान संसाधन हैं, जिनमें प्रतिक्रियाओं में उल्लिखित हैं। मैं उन चरणों को दस्तावेज करना चाहता था जो हमारे लिए काम करते थे।

  1. कोड पर हस्ताक्षर करने कुंजी के साथ XAP फ़ाइल साइन इन करें: (Silverlight 5.1.10411.0)

    यहाँ काम करेंगे उसके इन-ब्राउज़र विश्वसनीय आवेदन सक्षम करने के लिए ले लिया है।

  2. में सार्वजनिक कोड पर हस्ताक्षर करने कुंजी स्थापित करें "Certificates-> वर्तमान उपयोगकर्ता-> विश्वसनीय प्रकाशक"
  3. किसी पाठ संपादक में
    SL 64 bit path: HKLM\Software\Wow6432Node\Microsoft\Silverlight
    SL 32 bit path: HKLM\Software\Microsoft\Silverlight
  4. ओपन सिल्वरलाइट परियोजना पर DWORD रजिस्ट्री कुंजी AllowElevatedTrustAppsInBrowser = 1 सेट और निम्नलिखित प्रविष्टियों को सत्यापित मौजूद है:
    <RequireInBrowserElevation>true</RequireInBrowserElevation> 
    <InBrowserSettingsFile>Properties\InBrowserSettings.xml</InBrowserSettingsFile> 
    
  5. जांचें कि गुण \ InBrowserSettings।एक्सएमएल मौजूद है और शामिल हैं:
    <InBrowserSettings> 
      <InBrowserSettings.SecuritySettings> 
        <SecuritySettings ElevatedPermissions="Required" /> 
      </InBrowserSettings.SecuritySettings> 
    </InBrowserSettings> 
    

नोट:

  • आप एक आत्म हस्ताक्षरित प्रमाणपत्र का उपयोग करते हैं, जबकि परीक्षण, आप भी "Certificates-> वर्तमान उपयोगकर्ता-> विश्वसनीय रूट प्रमाणीकरण प्राधिकारी में इसे स्थापित करने की आवश्यकता होगी "। (उत्पादन में जाने से पहले एक खरीदें)
  • एक बार जब आप एक एक्सएपी फ़ाइल पर हस्ताक्षर करते हैं तो आप इसे अनजिप और संशोधित नहीं कर सकते हैं क्योंकि ऐसा करने से हस्ताक्षर तोड़ता है (इसे इस्तीफा देना चाहिए)।
  • यदि आप xap फ़ाइल को कैश कर रहे हैं तो अपने ब्राउज़र कैश को साफ़ करना न भूलें।
  • यह आईई, क्रोम, फ़ायरफ़ॉक्स और सफारी के साथ विंडोज 7 और विंडोज 8 रिलीज पूर्वावलोकन (डेस्कटॉप मोड) पर काम करता है।
+0

बिंगो स्वयं हस्ताक्षरित गेटचा को इंगित करने के लिए। ऐसा लगता है कि बहुत सारे लोग यात्रा करते हैं। – jmc

+0

+1 मेरे लिए चाल ट्रस्टेड प्रकाशकों में हस्ताक्षर प्रमाणपत्र स्थापित करना था (विश्वसनीय प्रकाशकों और विश्वसनीय रूट प्रमाणीकरण प्राधिकरणों में जारी करने का अधिकार प्रमाण पत्र पर्याप्त नहीं था)। – gius

+0

क्या आप कृपया व्याख्या कर सकते हैं अगर हमें सामान्य रूप से एसएल के तहत फाइल अपलोड करने के लिए कुछ प्रमाण पत्र की आवश्यकता है? –

1

रजिस्ट्री संपादित क्लाइंट मशीन पर होने की जरूरत है; सिल्वरलाइट आवेदन निष्पादित मशीन।

XAMLGEEK के माध्यम से demo available है; जैसा कि आपने जो कुछ भी रखा है, वह आपको एक कार्यरत राज्य में ले जाना चाहिए। माइक टॉली के पास excellent walk through भी है।

+0

क्या आपको लगता है कि समस्या यह है कि मैं एक निर्मित प्रमाण पत्र का उपयोग कर रहा हूं? क्या मुझे एक खरीदना है? – Philippe

+0

नहीं, आपको एक खरीदने की आवश्यकता नहीं है। –

+0

नहीं, आपको एक खरीदने की ज़रूरत नहीं है, लेकिन यदि आप अपना प्रमाणपत्र बनाते हैं, तो आपको इसे विश्वसनीय रूट प्रमाणपत्र प्राधिकरण में भी जोड़ना होगा। केवल विश्वसनीय स्वयंसेवक के लिए स्वयं स्वयं हस्ताक्षरित प्रमाण पत्र जोड़ना काम नहीं करेगा। (Fares Noueihed उत्तर देखें, यह अब तक का सबसे व्यापक है और इस महत्वपूर्ण बिंदु को इंगित करता है) – jmc

2

मैंने this msdn article गिरने वाले उन्नत विशेषाधिकारों के साथ सफलतापूर्वक ब्राउज़र सिल्वरलाइट 5 ऐप बनाया है। आपको हमेशा यह सुनिश्चित कर सकते हैं अगर आपका अनुप्रयोग के साथ privs ऊपर उठाया गया है:

Application.Current.HasElevatedPermissions 

मेरे समस्या जबकि यह फ़ायरफ़ॉक्स 14 में समस्या के बिना काम करता है, IE9 मैं वर्तमान में देख रहा हूँ विंडोज 7 में व्यवस्थापक के रूप में चलाने के लिए की जरूरत है इसे आईई को व्यवस्थापक के रूप में निष्पादित किए बिना काम करने का एक तरीका है। यदि कोई जानता है कि यह कैसे करना है, तो मैं सहायता की सराहना करता हूं।

संपादित करें:

वाह। असल में हारून मैकइवर पोस्ट से लिंक ने मुझे बहुत मदद की। मैंने अभी "सुरक्षित मोड सक्षम करें" बंद कर दिया है और अब यह व्यवस्थापक अधिकारों के बिना ठीक काम करता है। : डी

0

मैं उसी होस्ट पते पर पोर्ट 10001 पर सॉकेट में Silverlight ऐप से कनेक्ट करना चाहता हूं जहां ऐप होस्ट किया गया है।

क्या क्लाइंट पक्ष पर कुछ भी बदले बिना ऐसा करना संभव है?

0

मैं भी कर रहा हूँ कि केवल स्थानीय मशीन के लिए काम करेंगे समस्या

जब हम परीक्षण प्रमाणपत्र का उपयोग उसी तरह सामना करते हैं।

आपको अपने ऐप को दूसरे प्रमाणपत्र के साथ साइन करना होगा, और यह काम करेगा।

सवाल लिंक Silverlight 5 In browser trusted application

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