Visual Studio 2013'te bir uygulama kurulumu oluşturun


90

Zaten inşa etmeye hazır bir projem var. Şu anda visual studio 2013 kullanıyorum.

Ancak, visual studio 2013'te bir MSI kurulumunu nasıl oluşturacağımı bilmiyorum, ancak visual studio 2010 için, visual studio 2010'da bir kurulumun nasıl oluşturulacağını tartışan pek çok eğitim var.

  • Bu, projem için bir uygulama kurulumu oluşturmak için visual studio 2010'u yüklemem gerektiği anlamına mı geliyor?

  • Visual Studio 2013'te bir uygulama kurulumu oluşturmanın en kolay yolu nedir?


2
Windows Installer XML'i (WIX) deneyin , son derece özelleştirilebilir ve genişletilebilir, ayrıca bunu CI yapılarınızla entegre edebilirsiniz. Uygulama kurulum projeleri 2012'de kaldırıldı, yine de hızlı ve kirli bir yükleyiciye ihtiyacınız varsa, bir noktada dahil edilen Installshield SE'yi kullanabilirsiniz. 2013'te WIX kullanma
Mgetz

VS 2012 ve sonrası 2010'daki gibi dağıtım projesi yok
kostas ch.

1
Bir kez tıklamaya ne dersiniz efendim @Mgetz? ve tıklamayı bir kez nasıl kullanırım?
Kaoru

@Kaoru Clickonce'un VS'nin herhangi bir sürümünde güvenilir bir şekilde çalışmasını hiç elde edemedim, bu yüzden çok yardımcı olmayacağım. Ancak teoride işe yarayacaktı.
Mgetz

2
Clickonce'nin oldukça tuhaf bazı özellikleri vardır: Otomatik güncelleme yapabilmesi için aynı kurulumun yeni sürümlerini orijinal kurulum dizininden çalıştırmanız gerekir. Ek olarak, ekli klasörü clickonce .exe ile taşımanız gerekiyor gibi görünüyor. Yaptığım şey, Clickonce kurulum malzemelerini winrar ile SFX arşivinin içine yerleştirmek, her zaman geçici dizinden çalıştırmak ve esasen bir "bir kereden bile daha az bir yükleyici tıklama" oluşturmaktı.
Traubenfuchs

Yanıtlar:


131

Microsoft, Visual Studio'da yükleyicileri (MSI) destekleme çığlığını dinledi ve Visual Studio Yükleyici Projeleri Uzantısını yayınladı . Artık VS2013'te yükleyiciler oluşturabilirsiniz , uzantıyı görsel araştırma bölümünden buradan indirebilirsiniz .

görsel-stüdyo-yükleyici-proje-uzantısı


1
Yeni ve harika bilgiler. Microsoft, ilgili makalesi KB2900817
satoc

@peer VS 2012'de çözüm değil mi? Alternatifler? VS2012'de tam kaynak kod örnekleri?
Kiquenet

@kiquenet hayır, vs2012 desteklenmiyor. Çoğu proje, herhangi bir çalışmayla vs2013'e ve vs2012 ile geriye dönük uyumlu olarak yükseltilir.
Peter

4
Makaleyi okumakla uğraşmayın ... yalnızca aşağıdakileri yapmanızı söyler: Araçlar -> Uzantılar ve Güncelleme'ye gidin. ÇEVRİMİÇİ sekmesini seçin. "Visual Studio Yükleyici Projeleri Uzantısı" nı arayın
Mahkum SIFIR

Bir VS 2010 çözümüm var, içinde bir kurulum projesi var, çözüm VS 2010 ile oluşturulduğunda, bir msi dosyası oluşturulur. Artık sadece VS 2013'ümüz var ve kurulum projesini değiştiremiyorum / taşıyamıyorum. Msi dosyasını oluşturmak için ne yapmalıyım?
Jirong Hu

10

Visual Studio 2012'den itibaren Microsoft artık yerleşik dağıtım paketini sağlamamaktadır. Bu paketi kullanmak isterseniz, VS2010 kullanmanız gerekecektir.

2013'te birkaç seçeneğiniz var:

  • InstallShield
  • WiX
  • Kendininkini yuvarla

Projelerimde, Windows Installer kullanmadığım için eski makinelerde bile süper hızlı olma avantajına sahip olan kendi yükleyicilerimi sıfırdan oluşturuyorum.


@ Ming-slogar, bizimle paylaşmak istediğiniz böyle bir yükleyiciye sahip herhangi bir örnek uygulamanız var mı?
Highmastdon

