wix कई एमएसआई फ़ाइलों की स्थापना के लिए बंडल करने के लिए वाईएक्स या इनो सेटअप का उपयोग करें




windows-installer inno-setup (2)

मैं एक पायथन अनुप्रयोग के लिए एक MSI इंस्टॉलर बनाने के लिए cx-freeze का उपयोग करता हूँ। चलो इसे आवेदन "ए" कहते हैं। यह अन्य एप्लिकेशन "बी" पर निर्भर करता है। मैं "इंस्टॉलर" को "ए" के लिए "बी" के लिए MSI इंस्टॉलर को शामिल करने और चलाने के लिए चाहूंगा। मैं इनो सेटअप या वाईएक्स टूल्ससेट का उपयोग कर एक बूटस्ट्रैपिंग / चेनिंग इंस्टॉलर कैसे बना सकता हूं?


आपको बूटस्ट्रैपर / चेनर का उपयोग करना होगा उदाहरण के लिए, वाईएक्स टूलसेट एक ऐसी अवधारणा प्रदान करता है जिसे Bundle कहा जाता है जो एक ही स्थापना में कई संकुल को जोड़ सकता है।


यहां एक बुनियादी इनो सेटअप स्क्रिप्ट है जो एक ही सेटअप कार्यक्रम में दो एमएसआई प्रतिष्ठानों को बंडल करता है। चूंकि इंस्टॉलर केवल MSI फ़ाइलों को स्थापित करने के लिए मौजूद है, इसलिए कोई एप्लिकेशन निर्देशिका की आवश्यकता नहीं है। एप्लिकेशन निर्देशिका बनाने से बचने के लिए, "CreateAppDir = no" का उपयोग करें (धन्यवाद TLama!)

[Setup]
AppName=My Bundle Installer
AppVersion=0.1
DefaultDirName={pf}\MyCo\MyBundle
DefaultGroupName=My Bundle Group
Uninstallable=no
CreateAppDir=no

[Files]
Source: "A.msi"; DestDir: "{tmp}"
Source: "B.msi"; DestDir: "{tmp}"

[Run]
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\A.msi"""
Filename: "msiexec.exe"; Parameters: "/i ""{tmp}\B.msi"""