2011-12-30 12 views
20

की सामग्रियों को निकालें I installShield setup.exe-file की फ़ाइल-सामग्री निकालने का प्रयास कर रहा हूं। (मेरी योजना इसे बैक-ऑफिस टूल में उपयोग करना है, इसलिए इसे किसी भी उपयोगकर्ता इंटरैक्शन के बिना प्रोग्रामेटिक रूप से किया जाना चाहिए।)प्रोग्रामशैली installShield setup.exe

क्या यह संभव है?
(प्रारंभिक शोध यह इंगित करता है कि यह असफल हो जाएगा।)

यदि इंस्टॉलशील्ड के सभी हाल के संस्करणों के लिए यह सामान्य समाधान होना संभव है, तो यह सबसे अच्छा होगा।
अन्यथा, यदि कोई समाधान केवल इंस्टॉलशील्ड के कुछ संस्करणों के लिए काम करता है तो यह एक कदम होगा। (यह संभवत: यह मान के लिए exe फ़ाइल का संस्करण संसाधनों को देखकर जो InstallShield संस्करण एक setup.exe है संभव हो जाएगा।

मैं found that कुछ InstallShield संस्करणों /b या /extract_all समर्थन करते हैं। लेकिन वहाँ जानने का कोई अच्छा तरीका है, बस शुरू करने exe और उम्मीद यह निकालने और अर्दली बल्कि तो जीयूआई संवाद प्रदर्शित। एक अच्छा समाधान की तरह प्रतीत नहीं होता है तो मैं इसलिए एक अधिक स्थिर तरीके के लिए देख रहा हूँ।
विचारों का स्वागत समाप्त कर देगा।

+0

यह किसी भी setup.exe के लिए प्रोजेक्ट प्रकार के बावजूद इंस्टॉलशेल्ड के किसी भी संस्करण द्वारा उत्पन्न किया गया है या एक विशिष्ट setup.exe के लिए? –

+0

धन्यवाद @ क्रिस्टोफर। प्रश्न बढ़ाने के लिए प्रयास किया। – leiflundgren

उत्तर

30

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

एमएसआई आधारित (एक InstallScript MSI स्थापना के लिए एक प्रयोग करने योग्य छवि में परिणाम नहीं हो सकता है):

  • setup.exe /a /s /v"/qn TARGETDIR=\"choose-a-location\""

    या, भी, (संस्करण जहां यह काम करता है के लिए) आवश्यक शर्तें को निकालने के लिए

  • setup.exe /a"choose-another-location" /s /v"/qn TARGETDIR=\"choose-a-location\""

इंस्टॉलस्क्रिप्ट आधारित:

  • setup.exe /s /extract_all

सुइट आधारित (नहीं जिसके परिणामस्वरूप फ़ाइलें स्थापित करने के लिए कैसे स्पष्ट हो सकता है): साथ

  • setup.exe /silent /stage_only ISRootStagePath="choose-a-location"
+1

एफडब्ल्यूआईडब्ल्यू माइकल इंस्टालशील्ड के लिए काम करता है। साथ ही मैं सोच रहा हूं कि आप अनुमान लगा सकते हैं कि किस प्रकार का setup.exe एम्बेडेड संसाधनों की तलाश कर रहा है या डीएलएल निर्भरताओं की जांच कर रहा है। मुझे एक एमएसआई setup.exe MSI.dll पर निर्भरता दिखाई दे रही है। मैं अनुमान लगा रहा हूं कि एक इंस्टॉलस्क्रिप्ट EXE नहीं होगा। –

+1

एक [** इसी तरह का उत्तर यहां **] देखें (http://stackoverflow.com/a/24987512/129130) एक [पीडीएफ फ़ाइल से लिंक] के साथ [http://www.itninja.com/static/090770319967727eb89b428d77dcac07 .pdf) सामान्य setup.exe कमांड लाइनों के साथ। –

+0

मेरा उत्तर यहां देखें: http://superuser.com/a/180980/47628 ऐसे टूल्स के लिए जो कुछ पुराने गैर-एमएसआई आधारित आईएस सेटअप के साथ काम कर सकते हैं। – bshea

8

http://www.compdigitec.com/labs/files/isxunpack.exe

प्रयोग : isxunpack.exe yourin stallshield.exe

यह उसी फ़ोल्डर में निकालेगा।

+0

यह शैलएक्सक्यूट() के माध्यम से प्रोग्रामेटिक रूप से किया जा सकता है। – Motes

+2

यह एकमात्र ऐसा कार्यक्रम था जो आईएसवी 12 इंस्टॉलर को अनपॅक करने में मेरे लिए काम करता था। इस कार्यक्रम ने एक समस्या की सूचना दी, लेकिन यह सब कुछ वैसे भी निकाला। – TGP1994

+0

ग्रेट टूल, साझा करने के लिए धन्यवाद - मेरे वर्तमान इंस्टॉलर रिवर्सिंग के लिए ठीक काम करता है जबकि दुर्भाग्य से @MichaelUrman द्वारा उल्लिखित संकेत नहीं थे। – Till

4

प्रारंभ:

setup.exe /? 

और आपको प्रदर्शित कुछ विकल्पों के साथ एक संवाद पॉपअप देखना चाहिए।

+0

कई बार काम नहीं करता –

1

cabextract नामक नि: शुल्क और मुक्त-स्रोत कार्यक्रम न केवल सामग्री की सूची और निकालेगा।टैक्सी-फ़ाइलें, लेकिन Macrovision के अभिलेखागार भी:

% cabextract /tmp/QLWREL.EXE 
Extracting cabinet: /tmp/QLWREL.EXE 
    extracting ikernel.dll 
    extracting IsProBENT.tlb 
    .... 
    extracting IScript.dll 
    extracting iKernel.rgs 

All done, no errors. 
+1

cabextract माइक्रोसॉफ्ट कैबिनेट फाइलों में कुछ भी अनपैक करेगा, लेकिन आम तौर पर इंस्टॉलशील्ड "डेटा 1.cab" नामक फ़ाइलों के बावजूद नहीं करता है। इसके बजाय, InstallShield "कैब" फ़ाइलों को अनपैक करने के लिए, [unshield] (http://sourceforge.net/projects/synce/files/Unshield/0.6/) प्रोग्राम का उपयोग करें जो SynCE प्रोजेक्ट का हिस्सा है। –

+1

सिन्स इन दिनों त्याग दिया प्रतीत होता है, [अबशील्ड अब गिथब में होस्ट किया गया है] (https://github.com/twogood/unshield) –

2

लिनक्स पर है unshield, जो मेरे लिए अच्छी तरह से काम (भले ही जीयूआई लाइसेंस कुंजी संकेतों की तरह कस्टम बाधा भी शामिल है)। यह सभी प्रमुख वितरण (आर्क, सस्सी, डेबियन- और फेडोरा-आधारित) के भंडारों में शामिल है और इसका स्रोत https://github.com/twogood/unshield

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