2012-12-07 37 views
6

प्रतिस्थापित नहीं किया जा रहा है। मैं अपने VB.net एप्लिकेशन के लिए पैच अपडेट इंस्टॉल करने के लिए इनो सेटअप का उपयोग कर रहा हूं, जहां मुझे एक डीएलएल फ़ाइल और कुछ जावास्क्रिप्ट/एचटीएमएल फाइलों को प्रतिस्थापित करना है नया। हालांकि, डीएलएल अपडेट नहीं होता है (यह सी: \ प्रोग्राम फाइलों में है ...) - यूएसी के बिना एक्सपी सिस्टम पर भी इसे प्रतिस्थापित नहीं किया जाता है, लेकिन जब मैं मैन्युअल रूप से डीएलएल हटा देता हूं और पैच को दोबारा हटा देता हूं, तो फाइल कॉपी हो जाती है । यह केवल पढ़ने योग्य नहीं है, और XP मामले में कोई यूएसी/व्यवस्थापक विशेषाधिकार शामिल नहीं है।inno सेटअप इंस्टॉलर में एक डीएलएल को ओवरराइट करने की आवश्यकता है - लेकिन फ़ाइल को

फ़ाइल क्या पहले से मौजूद होने पर फ़ाइल कॉपी नहीं की जा सकती है? यह वीएस 2008 में और .NET 2.0 में बनाया गया है - नए डीएलएल में हाल ही की तारीख और आकार का अंतर भी है।

क्या Vista/Win7/8 पर यूएसी लेखन पहुंच समस्या को हल करने का कोई तरीका है? मुझे लगता है कि पैच इन सिस्टमों पर यूएसी के साथ फ़ाइल को प्रतिस्थापित करने में कभी सफल नहीं होगा। इसे बंद करने के लिए हमारे उपयोगकर्ता आधार को स्पष्ट रूप से एक विकल्प नहीं है।

[संपादित करें] डीएल असेंबली को विजुअल स्टूडियो के भीतर setup.exe में हल किया गया है ताकि समाधान के निर्माण पर रिलीज फ़ोल्डर से इसे उठाया जा सके। Inno सेटअप जारी [फ़ाइल] अनुभाग में यह है:

[Files] 
Source: C:\Visual Studio 2005\Projects\Setup5\Setup5\Debug\setup.exe; DestDir: {app} 
Source: C:\Visual Studio 2005\Projects\Setup5\Setup5\Debug\interact.msi; DestDir: {app} 
[Run] 
Filename: {app}\setup.exe; Flags: runmaximized 
+0

क्या आप उस पुस्तकालय के लिए अपनी '[फ़ाइलें]' अनुभाग प्रविष्टि दिखा सकते हैं? आपका क्या मतलब है * "क्या Vista/Win7/8 पर यूएसी लेखन पहुंच समस्या को हल करने का कोई तरीका है?" *, आप किस मुद्दे के बारे में सोचते हैं? – TLama

+0

आदर्श रूप से मैं चाहता हूं कि पैच अपडेट बिना किसी मानवीय बातचीत के हो - यानी। जब मैं डीएलएल जैसी फ़ाइलों को स्थानांतरित या हटाने की कोशिश कर रहा हूं, तो मैं उन्हें व्यवस्थापक अनुमति (यूएसी?) के लिए पूछताछ पर एक संवाद पर क्लिक नहीं कर सकता। – Surge

+0

यदि आप Windows Vista पर 'प्रोग्राम फ़ाइलें' निर्देशिका में फ़ाइलों को अपडेट/इंस्टॉल करने जा रहे हैं, तो आपको केवल व्यवस्थापकीय विशेषाधिकारों के लिए पूछना होगा, अन्यथा आप पहुंच से वंचित त्रुटि में विफल हो जाते हैं और इस मामले के लिए आपको स्पष्ट रूप से निर्दिष्ट नहीं करना चाहिए ['PrivilegesRequired'] (http://jrsoftware.org/ishelp/topic_setup_privilegesrequired.htm) निर्देशक मान (डिफ़ॉल्ट रूप से व्यवस्थापक विशेषाधिकारों की आवश्यकता होती है)। – TLama

उत्तर

7

क्या डीएलएल का संस्करण संसाधन है? क्या नया डीएलएल पुराने संस्करण की तुलना में एक उच्च संस्करण है? डिफ़ॉल्ट रूप से, InnoSetup यह निर्धारित करने के लिए संस्करण संसाधन का उपयोग करता है कि फ़ाइल को प्रतिस्थापित किया जाना चाहिए या नहीं।
एक और विकल्प यह है कि आप उस फ़ाइल को हमेशा प्रतिस्थापित करने के लिए [Files] अनुभाग में ignoreversion ध्वज जोड़ सकते हैं।

+0

जो मैं देख सकता हूं, विजुअल स्टूडियो सेटअप समाधान में डीएलएल का कोई संस्करण संसाधन नहीं है। धन्यवाद! – Surge

+1

बस उत्सुक, आप एक विजुअल स्टूडियो सेटअप समाधान क्यों बना रहे हैं और उसके बाद इनोसेटअप इंस्टॉल के भीतर भी शामिल हैं? क्यों न केवल डीएलएल को InnoSetup इंस्टॉल के भीतर शामिल करें या केवल विजुअल स्टूडियो सेटअप का उपयोग करें? – mirtheil

+0

आपके मार्गदर्शन के लिए धन्यवाद - यह किसी तीसरे पक्ष द्वारा विकसित किया गया था और मैं उत्पादन के मुद्दों को ठीक करने की कोशिश कर रहा हूं। – Surge