2011-02-11 16 views
6

मेरे पास एक विजुअल स्टूडियो 2005 प्रोजेक्ट (सी #) है जो डेटा स्टोरेज इंजन के रूप में MySQL का उपयोग करता है, मैं एक एमएसआई पैकेज बनाना चाहता हूं जो ऐप इंस्टॉल करता है, और चुपचाप MySQL इंस्टॉल करने के बाद। मैं इसमें देख रहा हूं लेकिन मुझे ज्यादा जानकारी नहीं मिली।विजुअलस्टूडियो 2005 अनुप्रयोग के साथ MySQL सर्वर को तैनात करें

मैं चुपचाप MySQL पैकेज स्थापित किया है और कॉन्फ़िगर यह सीएमडी

में इस दो statments साथ के बाद स्थापित करें:

msiexec /qb /i "c:\mysql.msi" /l* d:\log_mysql_test.txt INSTALLDIR=d:\mysql_test_mdps 

कॉन्फ़िगर:

D:\mysql_test_mdps\bin\MySQLInstanceConfig.exe -i -q "-lD:\mysql_config_log.txt" "-pD:\mysql_test_mdps\bin" "-tD:\mysql_test_mdps\my-template.ini" "-cD:\mysql_test_mdps\my.ini" -v5.5.9 ServerType=DEVELOPMENT DatabaseType=MIXED ConnectionUsage=DSS Port=53306 ServiceName=MySQL_AGM RootPassword=root1234 SkipNetworking=no AddBinToPath=yes 

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

मुझे आशा है कि तुम मुझे मार्गदर्शन कर सकते हैं :)

संपादित करें: मैं कस्टम क्रियाओं के साथ समाधान के आसपास काम कर रहा है, मैं इस article कि एक कस्टम संस्थापक क्लास का उपयोग कस्टम कार्रवाई ले जाने के लिए मिल गया है। यह पहली जगह ठीक दिखता है लेकिन मुझे समस्या हो रही है क्योंकि जब मेरा एमएसआई पैकेज दूसरे एमएसआई इंस्टॉलर (MySQL) को लॉन्च करने का प्रयास करता है तो मुझे कोड 2869 के साथ एक त्रुटि मिलती है जो "एक्सेस अस्वीकृत" कहती है।

मैं भी इस समस्या को तलाश रहे हैं और इस तरह जब पहली एमएसआई दूसरा एमएसआई यह सही विशेषाधिकार लागू नहीं है और स्थापना विफल चलाने के लिए कोशिश कर रहा है देखो ...

क्या तुम जानते हो मैं क्या कर सकता हूँ? या मैं दूसरा एमएसआई इंस्टॉलर कैसे लॉन्च कर सकता हूं? पूर्ण विशेषाधिकार (या कम से कम पहले इंस्टॉलर के समान)

यह वह कोड है जिसका उपयोग मैं प्रक्रिया ऑब्जेक्ट बनाने के लिए कर रहा हूं।

string arg1 = "/qb /i \"" + filepath + "\" /l* \"" + Path.Combine(installpath, logfile) + "\" INSTALLDIR=\"" + installpath + "\""; 

Process p = new Process(); 
p.StartInfo.FileName = "msiexec.exe"; 
p.StartInfo.Arguments = arg1; 
p.Start(); 

उत्तर

1

क्या आप विजुअल स्टूडियो इंस्टॉलर का उपयोग कर रहे हैं? यदि हां, तो आप इंस्टालर (समाधान एक्सप्लोरर में) पर सही माउस बटन साथ क्लिक पर जाने के लिए है, तो देखें के पास जाओ और संदर्भ मेनू पर क्लिक करें कस्टम क्रिया

के साथ एक नया पेड़ कस्टम क्रिया स्क्रीन के केंद्र में दिखाई देना चाहिए। उसके बाद, आप फ़ोल्डरों और चुनें कस्टम कार्रवाई जोड़ें (जब आप कार्रवाई जोड़ना चाहते हैं पर निर्भर करता है) के किसी भी राइट क्लिक कर सकते हैं ...

आशा यह आपके लिए उपयोगी है ...

+0

हाय, धन्यवाद, मैं कोशिश करने जा रहा हूँ कस्टम क्रियाएं :) – SubniC

3

आपको एक और msiexec.exe शुरू करने की आवश्यकता नहीं है। विजुअल स्टूडियो आपको एक निष्पादन योग्य को कस्टम एक्शन के रूप में उपयोग करने देता है। तो कस्टम कार्रवाई

नीचे देखें।छवि इस link से है: Custom Action

चेक बाहर ऊपर के लिंक में एक कस्टम कार्रवाई खंड के रूप में एक निष्पादन कॉलिंग। अब अगर यह अन्य तरीके से काम नहीं करता है तो डिफ़ॉल्ट बूटस्ट्रैपर को संशोधित करता है।

इस लिंक में 0xA3 द्वारा उत्तर देखें।
Running another program from c# setup project

और यह उतना जटिल नहीं है जितना दिखता है। :)

bootstrapper को prequisites जोड़ने के लिए कुछ और अधिक लिंक:
Authoring a Custom Bootstrapper Package for Visual Studio 2005
Visual Studio Setup & Deployment: Adding Pre Requisits

इसके अलावा आप इस पर एक नज़र रखना चाहिए:
MYSQL installation with a .NET winforms app

+0

धन्यवाद @ एसेम मैं कार्य को पूरा करने की कोशिश करूंगा जैसा कि आप मुझे बताते हैं :) – SubniC

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