İstediğini al
Bir XNA oyunu da dahil olmak üzere herhangi bir şey için yükleyici oluşturmanın birkaç yolu vardır.
1. Visual Studio Dağıtım Çözümü
Bu oldukça basit. Visual Studio'nun Professional sürümüne sahipseniz, çözümünüze bir Dağıtım projesi ekleyebilirsiniz ve bu projeyi her derlediğinizde, sizin için gerekli tüm bağımlılıkları / varlıkları derler ve sonunda güzel bir yükleyici yapar.
Bu bağlantı , başlamak için ihtiyaç duyacağınız bilgilerin çoğuna sahiptir ve .NET çerçevesini ve diğer ilgili bitleri ve parçaları yeniden dağıtma hakkında bilgi içerir.
Artıları:
- Visual Studio'ya entegre edildi
- Basit bir MSI yükleyicisini oluşturmaya ve dağıtmaya hazır hale getirme
Eksileri:
- Visual Studio'nun bazı sürümlerinde mevcut değildir
- Yükleyicinizin kurulum / onarım / kaldırma işleminden daha karmaşık bir şey yapmasını sağlamak zordur.
2. WiX
Visual Studio'nun sınırlı bir sürümü nedeniyle bir Visual Studio Dağıtım projesi oluşturma seçeneğiniz yoksa, bir dizi ücretsiz alternatif vardır. WiX bu alternatiflerden biridir.
Windows Installer XML'in kısaltmasıdır ve VS Dağıtım projeleri gibi Visual Studio'ya entegre edilebilir. Bu ayrıca derlemeden sonra bir msi yükleyicisi oluşturur. Bununla birlikte, WiX'in dik bir öğrenme eğrisi vardır, ancak yükleyicinizde çeşitli karmaşıklıklara izin verir.
Bununla ilgili daha fazla bilgiyi burada bulabilirsiniz
Artıları:
- % 100 ücretsiz.
- Güçlü. Yükleyicinizde gülünç derecede karmaşık bir şey yapmak istiyorsanız, sadece bir C # DLL oluşturun, WiX projenize bağlayın ve Özel Eylem olarak çalıştırın. (Neredeyse) Her şey mümkün.
- Visual Studio'ya güzelce entegre olur, .NET projeleriyle çok, çok iyi çalışır.
- WiX posta listesindeki kişiler çok fazla destek sağlıyor.
Eksileri:
- Dik öğrenme eğrisi nedeniyle kavramak ve başlamak zor.
- Hatalar, başlangıçta neredeyse saçmadır ve kodunuzdaki gerçek sorunun ne olduğunu anlamak biraz zaman alır.
- Konuyla ilgili yeterli eğitim yok. (Bence) çoğu kötü ifade, kötü yapılandırılmış ve düpedüz kafa karıştırıcı.
3. NSIS
NSIS tam özellikli bir yükleyici oluşturma paketidir. İtiraf edeceğim, neredeyse hiç kullanmadım, ama yaptığımda hoş bir deneyim oldu. İyi miktarda öğretici var, tamamen yazılabilir, ancak muhtemelen WiX kadar güçlü olmadığını söyleyebilirim (eğer kimse böyle değilse, o zaman beni düzeltmekten çekinmeyin).
Tamamen ücretsiz ve açık kaynaklıdır ve burada daha fazla bilgi bulabilirsiniz .
Artıları:
- % 100 ücretsiz.
- Komut dosyası yükleyicisi, bu nedenle bazı karmaşık davranışları kodlayabilmeniz gerekir.
- İyi miktarda öğretici, iyi destek.
- MSI yapmaz, bunun yerine EXE yapar (MSI'ler kötü olabilir )
Eksileri:
- MSI yapmaz, bunun yerine EXE yapar (MSI'ler iyi olabilir )
- Komut dosyası komutlarının kapsamı ile oldukça sınırlıdır
4. InstallShield ve InstallAnywhere
InstallShield'ı hiç kullanmadım, ancak tamlık uğruna, burada bahsedeceğimi düşündüm. Benim tek deneyimim insanların bana söylediklerinden, bu yüzden artıları ve eksileri listelemeyeceğim.
Bildiğim kadarıyla, tamamen tamamen özellikli, ancak çok sayıda dosyayı (> 1000) işleyemiyor. Gerçi bunun için ödeme yapmanız gerekiyor. InstallAnywhere, InstallShield'ın platformlar arası bir sürümüdür. Daha fazla bilgi burada .
5. Diğer Çözümler
Ekleyecek başka biri varsa, dağıtım için diğer çözümleri burada listeleyeceğim:
Advanced Installer - Ücretsiz sürüm, temel dağıtım çözümlerine olanak tanır. Bu ek için teşekkürler, pek.
Sonuç
XNA oyununuz için bir yükleyici oluşturmak için birçok seçenek mevcuttur. Bir çift deneyin, en çok neler yaptığınızı görün. Ancak, yükleyicilerin oluşturulmasıyla ilgili en önemli şey, bir dizi bilgisayarda çalışmasını sağlamaktır. Bir MSI yükleyicisi oluşturuyorsanız, aşağıdaki komutu kullanarak msi komut satırından çalıştırarak sınama çok daha kolaydır:
msiexec /i [name of installer.msi] /L*v verbose_log.txt
Bu, yükleyicinin geçtiği her bir olayın günlüğünü yazacak ve daha sonra istediğiniz herhangi bir fark aracından farklı olabilirsiniz.
Sonuç olarak, size ve iş akışınıza en uygun olanı görün, testin anahtarıdır ve yükleyicinizi her test edişinizde, DAİMA kurulumları her zaman günlüğe kaydedin (çoğu zaman yükleyiciler size neyin yanlış gittiğine dair yararlı bilgiler vermez).
Bu beklediğimden daha uzun bir şeye dönüştü ve üzgünüm. Ama umarım yardımcı olur.
~ Ray