2009-05-07 2 views
8

क्या एक विन फॉर्म एप्लिकेशन के लिए क्लिकऑन परिनियोजन बनाना संभव है, उपयोगकर्ता को जारी रखने से पहले लाइसेंस अनुबंध से सहमत होने के लिए कहें?क्लिकऑन्स एक लाइसेंस समझौते के लिए पूछें

+0

हां इसका उपयोग क्यों नहीं किया जाता है। – Sachin

उत्तर

10

Answer from MSDN उपयोगकर्ता Heath8041 द्वारा:

ख़ुशामदी एक EULA VS2005

यहाँ में अपने ClickOnce आवेदन के लिए प्रदर्शित बढ़ें अपने ClickOnce अनुप्रयोगों अंतिम उपयोगकर्ता लाइसेंस के साथ स्थापित करने के लिए प्राप्त करने के लिए तरीके के बारे में एक दौर है समझौता। असल में आप एक पुनर्वितरण योग्य घटक बनाते हैं जिसे प्रकाशित विंडो के तहत आपके प्रीक्यूसाइट्स संवाद बॉक्स में देखा जा सकता है। यदि आप चाहें तो यह आपके सभी ऐप्स को एक ही समझौते का पुन: उपयोग करने का एक अच्छा तरीका प्रदान करता है। यह बहुत आसान है, आपको केवल तीन फाइलें ("eula.txt", "product.xml", और "package.xml") और इस मामले में दो फ़ोल्डरों ("EULApackage", और "en") बनाने की आवश्यकता है। मैंने नीचे सब कुछ दस्तावेज किया जिस पर मैंने अपना सेट अप किया था। यह बहुत अच्छा काम करता है। केवल एक चीज जिसे आप बदलना चाहते हैं वह घटक का नाम है और निश्चित रूप से आपको eula.txt के रूप में सहेजे गए अपने अंतिम उपयोगकर्ता लाइसेंस अनुबंध की आवश्यकता होगी। घटक को निम्नलिखित पथ में रखा जाना चाहिए: सी: \ प्रोग्राम फ़ाइलें \ Microsoft Visual Studio 8 \ SDK \ v2.0 \ BootStrapper \ Packages इस फ़ोल्डर में आपको अन्य पुनर्वितरण योग्य घटकों के लिए कुछ उप फ़ोल्डर्स देखना चाहिए। सबसे पहले अपने घटक के लिए एक नई उप निर्देशिका बनाओ। मैंने अपना ईयूलापैकेज बुलाया। इस नए फ़ोल्डर में आपको निम्न की आवश्यकता है। -एक फ़ाइल कहा जाता product.xml और एक उप फ़ोल्डर "एन" (अंग्रेजी के लिए) आप product.xml फ़ाइल के साथ विभिन्न कर सकते हैं, लेकिन यहाँ कहा जाता है जिस तरह से मेरा इस में लग रहा है

<?xml version="1.0" encoding="utf-8" ?> 

<Product 
    xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" 
    ProductCode="EULA.Bootstrap.Component" 
> 
    <!-- Defines list of files to be copied on build --> 
    <PackageFiles> 
    <PackageFile Name="en/eula.txt"/> 
    </PackageFiles> 


    <Commands> 
    <Command PackageFile="en/eula.txt" 
     Arguments='' > 

     <ExitCodes> 
     <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" /> 
     </ExitCodes> 

    </Command> 
    </Commands> 
</Product> 

* है अगर फ़ाइल eula.txt टेक्स्ट फ़ाइल थी जो मेरा लाइसेंस अनुबंध था। ध्यान दें कि यह एक आरटीएफ फ़ाइल नहीं है। आरटीएफ इस विधि का उपयोग करके संपत्ति का प्रदर्शन नहीं करेगा।

अब मेरी "एन" सबफ़ोल्डर के अंदर मैं eula.txt फ़ाइल और एक अन्य एक्सएमएल package.xml बुलाया फ़ाइल, फिर से इस xml फ़ाइल सामान के सभी प्रकार करने के लिए इस्तेमाल किया जा सकता डाल

यहाँ

