XNA demom için nasıl yükleyici oluştururum?


11

VS2008 kullanarak XNA3.1 kodlanmış bir demo var. Bunu bir PC'ye sahip herkese gönderebilmeyi ve VS'nin veya .Net çerçevesinin vb.

Yayınlama seçeneği olacağını düşündüm ama biraz kafam karıştı. Konuya ışık tutabilecek olan var mı?

Şimdiden teşekkür ederim.


XNA ile yapılan her şey için XNA Framework'ün çalışması gerekir, bu nedenle .net framework ve XNA framework yüklemeleri gerekir. Visual Studio'ya ihtiyaç duymazlardı.
thedaian

2
bu biraz yanıltıcı. Xna çerçevesine ve muhtemelen .net çerçevesine vb. İhtiyaç duyacakları konusunda haklısınız. Ancak kendileri kurmaları gerekmeyecek - bu bir yükleyici yapmanın tüm amacı; bağımlılıkları kontrol eder ve gerektiğinde kurar. Bu durumda, yeniden dağıtılmış XNA çerçevesini içerir.
SirYakalot

Yanıtlar:


14

İ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


İşte tamlık için eklemek isteyebileceğiniz başka bir yükleyici aracı: Gelişmiş Yükleyici ( advancedinstaller.com ). Kullanıcı arayüzü ile birçok şey yapılabilir ve basit projeler için yeterlidir. Karmaşık bir şey için kullanmadım. Ücretsiz sürüm basit bir projenin ihtiyaç duyduğu neredeyse her şeye sahiptir, bu yüzden iyiydim.
pek

1
"Visual Studio Dağıtım Çözümü" aslında iki ayrı teknolojiyi ifade eder - ClickOnce ve Windows Installer. Windows Installer normal görünümlü bir yükleyici sihirbazı oluşturur; daha yaygın olarak kullanılır ve daha profesyonel görünümlüdür. ClickOnce'in kullanımı daha kolaydır , programı otomatik olarak güncelleme yeteneğini içerir ve doğrudan bir web sayfasından yükleyebilir. Ancak, ClickOnce yalnızca .Net'tir (yerel C ++ projelerini desteklemez) - XNA da yalnızca .Net olduğundan, bu bir sorun olmamalı ..
BlueRaja - Danny Pflughoeft
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.