En la plataforma Windows, la mayoría de las aplicaciones grandes vienen con su propio instalador que configura carpetas en C:\Program Files
, posiblemente en otros lugares, y tal vez agrega algunas claves de registro, etc.
Pero todavía hay bastantes herramientas que consisten en solo una .exe
o quizás también una README
y una .dll
o dos.
¿Cómo debo instalar dichas herramientas? ¿Directamente en C:\Program Files
? ¿Todo en una subcarpeta debajo C:\Program Files
? ¿En algún lugar debajo C:\Users\Me
? ¿En algún lugar totalmente diferente?
O tal vez diferentes enfoques para las herramientas con solo una .exe
para aquellas que también tienen otros archivos, o tal vez solo las que tienen .dll
s deben ser tratadas de manera diferente...
¿Existe alguna forma estándar aceptada de hacer esto? ¿Una "mejor práctica"? Si la respuesta depende de la versión de Windows, estoy usando Windows 7.
En particular, lo que a la gente podría parecerle la respuesta obvia parece tener un problema:
Intenté crear manualmente nuevas subcarpetas en C:\Program Files
. De hecho pensé que lo había hecho antes, pero Windows muestra un cuadro de diálogo.Acceso denegado a la carpeta de destino. Esto me hizo pensar dos veces en lugar de simplemente hacer clic a ciegas.Continuar.
Suponiendo que mentes más grandes que la mía se hayan topado con esto muchas veces a lo largo de los años, me gustaría preguntar a la comunidad si se ha aceptado algún tipo de "mejores prácticas".
Respuesta1
UsarC:\Tools
oC:\Users\<user>\Tools
Estoy usando muchos programas pequeños sin instalador y recomiendo lo siguiente:
- Guárdalos a todos en
C:\Tools
- Si un programa consta de un solo archivo, colóquelo directamente debajo
C:\Tools
- Si un programa consta de varios archivos, colóquelo en
C:\Tools\ProgramName
- Las herramientas SysInternals tienen una categoría especial
C:\Tools\_SysInternals
porque hay muchas
Simplemente me muevo C:\Tools
de una máquina a otra cuando migro, funciona de maravilla.
Ejemplo práctico (lista abreviada):
C:\Herramientas\autoexec-elevated.bat C:\Herramientas\cleanup.bat C:\Herramientas\BabelMap.exe C:\Herramientas\netmon.exe C:\Herramientas\notifu.exe C:\Herramientas\putty.exe C:\Herramientas\UDPixel.exe C:\Herramientas\batería.vbs C:\Herramientas\3dclip-1.5.1\ C:\Herramientas\alternatestreamview\ C:\Herramientas\blender-2.71-windows64\ C:\Herramientas\Bloc de notas++\ C:\Herramientas\QueryExpress\ C:\Herramientas\winscp555\ C:\Herramientas\Xinorbis\ C:\Herramientas\_Sysinternals\accesschk\ C:\Herramientas\_Sysinternals\Autoruns\ C:\Herramientas\_Sysinternals\depende22_x64\ C:\Herramientas\_Sysinternals\depende22_x86\ C:\Herramientas\_Sysinternals\LogonSessions\
Espero que esto dé una idea.
EDITAR: información ampliada
Supongo que bajoinstalaren tu pregunta¿Cómo debo instalar dichas herramientas?en realidad te refieres a la configuración manual, algo así comoproceso de copiarLos archivos.
Regla general: utilice carpetas creadas manualmente para archivos mantenidos manualmente. Permita que las carpetas del sistema sean utilizadas por procesos (de instalación) que usted no controla directamente. Obtendrá inmediatamente el beneficio de reconocer qué contenido es "suyo" (y podrá copiarlo libremente) y qué aplicación administra el instalador.
Por lo tanto, al instalar manualmente (copiando), manténgase alejado de
C:\Program Files
- los programas que se encuentran aquí no se pueden migrar simplemente, deben reinstalarse (da una gran pista para la migración)C:\Program Files (x86)
- como lo anterior, pero en sistemas de 64 bits, los programas de 32 bits van aquí (puede dar una pista para determinar si una aplicación en particular es de 32 o 64 bits)C:\ProgramData
- Los almacenamientos de aplicaciones que se encuentran aquí muestran que estos programas mantienen algunos de sus datos a su manera. Pero preguntaste sobre poner tuprogramasen Datos? No es Buena idea.C:\Users\Steven\AppData
- otra vez, poniendoprogramasen Datos no es una buena idea. Si preguntaste sobre los datos, entonces se pueden escribir varias cosas interesantes sobre este camino. Pero para los programas simplemente "no". :)
Posible camino
C:\Users\Steven
- puede sertu raíz alternativaSi se trata de una computadora compartida y desea mantenerla ordenada, decide no crear ningún directorio global. Puedes considerarloC:\Users\Steven\Tools
para tus programas o inclusoC:\Users\Steven\Desktop\Tools
si quieres utilizar cómodosEscritorioAcceso a carpetas disponible mediante acceso directo desde muchos lugares de Windows. Pero mejor puede ser el anterior y aún puedes colocar el acceso directo a esta carpeta en el escritorio o cuando sea necesario.
Editar:Consejo útil adicional:
Si desea que algunos de sus pequeños programas sean reconocidos en Windows 10Comenzarmenú (para búsqueda incremental de sus nombres o inicio elevado instantáneo usando Ctrl+ Shift+ Enter),agregue sus accesos directos allí y ejecútelos una vez. (Entonces puedes eliminarlos).
Respuesta2
Hasta donde yo sé, no existe un enfoque universal.
Colocar sus aplicaciones C:\Program Files
es una forma bastante estándar. Y obtendrás elprotección de acceso: los usuarios normales (y los no elevados) no pueden escribir en C:\Program Files
. Por lo tanto, no puede eliminar ni sobrescribir accidentalmente dichos archivos; y están mejor protegidos contra los virus. Es por eso que recibe la advertencia (solicitud de elevación) cuando intenta crear una carpeta en formato C:\Program Files
.
Por lo tanto, C:\Program Files
es elmás segurolugar para archivos ejecutables.
Sin embargo, no es adecuado para aplicaciones (portátiles) que almacenan su configuración cerca .exe
porque no podrán guardar los cambios de configuración.
C:\ProgramData
es para almacenar datos de aplicaciones compartidos entre usuarios. De forma predeterminada, todos los usuarios pueden crear archivos y carpetas aquí, pero solo el usuario que los creó puede modificar los archivos.
Esta carpeta podría usarse fácilmente para aplicaciones/herramientas compartidas. Al mismo tiempo, nunca vi una aplicación en esta carpeta.
Si coloca aplicaciones en su perfil de usuario, C:\Users\<username>
otros usuarios del sistema no tendrán acceso a ellas. Tienes todos los permisos para tu perfil, por lo que no recibirás ninguna advertencia de seguridad. Esa es la razón por la que Chrome se instala en el perfil del usuario: puede actualizarse fácilmente sin solicitar elevación.
En el modo por usuario, los paquetes y .msi
archivos de Windows Installer se instalan en archivos C:Users\<username>\AppData\Microsoft\Installer\<ProductId>
. Por lo tanto, es bastante estándar mantener aplicaciones no compartidas en el perfil del usuario.
Tengo utils
una carpeta en mi perfil de usuario con aplicaciones que sólo son útiles para mí. Esta carpeta se agrega a PATH
la variable de entorno de mis usuarios para facilitar el acceso.
Para aplicaciones compartidas, uso C:\tools
un directorio similar, posiblemente en otra unidad. Se agrega a la PATH
variable global.
Respuesta3
Estoy de acuerdo con las respuestas ya dadas hasta cierto punto. Pero para programas realmente pequeños (utils) tiendo a colocarlos en la carpeta bin (en mi caso E:\bin). Estos programas suelen ser un único archivo exe o mis propios scripts de Python. Agrego esta carpeta a la variable PATH para poder usar estos programas desde la línea de comandos (que suelo usar bastante).
Respuesta4
Si está buscando estandarizar estas aplicaciones, le sugiero que utilice elchocolateadoestándares del paquete. Esto es bueno por muchas razones diferentes; principalmente porque gran parte del software tieneya ha sido empaquetadopara usted y está listo para instalar desde cualquier lugar con solo unos pocos comandos.
También es fácil hacer tupaquetes propiospara aplicaciones que no puede distribuir libremente. Probablemente tenga derecho a distribuir cualquier cosa que posea en su propia red; entonces para esas aplicaciones puedesconfigurar un repositorio local. Si administra muchas computadoras o tiene un ancho de banda de Internet limitado, esto puede resultar útil incluso para las cosas gratuitas.