मेरी संस्करण की सामग्री *

<?xml version="1.0" encoding="utf-8" ?> 

<Package 
    xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" 
    Name="DisplayName" 
    Culture="Culture" 
    LicenseAgreement="eula.txt"> 

    <PackageFiles> 
     <PackageFile Name="eula.txt"/> 
    </PackageFiles> 

    <!-- Defines a localizable string table for error messages and url's --> 
    <Strings> 
    <String Name="DisplayName">Texas Instruments End User License Agreement</String> 
    <String Name="Culture">en</String> 

    <String Name="CancelFailure">User Failed to Accept Texas Instruments End User License Agreement.</String> 
    <String Name="GeneralFailure">A fatal error occurred during the installation of ELUA Component Execution</String> 
    <String Name="AdminRequired">You do not have the permissions required to install this application. Please contact your administrator.</String> 
    </Strings>  
</Package> 

नोट: जो कुछ भी आप DisplayName क्षेत्र में डाल दिया जाता है कि आपके उपयोगकर्ता जब वह EULA पाठ के साथ सामना किया है देखेंगे आप, अगली बार जब आप यह सब एक साथ सही ढंग से रख दिया और सही फ़ोल्डर में है, तो वीएस2005 शुरू करें और अपने प्रकाशित टैब पर जाएं -> पूर्वापेक्षाएँ आपको डिस्प्लेनाम फ़ील्ड देखना चाहिए । बस इसे अपने ऐप के लिए एक शर्त के रूप में जांचें। जब उपयोगकर्ता publ.htm फ़ाइल पर इंस्टॉल करता है तो यह उपयोगकर्ता को आपके eula.txt फ़ाइल के एक मानक लाइसेंस स्वीकृति संवाद बॉक्स के अंदर प्रस्तुत करेगा। यदि चयन आपके सामान को इंस्टॉल करते हैं, तो अगर वे गिरावट करते हैं तो यह काफी अच्छी तरह से निकलता है और उनके सिस्टम पर कुछ भी इंस्टॉल नहीं होता है। आप तो गड़बड़ कर दो फ़ाइलों में से किसी या के लिए स्वरूपण आप "एन" उप फ़ोल्डर बाहर छोड़ तो घटक आवश्यक शर्तें संवाद में दिखाई नहीं देंगे (प्रकाशित करते समय)

अतिरिक्त नोट्स: हालांकि यह बहुत अच्छा काम करता है यह विधि के बारे में एक दौर है और उनके eula के आसपास के तरीके हैं, जैसे कि अगर आपकी publ.htm फ़ाइल उन्हें सीधे एप्लिकेशन चलाने की अनुमति देती है (मुझे बूटस्ट्रैपर शुरू होने के बिना लगता है) लेकिन यदि वे इंस्टॉल बटन पर क्लिक करेंगे तो यह दौड़ जाएगा । प्रत्येक बार जब आप अपने क्लिकऑन एप्लिकेशन में अपडेट प्रकाशित करते हैं तो यह भी चलाने का लाभ नहीं होता है। उन्हें यूला को दिखाने के लिए बूट स्ट्रैपर चलाने के लिए है (publ.htm पर इंस्टॉल बटन पर क्लिक करके) मैंने कुछ अन्य पुनर्वितरण योग्य घटकों को देखकर इस विधि को समझ लिया है जो पहले से ही पथ सी: \ प्रोग्राम में थे फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो 8 \ एसडीके \ v2.0 \ बूटस्ट्रैपर \ पैकेज। आप उन अन्य घटकों product.xml और package.xml फ़ाइलों को देख सकते हैं ताकि वे देख सकें कि उनके साथ क्या अच्छी चीजें हैं। गुड लक

+1

सही, मैं विजुअल स्टूडियो 2008 का उपयोग कर रहा हूं इसलिए स्थान सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट एसडीके \ विंडोज \ v6.0A \ बूटस्ट्रैपर \ पैकेज \ Eula – Coppermill

+0

और विंडोज 7 64 बिट में, स्थान सी: \ प्रोग्राम है फ़ाइलें (x86) \ माइक्रोसॉफ्ट एसडीके \ विंडोज \ वी 6.0 ए \ बूटस्ट्रैपर \ पैकेज \ – ForeverWintr

