pontoNETpt
A comunidade PontoNetPT está direccionada a todos os programadores que trabalhem com a plataforma .NET.
WiX

O WiX é um conjunto de ferramentas desenvolvido pela Microsoft e disponibilizado sob uma licença livre, a Common Public License.

As ferramentas que o pacote inclui estão já bastante maduras e são orientadas principalmente a developers de ficheiros MSI com um sólido conhecimento da tecnologia Windows Installer. Na verdade, quando comecei a trabalhar com este conjunto de ferramentas foi difícil não estar constantemente a ir procurar informação ao Windows Installer SDK.

A minha primeira abordagem a trabalhar com este conjunto de ferramentas foi aquela que tenho reparado ser a mais comum: Fazer um MSI utilizando o Visual Studio 2003 e depois utilizar o decompilador incluido nas ferramentas (dark) para gerar um ficheiro wxs que pode ser compilado e linkado pelo compilador (candle) e o linker (light). Esta é uma técnica útil para quem pretende começar a se familiarizar com a semântica dos scripts WiX. Mas rapidamente verifiquei que com esta abordagem não chegaria onde pretendia chegar e é difícil progredir sem conhecer os internals da tecnologia Windows Installer, pelo que o meu passo seguinte foi familiarizar-me com o schema do WiX e estudar o Windows Installer SDK.

O projecto MSI original que fiz no Visual Studio 2003 era um Web Setup. Ao decompilar com o dark o MSI resultante, as acções correspondentes a montar a virtual directory se encontram encapsuladas num binário externo e que, em termos de script, resultam nalgumas dezenas de linhas de script, modificando tabelas do sistema e executando outras acções bastante cripticas.

Na verdade, o schema do WiX tem já incorporadas um conjunto de Custom Actions que automatizam e simplificam um conjunto de acções comuns em ficheiros de setup. Seguindo o schema é possível criar uma virtual directory ou um novo web site, com qualquer configuração que se pretenda através de um conjunto mínimo de instruções.

Portanto o meu conselho para quem pretenda comçar a trabalhar com esta tecnologia é o de se familiarizarem com o schema e com o Windows Installer SDK. A documentação do WiX não é muito exaustiva, à excepção do schema. Toda a restante documentação que necessitam encontra-se no SDK.


Posted 31-10-2004 16:58 por José Almeida
Filed under:

Comments

Anonymous wrote re: WiX
on 1-7-2009 1:07
Olá José,

Apesar de você não estar atualizando o blog, acredito que você ainda deva estar recebendo os contatos feitos por aqui, sou desenvolvedor dot net e acabo de trocar de empresa onde foi me dada a tarefa de pesquisar sobre WiX, já progredi bastate e já consigo gerar os instaladores, com diretórios virtuais e etc. Porém gostaria de saber se você está disponível para trocar de experiência, para que eu possa assim estar diminuindo minha curva de aprendizado sobre essa ou outra.

Desde já grato e abraço.

Obs.: Não esqueça de compartilhar seus conhecimentos no blog hein! a comunidade agradeçe. rsrs

att,
Leandro Ribeiro
leandro.ribeiro.info@gmail.com
http://weblogs.pontonetpt.com/leandroribeiro/
Anonymous wrote re: WiX
on 2-7-2009 1:46
Olá José,

Apesar de você não estar atualizando o blog, acredito que você ainda deva estar recebendo os contatos feitos por aqui, sou desenvolvedor dot net e acabo de trocar de empresa onde foi me dada a tarefa de pesquisar sobre WiX, já progredi bastate e já consigo gerar os instaladores, com diretórios virtuais e etc. Porém gostaria de saber se você está disponível para trocar de experiência, para que eu possa assim estar diminuindo minha curva de aprendizado sobre essa ou outra.

Desde já grato e abraço.

Obs.: Não esqueça de compartilhar seus conhecimentos no blog hein! a comunidade agradeçe. rsrs

att,
Leandro Ribeiro
leandro.ribeiro.info@gmail.com
http://weblogs.pontonetpt.com/leandroribeiro/
Leandro wrote re: WiX
on 3-7-2009 14:50

Olá José,

Você poderia fazer o favor de remover o email dos comentários que fiz anteriormente ?

Caso não consiga pode apagar os comentários então ?

Obrigado.

Add a Comment

(requerido)  
(opcional)
(requerido)  
Remember Me?
If you can't read this number refresh your screen
Enter the numbers above:  
Powered by Community Server (Commercial Edition), by Telligent Systems