2009-02-11 11 views
30

मर्ज करें मेरी परिनियोजन प्रोजेक्ट और .msi-file और an.exe-file बनाता है। क्या इन्हें एक .exe में मर्ज करना संभव है?एमएसआई और एक्सई

उत्तर

24

हां, आप एक स्वयं निकालने वाले इंस्टॉलर बना सकते हैं जिसमें एमएसआई और setup.exe बूटस्ट्रैप फ़ाइल दोनों शामिल हैं।

मुझे लगता है कि WinZip के साथ ऐसा करना संभव है, या आप विंडोज के साथ आईईएक्सप्रेस का उपयोग कर सकते हैं। यहां एक गाइड है कि a self-extracting executable with IExpress कैसे बनाएं। आप या तो IExpress विज़ार्ड का उपयोग कर सकते हैं या मैन्युअल रूप से एक कॉन्फ़िगरेशन फ़ाइल लिख सकते हैं जिसे आप अपने सेटअप प्रोजेक्ट के पोस्ट-बिल्ट चरण में निष्पादित कर सकते हैं, उदा।

IExpress /N /Q MySetup.sed 

एक नमूना विन्यास फाइल को फोन करके इस प्रकार दिखाई देगा:

[Version] 
Class=IEXPRESS 
SEDVersion=3 
[Options] 
PackagePurpose=InstallApp 
ShowInstallProgramWindow=1 
HideExtractAnimation=1 
UseLongFileName=1 
InsideCompressed=0 
CAB_FixedSize=0 
CAB_ResvCodeSigning=0 
RebootMode=N 
InstallPrompt=%InstallPrompt% 
DisplayLicense=%DisplayLicense% 
FinishMessage=%FinishMessage% 
TargetName=%TargetName% 
FriendlyName=%FriendlyName% 
AppLaunched=%AppLaunched% 
PostInstallCmd=%PostInstallCmd% 
AdminQuietInstCmd=%AdminQuietInstCmd% 
UserQuietInstCmd=%UserQuietInstCmd% 
SourceFiles=SourceFiles 
[Strings] 
InstallPrompt= 
DisplayLicense= 
FinishMessage= 
TargetName=MySetup.exe 
FriendlyName=My cool application 
AppLaunched=CMD /C setup.exe 
PostInstallCmd= 
AdminQuietInstCmd= 
UserQuietInstCmd= 
FILE0="setup.exe" 
FILE1="MySetup.msi" 
[SourceFiles] 
SourceFiles0= 
[SourceFiles0] 
%FILE0%= 
%FILE1%= 

आत्म निकालने संस्थापक परिदृश्यों के साथ एक छोटे से चेतावनी हालांकि नहीं है। किसी अन्य फिक्स के कारण ये परिदृश्य V122008 SP1 द्वारा बनाए गए बूटस्ट्रैपर (setup.exe) के साथ broken हैं। एक कामकाज के लिए निम्नलिखित धागा देखें: http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/?ffpr=0

+0

VS.NET 2008 सेटअप Bootstrapper साथ काम नहीं करता। – Martin

+0

हां, यह एक बग के कारण काम नहीं करता है। एक लिंक के लिए मैंने जो लिंक पोस्ट किया है (http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/?ffpr=0) देखें। –

+0

[स्ट्रिंग्स] में PostInstallCmd लाइन को PostInstallCmd = पढ़ना चाहिए, अन्यथा यह आपको इंस्टॉलेशन पूर्ण होने पर "त्रुटि बनाने की प्रक्रिया" संदेश देगा। –

2

मुझे यह पसंद है, आप देख सकते हैं कि this link पर IExpress का उपयोग कैसे करें!

मुझे दिखाई देने वाली एकमात्र समस्या यह थी कि मैंने विंडोज विस्टा 64 बिट्स पर एक इंस्टॉलर जेनरेट किया है, मैं विंडोज सर्वर 2008 32 बिट्स के साथ सर्वर में जेनरेट किए गए .exe को स्थापित करने का प्रयास कर रहा था, लेकिन यह प्रोसेसर प्रकार के बारे में एक त्रुटि फेंकता है।

+4

मैं इसमें भी भाग गया, आप C: \ Windows \ SysWoW64 \ IExpress.exe को C: \ Windows \ System32 में से किसी एक के बजाए इसे ठीक कर सकते हैं। इस तरह यह हमेशा 32-बिट exe उत्पन्न करेगा। –

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