+1

यदि कोई और काम करने के लिए संघर्ष कर रहा है, तो संपूर्ण समाधान को पूरा समाधान खोजने के लिए संपूर्ण धागे शै संदर्भ पढ़ें। – ForeverWintr

1

मुझे नहीं लगता कि वहां है।

यदि आप किसी वेबपृष्ठ से अपने क्लिक-वन ऐप को तैनात करते हैं, तो आप ऐप इंस्टॉल करने से पहले उपयोगकर्ता को अनुबंध स्वीकार कर सकते हैं। प्रभाव वही होगा।

2

जो कोई भी इस यह काम करेंगे करने के लिए कोशिश कर रहा है के लिए ... मैं विजुअल स्टूडियो 2008 का उपयोग कर रहा है और liek Coppermill कहा, स्थान "C: \ Program Files \ Microsoft SDKs \ Windows \ v6। 0A \ Bootstrapper \ संकुल \ "

मैं भी product.xml के एक जोड़े को अन्य बातों के जोड़ने के लिए किया था:

<?xml version="1.0" encoding="utf-8" ?> 

<Product 
    xmlns="http://schemas.microsoft.com/developer/2004/01/bootstrapper" 
    ProductCode="EULA.Bootstrap.Component" 
> 
    <!-- Defines list of files to be copied on build --> 
    <PackageFiles CopyAllPackageFiles="false"> 
    <PackageFile Name="en/Empty.exe"/> 
    </PackageFiles> 


    <Commands> 
     <Command PackageFile="en/Empty.exe" Arguments='/silent' > 
     <ExitCodes> 
    <ExitCode Value="0" Result="Success"/> 
     <DefaultExitCode Result="Fail" FormatMessageFromSystem="true" String="GeneralFailure" /> 
     </ExitCodes> 

    </Command> 
    </Commands> 
</Product> 

मैं भी एक बनाने के लिए किया था" अन्यथा elcu.txt होगा कुछ न करें "निष्पादन नोटपैड में खोलें। वैसे भी, शुभकामनाएं ...

+0

अब मैं इस समस्या से जूझ रहा हूं। आपने कुछ भी नहीं किया है exe ?? और क्या मतलब है कि आपने product.xml में जोड़ा? – bluebit

+0

जोड़ने के बारे में टिप्पणी को अनदेखा करें ... मुझे याद नहीं है कि मैंने इसे क्यों पोस्ट किया। निष्पादन योग्य "कुछ भी नहीं" के लिए मैंने बस एक साधारण सी ++ प्रोग्राम संकलित किया जो तुरंत बाहर निकलता है। मुझे ऐसा करना था क्योंकि यह प्रीपेक के रूप में इसे डाउनलोड करने के बाद नोटपैड में elua.txt खोल देगा। जो मैं नहीं करना चाहता था। –

+0

आप एक ही परिणाम के साथ कुछ भी नहीं कर सकते हैं .bat फ़ाइल। पूर्व। गूंज "Elua स्वीकृत" (एक बल्ला फ़ाइल में सहेजा)

1

यदि हम विजुअल स्टूडियो 2010 का उपयोग करते हैं तो हमने इसे "C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages" फ़ोल्डर में जोड़ा था। यह अब काम करता है।

+0

क्या यह समाधान काम करता है? – Sachin

0

मैं इसे यूकी इज़ुमी के पद के उत्तर के रूप में पोस्ट कर रहा हूं। इसके बजाय एक बैच फ़ाइल का उपयोग करने का, मैं एक खाली vbs फ़ाइल जोड़ा और

<Command PackageFile="en/empty.vbs" Arguments='' > 

को product.xml संशोधित यह एक और तरीका स्वीकार करें क्लिक पर खोलने से eula.txt को रोकने के लिए है। मैंने एक आरटीएफ फाइल के साथ भी कोशिश की। यह ठीक से प्रदर्शित (वीएस 2015)।

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

  • कोई संबंधित समस्या नहीं^_^