Na plataforma Windows, a maioria dos aplicativos grandes vem com seu próprio instalador, que configura pastas em C:\Program Files
, possivelmente em outros lugares, e talvez adicione algumas chaves de registro, etc.
Mas ainda existem algumas ferramentas que consistem em apenas uma .exe
ou talvez também uma README
e uma .dll
ou duas.
Como devo instalar essas ferramentas? Diretamente em C:\Program Files
? Tudo em uma subpasta abaixo C:\Program Files
? Em algum lugar embaixo C:\Users\Me
? Em algum lugar totalmente diferente?
Ou talvez abordagens diferentes para as ferramentas com apenas um .exe
para aquelas que também possuem outros arquivos, ou talvez apenas aquelas com .dll
s precisem ser tratadas de maneira diferente ...
Existe alguma maneira padrão aceita de fazer isso? Uma "melhor prática"? Se a resposta depender da versão do Windows, estou usando o Windows 7.
Em particular, o que pode parecer às pessoas como a resposta óbvia parece ter um problema:
Eu tentei criar manualmente novas subpastas em C:\Program Files
. Na verdade, eu pensei que tinha feito isso antes, mas o Windows abre uma caixa de diálogo Acesso negado à pasta de destino . Isso me fez pensar duas vezes, em vez de apenas clicar cegamente em Continuar .
Partindo do pressuposto de que mentes maiores do que as minhas enfrentaram isso muitas vezes ao longo dos anos, gostaria de perguntar à comunidade se algum tipo de "melhor prática" foi aceito.
C:\Program Files
ou em outro lugar e forneço informações sobre uma barreira potencial paraC:\Program Files
ser uma solução óbvia.Respostas:
Usar
C:\Tools
ou
C:\Users\<user>\Tools
Estou usando muitos programas pequenos sem instalador e recomendo o seguinte:
C:\Tools
C:\Tools
C:\Tools\ProgramName
C:\Tools\_SysInternals
porque existem muitasEstou simplesmente mudando
C:\Tools
de máquina para máquina durante a migração, funciona como um encanto.Amostra prática (lista reduzida):
Espero que isso dê uma idéia.
EDIT: Informações estendidas
Suponho que, em instalar na sua pergunta, como devo instalar essas ferramentas? você quer dizer configuração manual, algo como copiar os arquivos.
Regra geral: use pastas criadas manualmente para arquivos mantidos manualmente. Permita que as pastas do sistema sejam usadas por processos (de instalação) que você não controla diretamente. Você obterá imediatamente o benefício de reconhecer qual conteúdo é 'seu' (e pode copiá-lo livremente) e qual aplicativo é gerenciado pelo instalador.
Portanto, ao instalar manualmente (copiando), fique longe de
C:\Program Files
- os programas encontrados aqui não podem ser simplesmente migrados, precisam ser reinstalados (dá uma ótima dica para a migração)C:\Program Files (x86)
- como acima, mas em sistemas de 64 bits, os programas de 32 bits são exibidos aqui (pode dar uma dica para determinar se determinado aplicativo é de 32 ou 64 bits)C:\ProgramData
- os armazenamentos de aplicativos encontrados aqui mostram que esses programas mantêm alguns de seus dados à sua maneira. Mas você perguntou sobre colocar seus programas em Data? Não é uma boa ideia.C:\Users\Steven\AppData
- novamente, colocar programas em Data não é uma boa ideia. Se você perguntou sobre dados, várias coisas interessantes podem ser escritas sobre esse caminho. Mas para programas simplesmente 'não'. :)Caminho possível
C:\Users\Steven
- pode ser sua raiz alternativa se este for um computador compartilhado e você quiser mantê-lo organizado, portanto, decida não criar nenhum diretório global. Você pode considerarC:\Users\Steven\Tools
seus programas ou mesmoC:\Users\Steven\Desktop\Tools
se deseja usar o acesso confortável às pastas da área de trabalho, disponível através do atalho em muitos lugares do Windows. Mas melhor pode ser o anterior e você ainda pode colocar o atalho para esta pasta na área de trabalho ou sempre que necessário.Editar: Dica útil adicional:
Se você deseja que alguns de seus pequenos programas sejam reconhecidos no menu Iniciar do Windows 10 (para pesquisa incremental de seus nomes ou início instantâneo elevado usando Ctrl+ Shift+ Enter), adicione seus atalhos lá e inicie-os uma vez . (Então você pode removê-los.)
fonte
C:\Other
ouC:\Users\<user>\Other
, isso seria considerado tão "legítimo" quanto 'Ferramentas'?Até onde eu sei, não existe uma abordagem universal.
A colocação de seus aplicativos
C:\Program Files
é uma maneira bastante padrão. E você terá a proteção de acesso : usuários regulares (e não elevados) não podem escreverC:\Program Files
. Portanto, você não pode excluir acidentalmente, substituir esses arquivos; e eles estão melhor protegidos contra vírus.É por isso que você recebe o aviso - solicitação de elevação - quando tenta criar uma pasta no
C:\Program Files
.Portanto,
C:\Program Files
é o local mais seguro para arquivos executáveis.No entanto, não é adequado para aplicativos (portáteis) que armazenam suas configurações próximas ao,
.exe
porque eles não poderão salvar as alterações na configuração.C:\ProgramData
é para armazenar dados de aplicativos compartilhados entre usuários. Por padrão, todos os usuários podem criar arquivos e pastas aqui, mas apenas o usuário que os criou pode modificar os arquivos.Essa pasta pode ser facilmente usada para aplicativos / ferramentas compartilhados. Ao mesmo tempo, nunca vi um aplicativo nesta pasta.
Se você colocar aplicativos em seu perfil de usuário
C:\Users\<username>
, outros usuários do sistema não terão acesso a ele. Você tem todas as permissões para o seu perfil, portanto não receberá nenhum aviso de segurança. Essa é a razão pela qual o Chrome é instalado no perfil do usuário: ele pode se atualizar facilmente sem solicitar a elevação.No modo por usuário, os pacotes,
.msi
arquivos do Windows Installer são instalados emC:Users\<username>\AppData\Microsoft\Installer\<ProductId>
. Portanto, é bastante padrão manter aplicativos não compartilhados no perfil do usuário.Eu tenho uma
utils
pasta no perfil do meu usuário com aplicativos que são úteis apenas para mim. Essa pasta é adicionada àPATH
variável de ambiente de meus usuários para facilitar o acesso.Para aplicativos compartilhados, eu uso
C:\tools
um diretório semelhante, possivelmente em outra unidade. É adicionado àPATH
variável global .fonte
Eu concordo com as respostas já dadas em algum ponto. Mas para programas realmente pequenos (utils), costumo colocá-los na pasta bin (no meu caso, E: \ bin). Esses programas são geralmente um arquivo exe único ou meus próprios scripts python. Eu adiciono esta pasta à variável PATH para poder usar esses programas na linha de comando (que eu costumo usar bastante).
fonte
C:\Program Files\bin
para esses tipos de ferramentas e utilitários. Obrigado pelo feedback.Até onde eu sei, não existem práticas recomendadas. Cabe a você decidir individualmente como deseja lidar com isso.
Costumo seguir o mesmo padrão de qualquer aplicativo com um instalador. Se for um executável ou uma biblioteca, eu colocaria em
\Program Files\
se é de 64 bits eProgram Files (x86)\
se é de 32 bits.Arquivos de dados que costumo armazenar em minhas
Users
pastas, pois normalmente são específicas para um usuário.Também existem aplicativos como Google Chrome e Click-Once Applications que são implantados
Users\AppData\
, no entanto, eles normalmente não estão disponíveis para vários perfis.Prefiro o primeiro método porque, se precisar fazer login em outro perfil ou como administrador, ainda posso acessar os aplicativos.
Com relação ao aviso de permissão. É exatamente isso, um aviso . É simplesmente para avisá-lo de usar a pasta pelas razões erradas, no entanto, isso não impede que você a utilize.
fonte
%ProgramFiles%
também, mas por outro motivo: aplicativos sem instaladores geralmente são portáteis e você não tem permissão de gravação láSe você deseja padronizar esses aplicativos, sugiro usar os padrões de pacote Chocolatey . Isso é bom por várias razões diferentes; principalmente porque muitos softwares já foram fornecidos para você e estão prontos para instalar de qualquer lugar com apenas alguns comandos.
Também é fácil criar seus próprios pacotes para aplicativos que você não pode distribuir livremente. Você provavelmente tem o direito de distribuir tudo o que possui em sua própria rede; portanto, para esses aplicativos, você pode configurar um repositório local . Se você estiver gerenciando muitos computadores ou tiver largura de banda limitada da Internet, isso pode ser útil mesmo para os itens gratuitos.
fonte
Se você escolher as opções de instalação padrão do cygwin, ele colocará todos os seus arquivos em c: \ cygwin. Eu adotaria a mesma abordagem. Pessoalmente, tenho uma pasta ac: \ apps. No passado, eu usei c: \ utils e c: \ cli (abreviação de linha de comando). Realmente depende de como você deseja organizar seus arquivos. Eu sugeriria que utilitários únicos os colocassem em uma pasta completa. Para um conjunto de utilitários (por exemplo, cygwin, sysinternals, rktools), posso sugerir uma subpasta própria. Por exemplo, você pode colocar todos os sysinternals dentro de c: \ apps \ sysinternals. Se você instalar o cygwin, será necessário a maioria (se não todos) dos comandos do Unix que você adora.
Lembre-se de alterar suas variáveis ambientais (Iniciar> Painel de Controle> Sistema> Avançado> Variáveis Ambientais) e acrescente qualquer novo caminho de aplicativo à sua variável de sistema PATH. Isso permite executá-los sob demanda no prompt de comando ou usando o Windows + R (comando de execução).
fonte
\Program Files
diretório no linux.C:\Users\Me\toolName
(aka% homepath% \ toolName) é o local correto para colocar as ferramentas, assumindo que você deseja que ele seja usado peloMe
usuário, uma vez que algumas dessas ferramentas gravam arquivos (temp) e exigem permissão do usuário para gravar naProgram files
pasta. Outra vantagem é que você não esquecerá de fazer o backup, porque ele já está no espaço do usuário.fonte
%homepath%' rather than
c: \ users \ me`. Isso aponta para o local certo, mesmo que o local padrão tenha sido movido e, portanto, é mais portátil. +1 para a parte de gravação / temperatura.Não há regras sobre isso, você pode instalá-las onde quiser, mas instalá-las no OSP (partição do sistema operacional) em uma pasta não-usuário é geralmente uma boa ideia, porque você obterá as mesmas proteções de acesso você tem em outras aplicações; isso dificulta a exclusão acidental ou a modificação por terceiros (por exemplo: vírus).
Pessoalmente, geralmente coloco o programa em "C: \ Arquivos de Programas (x86)", porque a maioria desses programas que encontrei são 32 bits, mas se fosse um programa de 64 bits, eu o colocaria em C: \ Arquivos de Programas " Se for um programa relacionado ao sistema (por exemplo: Imagex.exe), eu o colocarei em "C: \ Windows \ system32" para programas de 32 bits e em "C: \ Windows \ system32" para programas de 64 bits para permitir um acesso mais fácil a partir do linha de comando ao executar prompts de comando elevados, porque você inicia em C: \ Windows \ system32 "por padrão; isso significa que você pode digitar "name.exe" em vez de C: \ location \ name.exe "para executar o programa.
Algumas pessoas preferem separar seus programas portáteis (não exigem instalação ou executar alternações não supervisionadas fora de sua pasta) e programas não baseados em instaladores (não portáteis, mas não exigem o uso de um instalador) dos programas regulares, criando um novo diretório no OSP (por exemplo: C: \ Arquivos de programas portáteis (x86) ou C: \ Arquivos de programas despejáveis (x86) .Aconselho o 2º dos 2, pois é maior o nível de precisão, mesmo que não pareça bonita.
Para resumir, não há regras; no entanto, se você instalá-las no OSP (em uma pasta de não usuários), poderá ajudar a proteger o programa contra desinstalações / modificações indesejadas (incluindo modificações maliciosas) e sob algumas circunstâncias organização pode ser benéfica (por exemplo: a pasta system32 mencionada anteriormente para os programas CLI do sistema).
fonte
Etc
ouEtcetera
se você prefere um verdadeiro pansy latino. Em um segundo lugar próximo, eu também considereiMisc
. MasEtc
selou o acordo para mim. :)Eu acho que criar um atalho para
C:\Tools
noSend To
menu do Windows é a melhor opção, pois sempre é acessível de qualquer lugar. Dessa forma, você pode "instalar" rapidamente seus pequenos programas clicando com o botão direito do mouse neles e escolhendo Ferramentas no menu Enviar para em qualquer lugar do Windows.Eu recebi este tutorial sobre como adicionar ao menu Enviar para no HowToGeek
. Cole o resumo:
Toda vez que você baixar um novo aplicativo portátil, basta extraí-lo e enviá-lo para esse local.
O único problema é a criação de atalhos que acho que vale a pena fazer manualmente.
Saudações.
fonte
C:\Tools\
àSend To
pasta e acessá-lo de qualquer lugar, para que você não tenha o trabalho de lidar com cada um de seus programas manualmente. Minha resposta provavelmente tornará mais rápido o processo de lidar com outras coisas e ler outras. Isso funciona muito bem para mim.%APPDATA%
variável está enraizada na%USERPROFILE%\AppData\Roaming
pasta; portanto, no Windows 7, o caminho acima está correto. No Windows XP, você precisará adicionar a pasta Roaming conforme indicado, no entanto.A variável de ambiente Path do sistema padrão no Windows é algo como (Dependendo da versão do Windows instalada):
Fora dessas opções,% SystemRoot% (que geralmente é
C:/
) parece ser a melhor opção para você ler / gravar e será fácil fazer referência posteriormente.fonte