Como crio um instalador para minha demonstração XNA?

11

Eu tenho uma demonstração codificada no XNA3.1 usando o VS2008. Eu realmente adoraria poder enviar isso para qualquer pessoa com um PC e deixá-los instalar e executá-lo sem exigir que eles tenham o VS instalado ou a estrutura .Net etc.

Eu pensei que seria a opção de publicação, mas estou um pouco confuso com isso. Alguém pode lançar alguma luz sobre o assunto?

Agradeço antecipadamente.

SirYakalot
fonte
Tudo o que é feito com o XNA exige que o XNA Framework seja executado, portanto, é necessário instalar o .net framework e o XNA framework. Eles não precisariam do Visual Studio.
Thedaian #
2
isso é um pouco enganador. Você está certo de que eles precisariam da estrutura xna e possivelmente da estrutura .net etc. Mas eles não precisariam instalar por si próprios - esse é o objetivo de criar um instalador; ele verifica dependências e as instala conforme necessário. Nesse caso, isso inclui a estrutura XNA redistribuída.
SirYakalot

Respostas:

14

Faça sua escolha

Existem várias maneiras de criar um instalador para qualquer coisa, incluindo um jogo XNA.

1. Solução de Implantação do Visual Studio

Este é bastante direto. Se você possui a edição Professional do Visual Studio, pode adicionar um projeto de Implantação à sua solução e, sempre que compilar esse projeto, ele compilará todas as dependências / ativos necessários para você e o tornará um bom instalador no final.

Este link contém a maioria das informações necessárias para iniciar e contém informações sobre a redistribuição da estrutura .NET e outros bits e partes relacionados.

Prós:

  • Integrado ao Visual Studio
  • Simples em criar e instalar um instalador MSI simples e pronto para distribuir

Contras:

  • Não disponível em algumas versões do Visual Studio
  • Difícil fazer com que o instalador faça algo mais complexo do que instalar / reparar / desinstalar.

2. WiX

Se você não tiver a opção de criar um projeto de Implantação do Visual Studio, devido a uma versão limitada do Visual Studio, há várias alternativas gratuitas disponíveis. O WiX é uma dessas alternativas.

É o XML do Windows Installer e pode ser integrado ao Visual Studio, assim como os projetos do VS Deployment. Isso também cria um instalador msi após a compilação. Esteja avisado, o WiX possui uma curva de aprendizado acentuada, mas permite várias complexidades no seu instalador.

Você pode descobrir mais sobre isso aqui

Prós:

  • 100% grátis.
  • Poderoso. Se você quiser fazer algo ridiculamente complexo em seu instalador, crie uma DLL C #, vincule-a ao seu projeto WiX e execute-a como uma Ação Personalizada. (Quase) Tudo é possível.
  • Integra-se perfeitamente ao Visual Studio, funciona muito, muito bem com projetos .NET.
  • As pessoas na lista de discussão do WiX fornecem muito suporte.

Contras:

  • Difícil de entender e começar devido à acentuada curva de aprendizado.
  • Os erros são quase absurdos quando você inicia e leva um tempo para descobrir qual é o verdadeiro problema no seu código.
  • Não há tutoriais suficientes sobre o assunto. A maioria (na minha opinião) é mal formulada, mal estruturada e totalmente confusa.

3. NSIS

O NSIS é um pacote completo de criação de instaladores. Admito que mal o usei, mas quando o fiz foi uma experiência agradável. Há uma boa quantidade de tutoriais, é completamente programável, mas eu provavelmente diria que não é tão poderoso quanto o WiX (se alguém achar que não é esse o caso, fique à vontade para me corrigir).

É totalmente gratuito e de código aberto, e você pode encontrar mais informações aqui .

Prós:

  • 100% grátis.
  • Instalador com scripts, portanto, você poderá codificar algum comportamento complexo.
  • Boa quantidade de tutoriais, bom suporte.
  • Não cria um MSI, mas um EXE (os MSI podem ser ruins )

Contras:

  • Não cria um MSI, mas um EXE (os MSI podem ser bons )
  • Bastante limitado pelo escopo dos comandos de script

4. InstallShield e InstallAnywhere

Eu nunca usei o InstallShield, mas por uma questão de integridade, pensei em mencionar aqui. Minha única experiência é com o que as pessoas me disseram, então não vou listar os prós e os contras.

Tanto quanto sei, ele é bastante completo, mas não consegue lidar com uma grande quantidade de arquivos (> 1000). Você precisa pagar por isso. InstallAnywhere é uma versão multiplataforma do InstallShield. Mais informações aqui .

5. Outras soluções

Vou listar as outras soluções para implantação aqui, se alguém tiver outras para adicionar:

Instalador avançado - A versão freeware permite soluções básicas de implantação. Obrigado por esta adição, pek.

Conclusão

Há várias opções disponíveis para criar um instalador para o seu jogo XNA. Experimente alguns, veja o que você mais gosta. No entanto, o mais importante em relação à criação de instaladores é garantir que ele funcione em vários computadores. Se você estiver criando um instalador MSI, o teste será muito mais fácil executando o msi na linha de comando, usando o seguinte comando:

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

Isso gravará um log de todos os eventos pelos quais o instalador está passando, e você poderá diferir de qualquer ferramenta diff que desejar.

Para concluir, veja o que melhor se adapta a você e ao seu fluxo de trabalho, o teste é essencial e sempre que você estiver testando o instalador, sempre registre SEMPRE as instalações (na maioria das vezes, os instaladores nunca fornecem informações úteis sobre o que deu errado).

Isso se transformou em algo mais do que eu esperava e lamento. Mas espero que ajude.

~ Ray

Ray Dey
fonte
Aqui está outra ferramenta de instalação que você pode adicionar para completar: Advanced Installer ( advancedinstaller.com ). Muitas coisas podem ser feitas com a interface do usuário e, para projetos simples, basta. Não usei para nada complexo. A edição de freeware tem quase tudo o que um projeto simples precisa, então eu estava bem com isso.
pek 03/10
1
"Solução de implantação do Visual Studio" na verdade se refere a duas tecnologias separadas - ClickOnce e Windows Installer. O Windows Installer cria um assistente de instalação normal; é mais amplamente utilizado e tem mais aparência profissional. O ClickOnce é mais fácil de usar, inclui a capacidade de atualizar automaticamente o programa e pode ser instalado diretamente de uma página da web. No entanto, ClickOnce é .Net somente (não suporta projetos nativas C ++) - desde XNA é também .Net somente, isso não deve ser um problema ..
BlueRaja - Danny Pflughoeft