2011-02-11 21 views
6

Veri depolama altyapısı olarak MySQL kullanan bir Visual Studio 2005 projem var (C#), uygulamayı yükleyen bir MSI paketi oluşturmak ve MySQL'i sessiz bir şekilde yükledikten sonra oluşturmak istiyorum. Baktım ama fazla bilgi bulamadım.Visual Studio 2005 uygulamasıyla MySQL sunucusunu dağıtma

Ben sessizce MySQL paketini yüklenmiş ve CMD

bu iki statments ile yapılandırmak onu sonra yükleyin adres:

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

Yapılandırma:

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 

Ama şimdi benim yok Visual Studio'nun, başvurumu yüklemeden önce veya sonra yapmasını nasıl söyleyeceğimi bil. Google’ı ziyaret ettim, ancak herhangi bir yararlı yardım bulamadım.

Bana rehberlik umut :)

DÜZENLEME: özel eylemler ile çözümü etrafında çalışıyor olması i Özel eylemler gerçekleştirmek için özel bir yükleyici sınıfını kullanın bu article buldum. İlk etapta iyi görünüyor ama bir sorunla karşılaşıyorum çünkü MSI paketim ikinci MSI yükleyiciyi (MySQL) başlatmaya çalıştığında "Erişim Reddedildi" yazan 2869 kodunda bir hata alıyorum. Ben ve birinci MSI ikinci MSI doğru ayrıcalıkları geçerli değildir ve yükleme başarısız çalıştırmak çalıştığında benziyor yanı bu soruna arıyordum

...

biliyor musunuz ne yapabilirim? veya ikinci MSI yükleyicisini nasıl kurabilirim? Tam ayrıcalıklarla (veya en azından ilk yükleyici ile aynı)

Bu, Process nesnesini oluşturmak için kullandığım koddur.

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(); 

cevap

1

Visual Studio Installer kullanıyor musunuz? Eğer öyleyse, (Çözüm Explorer olarak) Installer üzerinde sağ fare düğmesi ile tıklama gitmek ettik, sonra Görünüm gidip bağlam menüsünde Özel İşlemleri tıklayın .

Ekranın ortasındaki Özel İşlemler ile yeni bir ağaç görünmelidir. Ardından, ... Bu sizin için yararlı olur ...

Umut Özel işlem ekle ve seçin (eylemi eklemek istediğinizde bağlı olarak) klasörlerin herhangi sağ tıklayabilirsiniz

+0

özel eylemler :) – SubniC

3

Başka bir msiexec.exe başlatmanız gerekmez. Visual Studio ayrıca bir yürütülebilir eylemi özel eylem olarak kullanmanıza da olanak tanır. Bu nedenle özel eylem

10 Aşağıya bakın.Görüntü bu link dan: Yukarıdaki linkte özel bir eylem
bölümü olarak bir yürütülebilir çağrılması Custom Action

atın . Şimdi eğer bu işe yaramazsa, varsayılan önyükleyiciyi değiştirin.

Bu bağlantıdaki yanıtı 0xA3 adresinden inceleyebilirsiniz.
Running another program from c# setup project

Ve göründüğü kadar karmaşık değil. :)

Önyükleyici için prequisites eklemek için bazı daha bağlantıları

: şuna bir göz atmalısınız
Authoring a Custom Bootstrapper Package for Visual Studio 2005
Visual Studio Setup & Deployment: Adding Pre Requisits

Artı:
MYSQL installation with a .NET winforms app Merhaba, teşekkürler, ben denemek için gidiyorum

+0

Teşekkürler @Aseem bana anlattıkça görevi yerine getirmeye çalışacağım :) – SubniC