लिनक्स का उपयोग करके एमएसआई फ़ाइलों को निकालना


23

संबंधित: MSI पैकेज से फाइलें कैसे निकालें?

लिनक्स का उपयोग करके एक MSI इंस्टॉलर की सामग्री को निकालने के लिए, मैं या तो msiexecशराब के साथ उपयोग कर सकता हूं या उपयोग कर सकता हूं 7zip

हालाँकि, बाद वाला निर्देशिका और फ़ाइल नाम को केवल भाग में संरक्षित नहीं करता है। वहाँ किसी भी तरह से एमएसआई फ़ाइलों का उपयोग करने के बिना ठीक से निकालने के लिए है wine?


संपादित करें: Microsoft के Infer.NET के साथ समस्या का वर्णन करने के लिए, यहां उन फ़ाइलों की एक सूची है जो 7zip का उत्पादन करती है और यहां एक जो msiexec का उत्पादन करती है (जहां बाद में मुझे चाहिए)


आप इस लेख को उबंटू के लिए उपयोग कर सकते हैं आशा है कि यह आपकी मदद करेगा। और Jsmsix.exe भी आज़माएं ।
avirk

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

आप किस मुद्दे से जूझ रहे 7zipहैं, आप समझा सकते हैं?
avirk

एक उदाहरण जोड़ा गया
माइकल शुबर्ट

2
मैं जो करना चाहता हूं, वह आर्कलिनक्स के लिए एक बिल्डस्क्रिप्ट बना रहा है, जिसके लिए एक सेट वाइन काफी भारी निर्भरता है बस कुछ ऐसा स्थापित करने में सक्षम होना चाहिए जो पूरी तरह से मोनो पर निर्भर होना चाहिए।
माइकल शुबर्ट

जवाबों:


9

हालांकि यह आपकी तुरंत मदद नहीं करेगा, लेकिन लोम्सी एक देशी लिनक्स संस्करण पर काम कर रहा है। यह आपके जैसी निर्देशिका संरचना को संरक्षित करता है, इसलिए यह जांचने योग्य है कि क्या यह आपके लिए दीर्घकालिक मुद्दा बनने जा रहा है। दुर्भाग्य से, लिनक्स पर .msi समर्थन बहुत विरल लगता है, इसलिए वाइन के माध्यम से लेसमी या एमएसआईएक्सईसी आपका एकमात्र तत्काल विकल्प हो सकता है, भले ही (जैसा कि आपने कहा) शराब अभिलेखागार निकालने के लिए एक बहुत भारी निर्भरता है।


यह वास्तव में सबसे अच्छा समाधान प्रतीत होता है, वाइन का उपयोग करते हुए और लिनक्स के लिए लेसमी का इंतजार करते हुए।
माइकल शुबर्ट

4
FYI करें: लेसमी की नवीनतम रिलीज़ में मैंने कैब एक्सट्रैक्शन कोड को लिबासपैक पर ले जाने में कामयाबी हासिल की जो एक पोर्टेबल लाइब्रेरी है जिसे लिनक्स पर भी चलना चाहिए। इसलिए हमने हाल ही में लिनक्स समर्थन की दिशा में एक ठोस कदम उठाया है। जल्द ही मुझे पोर्टेबल msi lib का उपयोग करने की उम्मीद है, जो सब कुछ पोर्टेबल बना देगा।
स्कॉट विलेके

-1। लिनक्स संस्करण अभी भी कई वर्षों के बाद मौजूद नहीं है, और चूंकि सवाल है कि वाइन का उपयोग किए बिना एमएसआई फ़ाइलों को ठीक से निकालने का कोई तरीका है, तो यह जवाब नहीं है। मैंने msitools पैकेज के बजाय msiextract ( sudo apt install msitoolsउबंटू में) का उपयोग किया है जैसा कि उपयोगकर्ता2828 द्वारा उत्तर में अनुशंसित है।
लिसनारो रेएन

19

Msiextract को एक कोशिश दें, https://live.gnome.org/msitools

और खुले कीड़े!


14.04 के लिए कोई पैकेज नहीं मिला है और इसके निर्माण के लिए बहुत सारे उपकरण / काम और कौशल की आवश्यकता होती है। ऊपर उठना
harry

1
यह डेबियन में है, और ubuntu willy: launchpad.net/ubuntu/+source/msitools । फिर आप बस "msiextract file.msi" को कॉल कर सकते हैं और यही है, और अधिक कौशल की आवश्यकता नहीं है।
15:28 बजे user2834

यहाँ काम करता है, और फ़ाइल नाम और पथ संरक्षित करता है। धन्यवाद।
साइमन ए। यूजस्टर

1

आप कैबटेक्ट्रेक नामक सॉफ्टवेयर की कोशिश कर सकते हैं - कम से कम उबंटू में इसके लिए पैकेज हैं, मुझे उम्मीद है कि यह अन्य लोकप्रिय डिस्ट्रो से भी मिल जाएगा।


4
संकेत के लिए धन्यवाद, लेकिन कैबरेक्ट्रेक्ट भी आंशिक रूप से फाइलनेम और निर्देशिकाओं का संरक्षण नहीं करता है (इसलिए यह 7 मिलियन से अधिक खराब प्रदर्शन करता है)।
माइकल शुबर्ट

MSI प्रारूप कई परतें हैं: शीर्ष स्तर पर यह एक डिस्क छवि है, जिसमें डेटा ब्लॉक .msi फ़ाइल के अंदर चारों ओर बिखरे हुए हैं। यदि आप डिस्क छवि को डीकोड करते हैं, तो इसमें कई फाइलें होती हैं, जिसमें एक .cab फाइल, और डेटाबेस फाइलें शामिल हैं। कैबस्ट्रेक्ट .msi छवि के अंदर CAB फ़ाइल हेडर पाता है, लेकिन जैसा कि पूर्ण .cab फ़ाइल सन्निहित नहीं है, वह इसे नहीं निकाल सकता है। 7zip डिस्क छवि और फिर CAB फ़ाइल को निकाल सकता है , लेकिन यह नहीं जानता है कि डेटाबेस फ़ाइलों को कैसे पढ़ा जाए, जो CAB फ़ाइल प्रविष्टियों को उनके असली इंस्टॉलेशन पथों पर मैप करते हैं, जैसे कि लोम्सी करता है।
स्टुअर्ट केई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.