@Highmastdon: Temel olarak, yüklü .NET'i kontrol eden ve bir WPF GUI yükleyicisini başlatan yerel C ++ (C ++ çalışma zamanı kitaplıklarını önceden yüklemeden çalışacak şekilde yapılandırılmış) ile bir yükleyici önyükleyici oluşturdum. WPF yükleyici, kullanıcının bir dizi seçenek belirlemesine ve ardından dosyaları kopyalayıp kayıt defteri anahtarlarını yazmasına izin verdi. Bir "örnek" uygulamam yok - üzerinde çalıştığım projede yükleyiciyi kullanıyorum, ancak ihtiyacınız olursa bir örnek almaya çalışabilirim.
Ming Slogar

Bunun tam bir örneğini gerçekten görmek isterim. Paylaşmak ister misin? Kodun kendisi değil, konsept ve deneyimlerinizden bir şey? Gibi yapmak nasıl gömmek (: / değil ovewrite vb üzerine yazma dosyaların kopyalanması listesi kuralları) ortak şeyleri otomatik hale nasıl monte olacak projenize. Ayrıca NSIS atm kullanıyorum, ancak betik dilinden, çirkin modern kullanıcı arayüzünden ve çok çok yavaş tasarımından (hala xp taş devrinde) sıkıldım.
Sinatr

@Sinatr Derlemeleri gömmek için hem C ++ hem de C # 'de kaynak dosyalarını yoğun bir şekilde kullandım. Dosyaları kopyalamak için aslında tembeldim ve her dosya işlemini elle yazdım (örneğin , dosya türüne göre File.WriteAllBytesveya kullanarak File.WriteAllText). Var olan dosyaların üzerine yazma işlemini yapmadım - tüm derlemelerimin önüne uygulama adım (örn. AppName.Controls.dll, AppName.Images.dll) eklenmişti, bu nedenle yinelenen bir dosyanın şansı çok düşük olurdu. Her olası senaryoyu işlemek istiyorsanız, Windows Installer'ın yaptığını yapmanız gerekir - bu da özelleştirme amacını ortadan kaldırır.
Ming Slogar

7
@Kiquenet Özel yükleyicimin kodunu buraya yükledim: drive.google.com/… . Eksik bağımlılıklar nedeniyle oluşmayacak (onu canlı bir projeden aldım), ancak en azından yükleyiciyi nasıl oluşturduğumu görebilirsiniz.
Ming Slogar

3

Visual Studio 2013 artık kurulum projelerini desteklemektedir. Microsoft, kurulum projeleri üretmek için bir Visual Studio uzantısı göndermiştir.

Visual Studio Yükleyici Projeleri Uzantısı


Merhaba @Hamid, Pencere formu MSI kurulumunu tamamladıktan sonra, ham dosyalarım (Tasarım ve kodlama) da kurulum yerinde gösteriliyor. Bu uygulamayı visual studio 2010 kullanarak geliştirdim. Kurulum başarıyla oluşturuldu, ancak MSI kurulumundan sonra bu sorun oluşuyor. Lütfen bana yardım et. Şimdiden teşekkürler.
dilipkumar1007

Sorunuzu anlamaya çalışıyorum. visual studio 2010 ile bir enstalasyon projesi oluşturdunuz ve visual studio 2013 ile çalışmıyor mu?
Hamid Şahid

2

Microsoft , durdurulan "Dağıtım ve Kurulum Projesi" yerine "Visual Studio için InstallShield Sınırlı Sürüm" kullanılmasını önerir - ancak bu o kadar hoş değildir ve başka hiç kimse bunu kullanmanızı önermiyor. Ancak basit kurulumlar için ve ticari üçüncü taraf ürünlere geçiş yapmak bir sorun değilse, onu kullanabilirsiniz.

Alternatif, Windows Installer XML (WiX) kullanmaktır , ancak Kurulum Projesini kendi başına yapan birçok şeyi manuel olarak yapmanız gerekir.


Tamamen @Kiquenet katılıyorum - Sen den öğretici deneyebilirsiniz wix.tramontana.co.hu
Habakuk

2015LE'yi VS 2010'un içine kuruyorum ve VS 2010 içinde bir IS kurulum projesi oluşturabiliyorum. Şimdi bu projeyi Jenkins'te nasıl çağırabilirim? Jenkins için InstallShield eklentisi, 2015LE'de bulamadığım ISCmdBld.exe yolunu soruyor.
Jirong Hu



1

Neredeyse benzer problemi nasıl çözdüğümü anlatacağım. VS 2013 kullanarak bir uygulama geliştirdim ve başarısız olduğu için sihirbaz oluşturmaya çalıştım. Daha sonra premium VS'yi kurdum ve denedim ve başarısız oldum.

sonunda "ClickOnce" kullandım ve iyi çalıştı.

Bu yüzden burada da "TIKLAMA" nın size yardımcı olacağına inanıyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.