Pergunta

Eu gostaria de evitar redistribuindo .NET runtime, se possível com o meu pedido, uma vez que irá aumentar o tamanho do aplicativo, o tempo de download, tempo de desenvolvimento e possivelmente irá apresentar muitos erros de implantação diferentes. forçar os usuários a Microsoft para atualizar .NET runtime via atualização do Windows? Se não, quais são algumas das opções para redistribuição .NET tempo de execução? A Microsoft tornou mais fácil de tempo de execução re-dstribute com .NET appliactions? Além disso, é .NET runtime gauranteed para ser compatível?

Eu estou apenas resumindo as respostas aqui. Parece que temos de ter um bootstrapper para pelo menos verificar a existência do tempo .NET prazo. A opção alternativa é empacotar o tempo de execução e implantá-lo se ele não existe. Existem várias opções para embalagem & estúdio Visual prevê uma opção para projeto de instalação de compilação com o tempo de execução. Há também outras opções de embalagem como InnoSetup, WIX etc (não tenho certeza qual opção é melhor e livre). instalação de tempo de execução requer uma reinicialização e a opção de instalação escolhido deve retomar a aplicação pós instalação reinicialização.

Foi útil?

Solução

Além disso, você deve preocupar com isso. Sem tempo de execução do seu aplicativo misteriosamente não vai funcionar. Você nunca deve assumir que alguma versão especial do tempo de execução é pré-instalado.

Como observado acima, o assistente de projeto de instalação em VS irá criar um arquivo de configuração que somente downloads-lo se necessário. INE e Inno Setup tem scripts que vão fazer a mesma coisa. Note que você terá que lidar com reinicialização-and-continuar-setup quando você instala o tempo de execução. Eu acredito que as alças assistente instalador isso para você.

Outras dicas

Basta fazer um projeto do Windows Installer. Você deve ter isso como uma opção no VS2005 e VS2008. Ele irá certificar-se ao instalar sua aplicação que o sistema tem o .NET tempo de execução e qualquer outro software necessário para esse assunto. Isto irá adicionar ao seu pacote de instalação, não a sua aplicação. Isso geralmente é como instalar seus aplicativos ou você usar Instalar Shield.

Aqui está um guia .

alt texto http://img154.imageshack.us/img154/2066/newprojectr .png

Quando você cria o seu pacote de instalação, ele só irá instalar o tempo de execução se for necessário. ou seja, não já no sistema (ou versão errada)

Edit: Sim, você deve criar este pacote, que faz a sua vida muito mais fácil para essa coisa exata. A maneira que você faria isso no VS é File-> Project e selecione projeto intstaller. O assistente irá guiá-lo através das opções.

Usando um bootstrapper de algum tipo, você pode verificar se o .NET está instalado e, em seguida, baixá-lo, se necessário.

Por exemplo, com a MSI Fábrica bootstrapper (Eu não estou defendendo MSI Factory, é um programa feio. Mas o bootstrapper ele vem com está sozinho vale a pena o custo de licença se você está desenvolvendo software comercial como nós) há scripts que você pode simplesmente incluir para executar esta função. Estamos usando WiX + o bootstrapper MSI fábrica para distribuir tanto um único EXE comprimido (30Mb), e uma pequena 1Mb "downloader" EXE que os downloads um MSI. Verifique ambas de EXE para a presença de .NET 2.0 e, em seguida, baixá-lo, se necessário. Nós também distribuir um autônomo MSI que também verifica a existência de .NET e instalação blocos se não é presente.

Basicamente você tem o seguinte:

  • Windows XP - não vem com .NET. Cliente precisa instalá-lo manualmente (ele aparece como um componente Windows Update opcional)
  • Vista - navios com .NET 2.0 (mas não 1.1)
  • Server 2003 - navios com .NET 1.1

Ignorar .NET 1.1, simplesmente ignorá-la. Os usuários do Vista e além só vai tê-lo instalado para suporte a aplicativos legados, ou se for um desenvolvedor.

.NET 2.0 é a versão mais comumente instalado, a partir de nossa base de usuários descobrimos que menos de 10% dos usuários têm .NET 3.5 instalado. Se a sua aplicação tem como alvo um público técnico, geeky então eu diria que ~ 50% das pessoas terão .NET 3.0. Se você está alvejando um mercado consumidor / varejo / non-tech, você provavelmente pode estimar cerca de 30% com .NET 2.0 e 10% com .NET 3.0 ou superior.

Os valores acima são baseados em tráfego de navegador para os nossos sites, uma platéia predominantemente não-técnica. Esta é provavelmente a melhor maneira de obter uma idéia para o seu mercado. IE sempre relata a versão .NET na seqüência User-agent assim quebrar os weblogs e começar a analisar:)

Depende. Onde eu trabalho, nós incluí-lo no instalador como pré-requisito, porque temos alguns clientes que não podem ter uma ligação à Internet para baixar o tempo de execução.

Algumas coisas que você pode fazer:

  1. Incluir um teste para a versão do .NET na máquina de destino e sair da instalação se não existe.
  2. Faça uma versão da instalação que inclui o .NET runtime e irá instalá-lo, se necessário.
  3. Faça uma versão da instalação que irá baixar o .NET runtime e instalá-lo, se necessário.

Se eu sabia que meus clientes estavam todos em linha, eu faria a opção 3 para .NET, bem como quaisquer outros pré-requisitos, como Crystal Reports ou SQL Express. Eu tenho instalações onde tenho que incluíam ea instalação é mais de 100MB. 70MB + é pré-requisitos.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top