2009-04-28 17 views
5

मुझे लगता है कि करता है Inno के नवीनतम संस्करण का उपयोग कर रहा सेटअप के दौरान निम्नलिखित:निकाला जा रहा है फ़ाइलें

  1. निर्भरता की जांच प्रदर्शन को देखने के लिए क्या स्थापित किया गया है
  2. इंस्टॉल निर्भरता कि पहले से ही स्थापित नहीं कर रहे हैं (.net, एसक्यूएल सर्वर, DirectX आदि)
  3. आवेदन और पहले से स्थापित datab के लिए [फ़ाइलें] अनुभाग (wpReady)
  4. चेकों एसक्यूएल सर्वर से फ़ाइलों को स्थापित करें ase और/बनाता टेबल आदि

चरण [4] डेटाबेस और तालिकाओं आदि बनाता है और केवल यही वजह है कि यह चरण में किया जाता है काम करता है, तो SQL सर्वर पहले से ही स्थापित कर दिया गया है अद्यतन करता है [2]।

आउटपुट निर्देशिका में बनाया गया setup.exe है और मैं उपरोक्त वर्णित चरणों [1,2 और 4] के लिए आवश्यक फ़ाइलों वाले मैन्युअल रूप से अतिरिक्त निर्भरता फ़ोल्डर रखता हूं।

यह बहुत अच्छा काम करता है लेकिन मैं केवल एक एकल एक्सई बनाना चाहता हूं जिसमें सभी निर्भरताएं शामिल हों और wpReady से पहले और चरण [1] से पहले निर्भरता निष्कर्ष निकालें।

निर्भरता [Files] अनुभाग में हैं, लेकिन सेटअप को तब तक निकाला नहीं जाता है जब सेटअप सेटअप को wpReady संदेश निष्पादित करता है जब सेटअप सभी रूपों और फ़ाइलों को स्थापित करने के प्रयासों के माध्यम से चला जाता है।

मैं निम्नलिखित का उपयोग कहते हैं कि मैं क्या setup.exe

[Files] 
Source: Output\Dependencies\*; DestDir: {tmp}; Flags: deleteafterinstall 

सबसे अच्छा तरीका क्या wpReady से पहले अस्थायी निर्देशिका के लिए फ़ाइलों को निकालने के लिए है या मैं wpReady पहले की कार्रवाई तो प्रदर्शन करना चाहिए की जरूरत है निर्भरता स्थापित करने के बारे में जाएं (हालांकि आदर्श नहीं)।

उत्तर

11

आप PrepareToInstall घटना समारोह में ExtractTemporaryFile() फ़ंक्शन का उपयोग पहले {tmp} को [Files] अनुभाग से किसी भी फाइल को निकालने के लिए कर सकते हैं, और जब सेटअप खत्म इसे हटा दिया जाएगा। स्क्रिप्टिंग और विभिन्न हुक के साथ मिलकर इनो सेटअप आपको लगभग सब कुछ हासिल किया जा सकता है।

इनो सेटअप सहायता के विशेष रूप से "समर्थन कार्य संदर्भ" के "पास्कल स्क्रिप्टिंग" अनुभाग पर नज़र डालें। वहां आपको ExtractTemporaryFile() और अधिक के लिए दस्तावेज़ मिलेगा।

+0

उत्कृष्ट धन्यवाद। विश्वास नहीं कर सकता मैं इस समारोह को याद किया! – Belliez

+0

ऐसा करने के लिए अनुशंसित स्थान अब [PrepareToInstall] ईवेंट फ़ंक्शन में है क्योंकि यह उपयोगों की आसान चेतावनी के लिए अनुमति देता है और संकेतों को पुनरारंभ करता है। – Deanna

-2

{tmp}

सेटअप या अनइंस्टॉल द्वारा उपयोग की जाने वाली अस्थायी निर्देशिका। यह उपयोगकर्ता के TEMP पर्यावरण चर का मान नहीं है। यह उपयोगकर्ता की अस्थायी निर्देशिका की एक उपनिर्देशिका है जो स्टार्टअप पर सेटअप या अनइंस्टॉल द्वारा बनाई गई है ("C: \ WINDOWS \ TEMP \ IS-xxxxx.tmp" जैसे नाम के साथ)। सेटअप या अनइंस्टॉल निकालने पर इस निर्देशिका में सभी फ़ाइलें और उप-निर्देशिका हटा दी जाती है। सेटअप के दौरान, यह उन फ़ाइलों को निकालने के लिए मुख्य रूप से उपयोगी होता है जिन्हें [रन] अनुभाग में निष्पादित किया जाना है लेकिन स्थापना के बाद इसकी आवश्यकता नहीं है।

+1

न केवल आपकी प्रतिक्रिया स्पष्ट रूप से इंगित नहीं करती है कि आप स्क्रिप्ट में बदलने के लिए क्या सुझाव देते हैं, मानते हैं कि आप गंतव्य के रूप में {tmp} फ़ाइल स्थान का उपयोग करना चाहते हैं, @ बेलीज़ प्रश्न बताता है कि वह वास्तविक स्थापना से पहले फ़ाइलों को निकालना चाहता है प्रक्रिया शुरू होती है, और जिस तरह से मैंने आपके सुझाव को पढ़ा है, वह उस पल के बाद फाइलें रखेगा। – jachguate

+0

जो मुझे मदद से मिलता है, मैं बेकार हूं, मैं अवांछित नहीं करता हूं। अस्थायीफाइल() और मैं इसे नहीं बना सकता अगर आप मुझे एक उदाहरण दे सकते हैं धन्यवाद –

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