Baixei o Visual Studio 2012 ontem, quando foi lançado no MSDN. Percebi que alguns dos tipos de projetos que tínhamos em 2010 desapareceram ou estão diferentes. A maior diferença para mim agora é a remoção do projeto do Windows Installer. Agora estamos sendo forçados a usar o InstallShield LE (Limited Edition). O problema aqui é que escrevo muitos serviços do Windows e não consigo ver como configurar o InstallShield LE. Parece que nós (minha empresa) teremos que investir em licenças para a edição profissional.
Alguém encontrou uma maneira de instalar serviços no InstallShield LE? Ao usar o projeto do Windows Installer, você apenas define as ações personalizadas.
Respostas:
Para Visual Studio 2012 e InstallShield LE, faça o seguinte:
Agora, depois de criar e executar sua instalação, seu serviço aparecerá no snap-in de Serviços do Windows.
Observe que isso pressupõe que você adicionou um "Instalador de projeto" ao seu projeto de serviço (clique com o botão direito do mouse na folha de design do serviço e clique em "adicionar instalador"). Posso confirmar este trabalho no Windows 8 com Visual Studio 2012 / InstallShield LE.
fonte
Eu instalei recentemente o VS 2012 com Install Shield LE. No início, continuei recebendo um erro interno do servidor ISEXP -5036 após uma compilação (após configurar um projeto ISLE e executar o Install Shield Project Assistant). Acabei descobrindo que ele estava tentando criar o MSI no tipo de mídia DVD-5, que estava falhando. Por alguma razão, criar a solução novamente do zero, de alguma forma, reconhece a construção apenas para os tipos de mídia CD_ROM e SingleImage que funcionam.
De qualquer forma, para retificar o erro 5036, clique na guia Build no VS 2012 (menu superior), selecione o gerenciador de configuração e você verá que seu arquivo de configuração IS está selecionado na configuração do DVD-5. Mude para CD_ROM e clique em Fechar. Depois de construir / reconstruir, ele será concluído sem nenhum erro IS 5036.
fonte
Embora o uso da caixa de seleção da classe do instalador possa funcionar em alguns casos, você pode enfrentar o seguinte erro:
Aqui está um trecho deste link sobre como resolver esse problema:
fonte
Se o seu projeto for .NET, tente usar a classe ServiceProcessInstaller com o InstallShield LE.
Para fazê-lo funcionar com o InstallShield, você deve ir para a árvore de "arquivos" do InstallShield e clicar com o botão direito do mouse em seu arquivo. Em seguida, marque a caixa de seleção "Classe do instalador" na guia "Configurações de COM e .NET".
Eu consegui fazer funcionar, mas tive problemas em alguns sistemas operacionais como o Windows 2008R2. Sua milhagem pode variar.
Aqui está um exemplo: http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C
fonte
Eu tive todos os tipos de problemas com isso.
Do seguinte modo.
Solução para mim, como mencionado em outro lugar - era abandonar o InstallShield
Muito fácil desse ponto.
Editar: Atualizar - instale a versão mais recente aqui https://wix.codeplex.com/releases/view/115492 para vs 2013/2015
fonte
Os projetos de configuração do Visual Studio estão de volta ao VS 2013 como uma extensão do Visual Studio.
https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d
Atualize sua solução e projetos para o VS 2013. Se você ainda está no VS 2010, provavelmente será melhor atualizar diretamente para o VS 2013.
Minha experiência com o Instalahleild LE é muito peculiar, mas depois que você descobre os truques, é mais fácil de usar. No entanto, acho que a edição limitada é uma forma da Microsoft e do Flexera venderem a edição completa. Em outras palavras, primeiro pagamos muito dinheiro à Microsoft pelo Visual Studio e, em seguida, ao parceiro (no crime) mais pela Facilitiesheild. Estratégia ruim que não deu certo já que eles tiveram que trazer de volta os projetos de instalação no VS 2013.
fonte
Já escrevi sobre este assunto:
Aumentando o InstallShield usando XML do Windows Installer - Windows Services
Basicamente, você cria um módulo de mesclagem usando WiX para encapsular o serviço e, em seguida, adiciona-o ao seu projeto installshield. (Associe-se ao diretório INSTALLDIR para garantir que seu arquivo vá para onde você espera). Crie e teste em uma VM. Pedaco de bolo.
fonte
Estou usando o VS2012 e o Installshield LE Spring Edition. Eu não precisei usar o Wix.
Se você encontrar o erro "Não foi possível criar _isconfig.xml para usar com InstallUtilLib.dll", crie uma pasta com o mesmo nome de seu projeto de instalação e dentro da pasta do projeto de instalação.
Créditos para http://community.flexerasoftware.com/showthread.php?165929-Could-not-create-_isconfig-xml-for-use-with-InstallUtilLib-dll
fonte
Acabei de ter alguns problemas para descobrir onde adicionar o instalador, conforme referido na resposta. Então aqui está como.
Clique duas vezes em sua classe de serviço dentro de seu projeto de serviço do Windows Uma tela em branco com o texto "Para adicionar componentes à sua classe, arraste-os da caixa de ferramentas e use a janela Propriedades para definir suas propriedades ..." Clique com o botão direito em qualquer lugar menos nos links e selecione "Adicionar instalador"
Até mais
fonte
Tenha em mente que toda a explicação acima não o ajudará se você planeja criar posteriormente uma atualização dessa configuração. O InstallShiled LE não pode parar o serviço em execução quando você atualiza. Você não pode fazer isso a partir do Windows Service Installer -> evento BeforeInstall.
fonte
Queria colocar isso aqui;
No VS 2015, ao fazer isso, encontrei o erro 1001 durante a instalação repetidamente.
A resposta nesta página explicou que nas versões mais recentes (qualquer coisa anterior a 2012) , aparentemente você precisa deixar explicitamente a opção da classe do instalador desmarcada e, em seguida, adicionar o serviço do Windows na seção Serviços na Etapa 3 do projeto do instalador:
Erro 1001 ao instalar o serviço personalizado do Windows
fonte