2010-02-04 17 views
19

Ürünlerini gerçekten üretime tanıtan programcılar bir yükleyiciye ihtiyaç duyarlar. (Önleyici justificaton "programlama ile ilgili".)Yükleyici özellikleri, WIX vs InstallShield Express

dahili kurumsal uygulamalar ve hizmetlerin yeni bir paketi dağıtırken, ben WIX ve Visual Studio 2010.

ile gelir InstallShield Express sürümü kullanma arasında karar vermeye çalışıyorum

Baktım, ancak ifade baskısında olmayan özellikleri vurgulayan bir özellik matrisi bulamadık. WIX'in genel olarak oldukça yetenekli olmasını, ancak kullanımı daha zor olmasını ve situations that WIX doesn't support well.

'u duymasını bekledim Bir özellik matrisi bulmuş veya dahili dağıtımları yönetmenin uzun vadede en iyi yolu hakkında başka tavsiyelerde bulunmuş mu?

+1

Visual Studio 2010 ile birlikte gelen InstallShield sürümü, Express sürümü değil, sınırlı bir sürümdür: http://blogs.msdn.com/somasegar/archive/2009/12/14/building-setup-and-deployment -packages-in-vs-2010.aspx VS2010 betalarını deniyorsanız, ihtiyaçlarınızı karşılayıp karşılamadıklarını görmek için InstallShield Limited Edition betalarını da denemelisiniz. –

cevap

10

ben wix harika bir seçim

  • Kurulum tanımı XML formatında saklanır çünkü karmaşık bir ortamda yükleyicilerini yönetmeniz gerekiyorsa (çok çok dik öğrenme eğrisi rağmen) bulmak
  • Temeldeki windows yükleyici teknolojisine tam denetim sağlar; XML şeması tipik yakından
  • It izin verir generated automatically
  • olabilir kurulum integrate into your automated build
  • Parça kolaydır (öğrenme eğrisi çok dik olmasının temel nedeni de) windows yükleyici veritabanı şemasını takip Yeniden kullanılabilir küçük modülleri tanımlamak ve bunlar arasındaki karmaşık bağımlılıkları yönetmek.
  • hiçbir maliyeti veya lisans sorunları XML formatı bir avantajdır Neden

(wix önce hepimiz tek bir "Installshield PC" kullanmak zorunda): Bu tamamen yıkılma veya mercurial gibi kod sürüm sistemlerini kaldıraç sağlayan . Değişiklikleri gözden geçirme, geçmişi inceleme, hatta şubeler arası değişiklikleri birleştirme bile çok kolay.Bunu opak ikili bloklar olan yükleme projeleriyle karşılaştırın.

Karmaşık bağımlılıkları yöneterek kastettiğim şey: bizim durumumuzda, aralarında karmaşık bir bağımlılıklar kümesine sahip büyük bir yeniden kullanılabilir bileşen kitaplıkları havuzumuz ve bunların üzerine inşa edilen birçok uygulama var. Wix'ten önce, yeni bir bağımlılık bir yere getirildiğinde bu bir kabus oldu: TÜM kurguların güncellenmesi gerekiyordu.

Artık wix ile, her kitap için wixlibs çiftine ayrılmış bir ComponentGroup sahibiz. Her bileşen grubu, bir ComponentGroupRef ile bağlı olduğu diğer bileşen gruplarına başvurur. Uygulama kurulum geliştiricileri yalnızca doğrudan bağımlılıkların bileşen gruplarına başvurmalıdır ve wix referansları izleyerek gerisini halledecektir. Sonuç olarak, yeni bir bağımlılığın getirilmesi sadece tek bir yerel değişiklik yapılmasını gerektirir. Otomatik kurulumlarımız ve wix'imiz tüm kurulumları yenilemek için geri kalanını yapıyor.

+0

Teşekkürler, beni WIX ile gitmeye ikna ettiniz. Umarım elinizdeki gibi sorunsuz çalışabiliriz. – DanO

+1

Wix kullanarak herhangi bir tam örnek? – Kiquenet

1

kalkan yükleyin için özellik matrisi burada bulunabilir:

http://www.flexerasoftware.com/products/installshield/features.htm

Ancak IIS bölümünde (Benim daha önceki soruya linke göre IIS ihtiyaç varsayıyorum) için diyor hepsi "dir Sınırlı". Limited'in ne anlama geldiğini tahmin etmek size kalmıştır, ancak bahse girerim kurumsal düzeyde bir dağıtımı desteklemeyecektir.

+0

Detayları bulduğunuz için teşekkür ederiz. Eminim sınırlamalar konusunda haklısınızdır. Müşterilerin kurumsal para ile satış yapmasını sağlamak için kurumsal müşterinin ihtiyaç duyacağı şeyleri tam olarak sınırlamak zorundadırlar. – DanO

6

InstallShield Express, temel dağıtımlar içindir (WinZip'in övgüye değer başka bir şey değildir). Ayrıca en sevdiğim AdvancedInstaller'u da kontrol edebilirsin. Onlar da ücretsiz ekspres baskı var ama ben her ikisi de sizin için hiçbir yararı olmayacaktır, çünkü IIS, MS SQL, Active Directory, GAC vb ile bir şey yapmanız gerekiyorsa, "kurumsal düzeyde" sürümleri gerekir. WiX ücretsizdir ancak öğrenme eğrisi o kadar diktir ki, öğrenmeye değmez. Hiç öğrenemediğim için pişmanım.

Yalnızca dahili dağıtımlar için buna ihtiyacınız varsa ve yükleyiciye 1.000 dolar harcayamazsanız, kendi "kurulum" projenizi sıfırdan oluşturmalısınız. System.EnterpriseServices.Internal ad alanı, IIS, GAC vb. Için bazı yararlı paketleyicileri içerir. System.Configuration.Install.ManagedInstallerClass, Windows hizmetlerini dağıtmanıza yardımcı olabilir. Diğer bir deyişle, kendi programınızı birincil ürününüzün dağıtımı için gerekli tüm adımları uygulayabilen sıfırdan yapabilirsiniz. Birçok şirket kendi amiral gemisi ürünleri ticari montajcılar için kullanmazlar, kendileri yaparlar.

+0

Özel kurulum seçenekleri için InstallShield'dan ve NetNet sınıflarına doğru işaretçi için teşekkürler. Bu bize yardımcı olabilir. Sanırım WIX'e bir şans vereceğim, ama yaptığınız kadar fazla sorun bulursam, diğer şirketlerin sadece gerektiğinde kendi yükleyicilerini kurduklarını bilmek güzel. – DanO

+0

Bir yükleyiciye 1000 harcayamıyorsunuz, ancak kendi geliştirmeniz için geliştirme haftalarını (geliştiricilerin para harcayarak) "harcayabiliyorsunuz". – anon2009

+4

@ anon2009, bu şaşırtıcı olabilir, ancak çoğu şirkette, geliştiricinin haftada bir kurucuda 1000 $ alması için ikna ediciden daha kolay bir şekilde kendi kurucusunda çalışması daha kolay. Ayrıca, kurumsal lisans için 1000 $ maliyet genellikle geliştirici başına, bu yüzden daha büyük şirketlerde daha ucuz ve lisansları düzine satın almak yerine kendi araçlarını oluşturmak için daha esnek. –