InstallShield LE ou WiX ?

Recentemente tivemos a notícia que a Microsoft irá descontinuar os templates de projetos de instalação (Setup Project e outros) nas próximas versões do Visual Studio. A seguinte informação existe na documentação do MSDN.

Future versions of Visual Studio will not include the Visual Studio Installer project templates. To preserve existing customer investments in Visual Studio Installer projects, Microsoft will continue to support the Visual Studio Installer projects that shipped with Visual Studio 2010 per the product life-cycle strategy.

De acordo com a Flexera Software Jazon Zander, vice-presidente corporativo do Visual Studio, disse que o InstallShield deve ser a escolha para o ambiente de desenvolvimento de usuários do Visual Studio.

No Visual Studio 2010 podemos criar projetos de instalação utilizando uma versão gratuita do InstallShield que é chamada de InstallShield LE (Limited Edition). Mais informações sobre como utilizar essa versão você pode encontrar aqui e aqui.

Na semana passada tive a oportunidade de avaliar esse produto na criação de um instalador simples para uma aplicação C++ 64-bit que deveria incluir o merge module do MFC 10.0 (x64). Criar um instalador para uma aplicação desse tipo usando o Setup Project é relativamente simples, não tem muito segredo.

Bom, depois de alguma pesquisa e de alguns erros estranhos descobri que a versão LE não possui suporte a criação de instaladores de aplicações 64-bit. Pior, a versão Express que custa em torno de U$ 500 também não. O que resta então é a versão Professional, que possui esse suporte mas que custa U$ 1999.

Uma outra opção é o WiX (Windows Installer XML) que é um projeto open-source hospedado no Codeplex e que possui um conjunto de ferramentas para criar pacotes de instalação com base em código XML. De acordo com esse artigo, o WiX é utilizado nos instaladores do Visual Studio e do Microsoft Office. Considerando que o WiX estava cotado para ser entregue juntamente com o Visual Studio 2010 em abril e isso não aconteceu, fico com dúvidas sobre se devo investir algum tempo estudando essa tecnologia.

Considerando o preço da versão Professional do InstallShield e da falta de apoio da Microsoft quanto ao WiX, fico na dúvida sobre qual das opções devo utilizar.

Update

Recentemente estive um pouco longe do blog e das minhas atividades no fórum do MSDN. Estou retornando aos poucos e espero ter mais tempo para poder compartilhar e adquirir mais conhecimento com a comunidade de desenvolvedores.

Só para atualizar…

1 – Em setembro estive presente no TechEd em São Paulo e devo admitir que foi uma experiência fantástica. Estar perto de tantos desenvolvedores e assistir a palestras muito interessantes foi realmente muito bom. Não vou falar muita coisa sobre o evento pois muitos outros já disseram (aqui, aqui, aqui e aqui são alguns exemplos).

2 – Sou oficialmente Moderador de alguns fóruns do MSDN Brasil (.NET, C#, Windows Forms, Silverlight e WPF). Tive a felicidade de ser convidado para exercer esse papel e espero poder contribuir da melhor forma possível.

3 – No final de outubro aconteceu o PDC 2010 e tivemos várias apresentações interessantes. Vale destacar a apresentação do Anders Hejslberg que demonstrou algumas funcionalidades de programação assíncrona e do compilador como um serviço. Além disso, tivemos várias apresentações e informações sobre o Windows Phone 7 (WPF), Windows Azure e também a famosa polêmica do Silverlight.

Uma outra informação…

Fiquei um pouco longe pois estive estudando recentemente o DirectX 11 (não gerenciado) e fiquei perplexo com a péssima qualidade da documentação do MSDN sobre o Direct3D. É extremamente confuso e também faltam alguns exemplos e informações mais objetivas de como e onde utilizar determinadas classes. A documentação do Direct2D é bem completa.

Mas porquê estou estudando DirectX não gerenciado? Porque infelizmente para determinadas aplicações o .NET não oferece a performance desejada.

É um tanto difícil voltar a desenvolver em C/C++ depois de muitos anos com o .NET mas estou gostando da experiência.