Pergunta

Acabei de notar que o Chromium foi instalado no AppData no Vista e no XP.Se o Google fizer isso e outros aplicativos fizerem isso, será porque existe alguma forma de proteção?Deveríamos escrever instaladores que façam a mesma coisa que o Google?

Foi útil?

Solução

O Windows ainda carece de uma convenção para instalação por usuário.

  • Quando um instalador pergunta se deseja instalar para o usuário atual ou para todos os usuários, na verdade ele se refere apenas ao posicionamento do atalho (Menu Iniciar;Área de Trabalho).Os arquivos reais do aplicativo ainda ficam em todo o sistema %PROGRAMFILES%.
  • O próprio ClickOnce da Microsoft contorna isso criando um ambiente completamente fora do padrão %USERPROFILE%\Local Settings\Apps (%USERPROFILE%\AppData\Roaming no diretório Vista / Server 2008), com arquivos de programa e dados de configuração.

(Não sei por que a Microsoft não conseguiu adicionar um diretório de Arquivos de Programas por usuário no Vista.Por exemplo, no OS X, você pode criar um ~/Applications, e o Finder fornecerá um ícone apropriado.Aplicativos como CrossOver e Adobe AIR usam isso automaticamente, padronizando para aplicativos por usuário.Portanto, não há problemas de permissão.)

O que você provavelmente deve fazer:se o usuário não for administrador, instale no diretório do usuário;se o fizerem, dê-lhes ambas as opções.

Outras dicas

Uma vantagem que ninguém mencionou são as atualizações automáticas silenciosas.O Chrome possui um processo de atualização que funciona o tempo todo e atualiza imediatamente a instalação do Chrome.

Acho que o caso de uso deles não é padrão.Eles precisam de uma maneira de corrigir problemas de vulnerabilidade (já que é um navegador) o mais rápido possível.Esperar que os administradores aprovem cada atualização em toda a empresa simplesmente não é suficiente.

Pelo que sei, a única razão pela qual o Chrome é instalado na pasta Application Data é para que usuários não administradores possam instalá-lo.

O instalador do Chrome atualmente não permite que o usuário escolha onde o aplicativo será instalado.Não faça isso – em vez disso, dê ao usuário a escolha entre uma instalação por usuário (em algum lugar como App Data) e uma instalação em todo o computador (Arquivos de Programas).

O Windows 7 e o Windows Installer 5.0 fornecem recursos reais de instalação por usuário agora.

http://msdn.microsoft.com/en-us/library/dd408068%28VS.85%29.aspx

Você pode falsificá-lo no Vista e no XP usando ~/AppData/Local ou equivalente, como o Chrome faz.A própria Microsoft usa isso para os instaladores ClickOnce.

Portanto, pelo menos no Windows 7 e além, a solução é simples.

Francamente, ainda não vi o primeiro instalador que realmente permita instalações por usuário e por máquina.Muitos instaladores oferecem esta opção em sua GUI, mas a configuração afeta apenas onde os atalhos etc.go - os binários sempre vão para %ProgramFiles%.

Na verdade, é muito difícil criar pacotes do Windows Installer que permitam os dois tipos de instalação, para dizer o mínimo.Com o advento do UAC, eu diria que é impossível:As instalações por usuário não devem exigir elevação; as instalações por máquina precisam.Mas se um pacote MSI requer elevação é controlado por um bit no fluxo de informações resumidas - não há como fazer com que a entrada do usuário tenha impacto sobre isso.

Se por usuário ou por máquina é a melhor escolha, depende muito do aplicativo.Para pacotes pequenos, entretanto, tendo a preferir instalações por usuário.Além de serem um pouco mais fáceis de usar por não exigirem prompt do UAC ou runas, eles também sinalizam ao usuário que a configuração não causará muitos danos ao computador (supondo que ele não seja administrador).

O instalador do Chrome realmente deveria permitir a instalação global (com elevação), bem como por usuário.Não quero manter uma instalação para cada usuário;Quero poder gerenciar atualizações centralmente e assim por diante.O Chrome não permite isso.

Dito isto, a opção de instalação por usuário é bastante boa, pois significa que não há problemas de permissão.

Só para vocês saberem, o Google criou um instalador MSI para instalação e gerenciamento global de sistemas.Está localizado aqui:

https://www.google.com/intl/en/chrome/business/browser/

Não vejo nada em% PROGRAMFILES% no Win7.Parece que o Chrome deve ser instalado para cada usuário na máquina.

Talvez a verdadeira razão para fazer isso seja falsificar algumas vezes o número de instalações do Chrome!Tornando-o assim o primeiro navegador do mundo!

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