Na plataforma Windows, a maioria dos aplicativos grandes vem com seu próprio instalador que configura pastas em C:\Program Files
, possivelmente em outros locais, e talvez adicionando algumas chaves de registro, etc.
Mas ainda existem algumas ferramentas que consistem em apenas um .exe
ou talvez também um README
e um .dll
ou dois.
Como devo instalar essas ferramentas? Diretamente em C:\Program Files
? Tudo em uma subpasta em C:\Program Files
? Em algum lugar abaixo 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 forma 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 a resposta óbvia parece ter um porém:
Eu tentei criar manualmente novas subpastas em C:\Program Files
. Na verdade, pensei que já tivesse feito isso antes, mas o Windows exibe uma caixa de diálogoAcesso à pasta de destino negado. Isso me fez pensar duas vezes em vez de apenas clicar cegamenteContinuar.
Partindo do pressuposto de que mentes superiores às minhas se depararam com isto muitas vezes ao longo dos anos, gostaria de perguntar à comunidade se algum tipo de “melhor prática” passou a ser aceite.
Responder1
UsarC:\Tools
ouC:\Users\<user>\Tools
Estou usando muitos programas pequenos sem instalador e recomendo o seguinte:
- Salve todos eles em
C:\Tools
- Se um programa consiste em um único arquivo, coloque-o diretamente abaixo
C:\Tools
- Se um programa consiste em vários arquivos, coloque-o em
C:\Tools\ProgramName
- As ferramentas SysInternals têm uma categoria especial
C:\Tools\_SysInternals
porque existem muitas delas
Estou simplesmente mudando C:\Tools
de máquina para máquina durante a migração, funciona perfeitamente.
Amostra prática (lista abreviada):
C:\Ferramentas\autoexec-elevado.bat C:\Ferramentas\cleanup.bat C:\Ferramentas\BabelMap.exe C:\Ferramentas\netmon.exe C:\Ferramentas\notifu.exe C:\Ferramentas\putty.exe C:\Ferramentas\UDPixel.exe C:\Ferramentas\bateria.vbs C:\Ferramentas\3dclip-1.5.1\ C:\Ferramentas\alternatestreamview\ C:\Ferramentas\blender-2.71-windows64\ C:\Ferramentas\Notepad++\ C:\Ferramentas\QueryExpress\ C:\Ferramentas\winscp555\ C:\Ferramentas\Xinorbis\ C:\Ferramentas\_Sysinternals\accesschk\ C:\Ferramentas\_Sysinternals\Autoruns\ C:\Ferramentas\_Sysinternals\depends22_x64\ C:\Ferramentas\_Sysinternals\depends22_x86\ C:\Ferramentas\_Sysinternals\LogonSessions\
Espero que isso dê uma ideia.
EDITAR: informações estendidas
Suponho que sobinstalarna sua perguntaComo devo instalar essas ferramentas?você realmente quer dizer configuração manual, algo comocopiandoos arquivos.
Regra geral: use pastas criadas manualmente para arquivos mantidos manualmente. Deixe que as pastas do sistema sejam usadas por processos (de instalação) que você não controla diretamente. Você obterá imediatamente o benefício do reconhecimento de qual conteúdo é 'seu' (e você 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, devem ser reinstalados (dá uma ótima dica para migração)C:\Program Files (x86)
- como acima, mas em sistemas de 64 bits, os programas de 32 bits vão aqui (pode dar uma dica para determinar se um aplicativo específico é 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 seuprogramasem Dados? Não é uma boa ideia.C:\Users\Steven\AppData
- novamente, colocandoprogramasem Dados 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 sersua raiz alternativase este for um computador compartilhado e você quiser mantê-lo organizado, você decide não criar nenhum diretório global. Você pode considerarC:\Users\Steven\Tools
para seus programas ou até mesmoC:\Users\Steven\Desktop\Tools
se quiser usar confortávelÁrea de Trabalhoacesso à pasta disponível via atalho em vários lugares do Windows. Mas melhor pode ser o anterior e você ainda pode colocar o atalho desta pasta na área de trabalho ou sempre que necessário.
Editar:Dica útil adicional:
Se você quiser que alguns de seus pequenos programas sejam reconhecidos no Windows 10Começarmenu (para pesquisa incremental de seus nomes ou início elevado instantâneo usando Ctrl+ Shift+ Enter),adicione seus atalhos lá e inicie-os uma vez. (Então você pode removê-los.)
Responder2
Pelo que eu sei, não existe uma abordagem universal.
Colocar seus aplicativos C:\Program Files
é uma forma bastante padrão. E você obterá oproteção de acesso: usuários regulares (e não elevados) não podem gravar em arquivos C:\Program Files
. Portanto, você não pode excluir ou sobrescrever acidentalmente 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 formato C:\Program Files
.
Portanto, C:\Program Files
é omais segurolugar para arquivos executáveis.
No entanto, não é adequado para aplicativos (portáteis) que armazenam suas configurações perto do .exe
porque não serão capazes de salvar as alterações de configuração.
C:\ProgramData
serve para armazenar dados de aplicativos compartilhados entre usuários. Por padrão, todos os usuários podem criar arquivos e pastas aqui, mas somente o usuário que os criou pode modificar os arquivos.
Esta pasta pode ser facilmente usada para aplicativos/ferramentas compartilhadas. 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 elevação.
No modo por usuário, os pacotes e .msi
arquivos do Windows Installer são instalados em arquivos C:Users\<username>\AppData\Microsoft\Installer\<ProductId>
. Portanto, é bastante padrão manter aplicativos não compartilhados no perfil do usuário.
Tenho utils
uma pasta no perfil do meu usuário com aplicativos que são úteis apenas para mim. Esta pasta é adicionada à PATH
variável de ambiente dos 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.
Responder3
Concordo com as respostas já dadas até certo ponto. Mas para programas realmente pequenos (utils), costumo colocá-los na pasta bin (no meu caso E:\bin). Esses programas geralmente são arquivos exe únicos ou meus próprios scripts python. Eu adiciono esta pasta à variável PATH para poder usar esses programas na linha de comando (que costumo usar bastante).
Responder4
Se você deseja padronizar esses aplicativos, sugiro usar oChocolatepadrões de pacote. Isso é bom por vários motivos diferentes; principalmente porque muito do software temjá foi embaladopara você e está pronto para ser instalado em qualquer lugar com apenas alguns comandos.
Também é fácil fazer o seupacotes própriospara aplicativos que você não pode distribuir gratuitamente. Você provavelmente tem o direito de distribuir tudo o que possui em sua própria rede; então para essas aplicações você podeconfigurar um repositório local. Se você gerencia muitos computadores ou tem largura de banda de Internet limitada, isso pode ser útil até mesmo para itens gratuitos.