Usuário com melhor resposta
Setup Project - Pré-requisitos

Pergunta
-
Estou gerando um Setup Project no visual studio 2008 e precisarei adicionar um pré-requisito que a minha aplicação utiliza, mas que não está na listagem de pré-requisitos do próprio "Setup Project". Existe alguma maneira de executar uma instalação simultanea ao "Setup Project", por exemplo: Para a minha aplicação funcionar, precisarei instalar o owc11.exe (Web components). Eu tentei criar um novo processo no meu instalador, chamando o owc11.exe em modo "quiet" (sem apresentação de inteface com o usuário). Isso funcionaria perfeitamente se não fosse pelo detalhe de que o meu app e o próprio owc precisam do windows installer para ser instalado, e enquanto o meu instalador estiver aberto, o owc não pode ser executado. Alguém tem alguma idéia de como colocar esse pré-requisito na lista do "setup project" ou uma maneira de executar o outro instalador em paralelo, ou até após a finalização do meu instalador. Agradeço pela ajuda...
Respostas
-
Paulo,
Eu tentei com a criação de uma Installer Class anteriormente, mas também não resolveu o problema.
No momento deixarei o instalador sem esse "pré-requisito" e farei a instalação manualmente, executando os dois instaladores separadamente.
De qualquer forma, fico muito agradecido pela ajuda, e assim que eu conseguir uma outra solução, não deixarei de postar aqui no fórum.
Obrigado a todos.
Carlos Casarin- Marcado como Resposta Carlos Casarin sexta-feira, 26 de março de 2010 16:25
- Marcado como Resposta Carlos Casarin sexta-feira, 26 de março de 2010 16:26
Todas as Respostas
-
Carlos,
Alguma novidade quanto a essa sua dúvida?
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima -
-
OK Carlos,
Assim que tiver alguma novidade, por favor, poste aqui para que outras pessoas possam se beneficiar também...
André Alves de Lima
Visite o meu site: http://andrealveslima.spaces.live.com
Me siga no Twitter: @andrealveslima -
Olá você pode tentar usar uma installer class. De uma olhada neste exemplo:
http://www.codeproject.com/KB/install/shortcut_installer.aspx
http://msdn.microsoft.com/en-us/library/system.configuration.install.installer.aspx
depois que vc cria a classe de instalação você vai no teu projeto de setup e adiciona a saída primária do projeto da classe de instalação na pasta de arquivos do sistema e em seguida vai em view->custom actions e adiciona a classe de instalçao como custom action na pasta install. Assim sempre que o teu setup finalizar a cópias dos arquivos do teu sistema ele vai executar esta classe. Nela você vai poder verificar se está faltando algum pré-requisito e instalar outros.
Detalhe vc pode adicionar o windows installer como um pré-requisito e mudar a opção de download do site para download do mesmo local do projeto. Assim o visual studio vai embutir o windows installer junto com o teu setup e se ele não existir na máquina destino ele instala.
Paulo Moreira- Sugerido como Resposta AndreAlvesLimaModerator terça-feira, 16 de março de 2010 16:21
-
Paulo,
Obrigado pela dica, mas eu também já tentei fazer esse pré-requisito através da classe installer.
A algum tempo atrás eu precisei instalar também um serviço do windows, com uma dll que não é do dotnet, consegui instalar através desta classe, criando um novo processo, com o nome da dll e os parametros de instalação, assim, ao executar o método install, ele registrava a dll e configurava o serviço. Segue um exemplo desta instalação:
//Instala o processo através da linha de comando
Process pcs = new Process();
pcs.StartInfo.CreateNoWindow = true;
pcs.StartInfo.FileName = "Servico";
pcs.StartInfo.Arguments = "-install";
pcs.StartInfo.WorkingDirectory = @"C:\DIR\DIR\BIN";
pcs.Start();
Então, seguindo a idéia, eu tentei fazer o mesmo para o OWC11.exe que é um componente do Office.
Mas a questão é que para executar essa instalação, ele precisa do windows installer, e o windows installer já está sendo executado no meu instalador, então ele não permite duas instalações simultaneas.
É possível executar dois windows installer ao mesmo tempo?
há alguma outra maneira de executar a instalação, além desta que eu propus acima?
Agradeço pela ajuda.
Carlos Casarin
-
Olá Carlos, estou trabalhando em um setup parecido com o seu, mas no meu caso o pré-requisito é sql server express 2005. Eu preciso instalar um instância específica e configurar ela. A solução que estou trabalhando agora é:
1) Criei um projeto chamado "InstallPrerequisitos". Neste projeto criei uma classe que instala o sql server express 2005 usado:
Process myProcess = new Process(); myProcess.StartInfo.FileName = setupFileLocation; myProcess.StartInfo.Arguments = "/qb " + parametros; myProcess.StartInfo.UseShellExecute = false; myProcess.Exited += new EventHandler(myProcess_Exited); myProcess.EnableRaisingEvents = true; return myProcess.Start();
Após instalar o sql server express vou chamar o setup do projeto usando Process de forma parecida com a de cima.
Paulo Moreira- Sugerido como Resposta AndreAlvesLimaModerator quarta-feira, 17 de março de 2010 18:13
-
Paulo,
Eu tentei com a criação de uma Installer Class anteriormente, mas também não resolveu o problema.
No momento deixarei o instalador sem esse "pré-requisito" e farei a instalação manualmente, executando os dois instaladores separadamente.
De qualquer forma, fico muito agradecido pela ajuda, e assim que eu conseguir uma outra solução, não deixarei de postar aqui no fórum.
Obrigado a todos.
Carlos Casarin- Marcado como Resposta Carlos Casarin sexta-feira, 26 de março de 2010 16:25
- Marcado como Resposta Carlos Casarin sexta-feira, 26 de março de 2010 16:26