2009-02-20 26 views
11

Yeni bir InstallShield projesi başlatmak üzereyim.Bir InstallShield proje türü seçme

  1. Temel MSI
  2. InstallScript
  3. InstallScript-MSI

her birinin avantaj ve dezavantajları nelerdir: Proje türü için üç seçenek vardır? Hangisini seçmeliyim?

+0

Lütfen aşağıdaki yorumları okuyun. ** Installscript MSI proje tipini tüm maliyetlerden kaçının **. –

cevap

18

Temel MSI:

Bu standart kurulum türüdür. Hemen hemen tüm yükleme için Windows Installer kullanır (önkoşullar, dil seçimi ve diğer bazı şeyler setup.exe tarafından ele alınır). MSI, yüklemenin nasıl çalıştığını açıklayan birçok tablo içeren bir veritabanıdır. Masaların sayısı ilk başta biraz zorlayıcı olabilir, ancak InstallShield bunu soyutlamak için iyi bir iş çıkarır; Çoğu zaman veritabanı tablolarını doğrudan düzenlemeniz gerekmez.

Bu, en yaygın yükleme türüdür, bu nedenle bu konuda birçok bilgi bulunmaktadır. InstallShield forum mükemmel bir bilgi kaynağıdır. Ayrıca, birçok kurulum MSI'ları kullanır, bu yüzden eğer onları anlarsanız, diğer kurulumların ne yaptığını anlamak daha kolay olacaktır (örneğin, kurulumunuzun bir parçası olarak başka bir üreticinin MSI'sını yüklemeniz gerekiyorsa). Sessiz kurulumlar, komut satırı argümanı ile kolayca gerçekleştirilebilir.

Maalesef, MSI, yüklemeyi veritabanı tabloları aracılığıyla denetlediğinden, bir öğrenme eğrisi biraz var. MSI tablolarını doğrudan düzenlemek zorunda kalırsanız, ilk başta kafa karıştırıcı olabilir, çünkü birçok tablo vardır ve bazı amaçları ve etkileşimleri inceliklidir. Ayrıca, tüm etkileşimlerin tablolarla kontrol edilmesi gerektiğinden, bir MSI'da diyaloglar oluşturmak ve sıralamak daha zordur. Özel MSI iletişim kutuları oluşturulabilir, ancak yalnızca C++ ile oluşturulabilir.

Bu proje türünü çoğu kullanım için öneririm.

InstallScript:

Bu projeler yerine Windows Installer yazılım yüklemek için bir yükleme komut dosyasını kullanabilirsiniz. Yükleme komut dosyası doğrusal bir program olduğundan, nasıl çalıştığını anlamak daha kolay olabilir. Bu proje tipinin bir avantajı, diyalog oluşturma ve sıralamanın daha kolay olmasıdır. Ayrıca, InstallScript diyalogları da cildinize eklenebilir ve MSI diyaloglarından biraz daha iyi görünebilir. Sessiz bir yükleme çalıştırmak, kullanıcı arabirimini denetlemek için ayrı bir "yanıt dosyası" gerektirir. Belirli bir nedeniniz yoksa (örneğin, MSI tarafından desteklenmeyen bir şekilde yükleme davranışını tam olarak denetlemeniz gerekiyorsa) bu proje türünü kullanmanızı önermem.

InstallScript MSI:

Bu aslında gerçek bir yükleme kontrol etmek UI ve bir MSI kontrol etmek InstallScript kullanan bir Temel MSI projedir. Kurulumu kontrol etmek için bir MSI kullanma avantajına sahiptir, ancak diyaloglarla çalışmak daha kolaydır. Sessiz bir kurulum sırasında UI'yi kontrol etmek için hala bir yanıt dosyası gerektirir. Sessiz yüklemelere önem vermiyorsanız veya karmaşık bir UI iletişim dizisine sahipseniz, bu proje türünü yararlı bulabilirsiniz.

+5

Siperlerden alın: Installscript MSI'yi KULLANMAYIN.Son derece yorucudur, kurumsal dağıtım için her türlü soruna neden olur ve genel olarak MSI'nin bir dağıtım teknolojisi olarak amacını ve faydalarını yener. Bu konuda devam edebilirim, ama zamanınızı boşa harcamaz. Bunun için söz veriyorum ve kendinize çok fazla sorun. Eski stil dağıtım komut dosyasına ihtiyacınız varsa MSI veya InstallScript'in dağıtım yeteneklerini istiyorsanız, seçimler Temel MSI'dır. MSI bir öğrenme eğrisine sahiptir, ancak kurumsal dağıtımı büyük ölçüde geliştirmektedir. –

+0

@ kevin-kibler Bir süredir farkettim, ancak bu Advance UI Projesi'ni kapsayacak şekilde güncellenebilir mi? – x5657

+0

Üzgünüz, buna aşina değilim. Aslında birkaç yıldır InstallShield'i kullanmadım. Son zamanlarda (çok sınırlı) kurulum ihtiyaçlarını karşılamak için wix kullanıyorum. –