Як створити інсталятор для демонстрації XNA?


11

У мене демонстрація демо-коду в XNA3.1 за допомогою VS2008. Я дуже хотів би мати можливість надіслати це будь-кому з ПК та дозволити їм встановити та запустити, не вимагаючи від них встановлення VS або .Net Framework тощо.

Я думав, що це буде варіант публікації, але мене це трохи збентежило. Чи може хтось пролити світло на цю справу?

Спасибі заздалегідь.


Все, що зроблено з XNA, потребує запуску XNA Framework, тому їм доведеться встановлювати .net Framework та XNA Framework. Їм не потрібна Visual Studio.
thedaian

2
це трохи вводить в оману. Ви маєте рацію в тому, що їм знадобиться рамка xna і, можливо, рамка .net і т. Д. Але їм не потрібно буде самостійно встановлювати її - ось у чому справа створення інсталятора; він перевіряє залежності та встановлює їх у міру необхідності. У цьому випадку, що включає перерозподілений фреймворк XNA.
SirYakalot

Відповіді:


14

Візьміть свій вибір

Існує кілька способів створити інсталятор для будь-чого, включаючи гру XNA.

1. Рішення розгортання Visual Studio

Це досить просто. Якщо у вас є Професійне видання Visual Studio, ви можете додати проект розгортання до свого рішення і кожного разу, коли ви складете цей проект, він складе всі необхідні для вас залежності / активи та зробить вас гарним інсталятором в кінці його.

Це посилання містить більшу частину інформації, яка вам знадобиться, щоб розпочати роботу, і містить інформацію про перерозподіл фреймворку .NET та інших пов’язаних з цим бітів.

Плюси:

  • Інтегрований у Visual Studio
  • Безпосередньо у створенні простого інсталятора MSI, побудованого та готового до розповсюдження

Мінуси:

  • Недоступно в деяких версіях Visual Studio
  • Важко змусити інсталятора зробити щось складніше, ніж установка / ремонт / видалення.

2. WiX

Якщо у вас немає можливості створити проект розгортання Visual Studio, через обмежену версію Visual Studio доступно ряд безкоштовних альтернатив. WiX - одна з таких альтернатив.

Він розшифровується як Windows Installer XML і може бути інтегрований у Visual Studio, як і проекти VS Deployment. Це також створює інсталятор msi після компіляції. Будьте попереджені, хоча WiX має круту криву навчання, але це дозволяє отримати різні складності у вашому інсталяторі.

Більше про це можна дізнатися тут

Плюси:

  • 100% безкоштовно.
  • Потужний. Якщо ви хочете зробити щось смішно складне у своєму інсталяторі, просто створіть C # DLL, зв’яжіть його у вашому проекті WiX та запустіть його як власну дію. (Майже) Все можна.
  • Чудово інтегрується у Visual Studio, працює дуже і дуже добре з проектами .NET.
  • Люди у списку розсилки WiX надають велику підтримку.

Мінуси:

  • Складно зрозуміти та почати роботу через круту криву навчання.
  • Помилки майже безглузді, коли ви починаєте, і потрібно пройти деякий час, щоб фактично з’ясувати, яка реальна проблема у вашому коді.
  • Недостатньо навчальних посібників з цього питання. Більшість (на мою думку) погано сформульовані, погано структуровані і прямо заплутані.

3. NSIS

NSIS - це повнофункціональний пакет для створення інсталятора. Зізнаюся, я ледь не користувався цим, але коли я це робив, це було приємним досвідом. Існує велика кількість навчальних посібників, це абсолютно сценарій, але я, напевно, можу сказати, що він не такий потужний, як WiX (якщо хтось вважає, що це не так, то сміливо виправляйте мене).

Це абсолютно безкоштовно і з відкритим кодом, і більше інформації про нього ви можете знайти тут .

Плюси:

  • 100% безкоштовно.
  • Інструмент встановлення сценаріїв, тому ви повинні мати можливість кодувати деякі складні дії.
  • Хороша кількість навчальних посібників, хороша підтримка.
  • Не робить MSI, а натомість EXE (MSI може бути поганим )

Мінуси:

  • Не робить MSI, а натомість EXE (MSI може бути хорошим )
  • Досить обмежений обсягом команд сценаріїв

4. InstallShield та InstallAnywhere

Я ніколи не використовував InstallShield, але задля повноти, я думав, що згадую це тут. Мій єдиний досвід - це те, що люди мені сказали, тому я не перелічу плюси та мінуси.

Наскільки мені відомо, він досить повно представлений, однак не в змозі обробити велику кількість файлів (> 1000). Вам потрібно заплатити за це. InstallAnywhere - це кросплатформна версія InstallShield. Більше інформації тут .

5. Інші рішення

Я перерахую інші рішення для розгортання тут, якщо хтось ще має додати:

Розширений інсталятор - безкоштовна версія передбачає основні рішення щодо розгортання. Дякую за це доповнення, пек.

Висновок

Існує ціла низка варіантів для створення інсталятора для вашої гри XNA. Спробуйте пару, подивіться, що з вами найбільше. Однак найважливіше, що стосується створення інсталяторів, - це забезпечення роботи на ряді комп’ютерів. Якщо ви створюєте інсталятор MSI, тестування полегшується, запустивши msi з командного рядка за допомогою наступної команди:

msiexec /i [name of installer.msi] /L*v verbose_log.txt

Це випише журнал кожної події, яку інсталятор переживає, а потім ви можете відрізнятись від будь-якого різного інструменту, який вам подобається.

На закінчення подивіться, що найкраще підходить вам та вашому робочому процесу, тестування є ключовим, і коли ви тестуєте інсталятора, завжди ЗАВЖДИ записуйте установки (більшість випадків, коли інсталятори ніколи не дають вам корисної інформації щодо того, що пішло не так).

Це перетворилося на щось довше, ніж я очікував, і мені шкода. Але я сподіваюся, що це допомагає.

~ Промінь


Ось ще один інструмент для встановлення, який ви можете додати для повноти: Advanced Installer ( Advancedinstaller.com ). З користувальницьким інтерфейсом можна зробити багато речей, а для простих проектів цього достатньо. Не використовував його для нічого складного. Безкоштовне видання має майже все, що потрібно простому проекту, тому я був із цим чудово.
пік

1
"Рішення розгортання Visual Studio" насправді стосується двох окремих технологій - ClickOnce та Windows Installer. Windows Installer створює звичайного майстра інсталятора; він більш широко використовується і більш професійно виглядає. ClickOnce простіший у використанні, включає можливість автоматичного оновлення програми та може встановлюватись безпосередньо з веб-сторінки. Однак ClickOnce є .Net лише (не підтримує вбудовані проекти C ++) - оскільки XNA також є .Net, це не повинно бути проблемою ..
BlueRaja - Danny Pflughoeft
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.