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 quizás agregue 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 tales 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 aquellos que también tienen otros archivos, o tal vez solo aquellos con .dll
s necesitan ser tratados de manera diferente ...
¿Hay 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 podría sorprender a las personas como la respuesta obvia parece tener un inconveniente:
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 a carpeta de destino denegado . Esto me hizo pensar dos veces en lugar de simplemente hacer clic a ciegas en Continuar .
Suponiendo que mentes más grandes que la mía se han enfrentado a esto muchas veces a lo largo de los años, me gustaría preguntarle a la comunidad si se ha aceptado algún tipo de "mejor práctica".
C:\Program Files
otro lugar o no, y proporciono información sobre una posible barrera paraC:\Program Files
ser una solución obvia.Respuestas:
Utilizar
C:\Tools
o
C:\Users\<user>\Tools
Estoy usando muchos programas pequeños sin instalador y recomiendo lo siguiente:
C:\Tools
C:\Tools
C:\Tools\ProgramName
C:\Tools\_SysInternals
porque hay muchas de ellasSimplemente me estoy moviendo
C:\Tools
de una máquina a otra cuando migro, funciona de maravilla.Muestra práctica (lista abreviada):
Espero que esto te de una idea.
EDITAR: Información extendida
Supongo que bajo instalar en su pregunta ¿Cómo debo instalar tales herramientas? en realidad te refieres a la configuración manual, algo así como copiar los archivos.
Regla general: utilice carpetas creadas manualmente para archivos mantenidos manualmente. Deje que las carpetas del sistema sean utilizadas por procesos (de instalación) que no controla directamente. Inmediatamente obtendrá el beneficio de reconocer qué contenido es 'suyo' (y puede copiarlo libremente) y qué aplicación es administrada por 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, se deben reinstalar (da una excelente pista para la migración)C:\Program Files (x86)
- como lo anterior, pero en los sistemas de 64 bits, los programas de 32 bits van aquí (pueden dar una pista para determinar si una aplicación en particular es de 32 bits o de 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 tus programas en Datos? No es Buena idea.C:\Users\Steven\AppData
- una vez más, poner programas bajo Datos no es una buena idea. Si preguntó sobre datos, se pueden escribir varias cosas interesantes sobre esta ruta. Pero para los programas simplemente 'no'. :)Camino posible
C:\Users\Steven
- puede ser su raíz alternativa si se trata de una computadora compartida y desea mantenerla ordenada, por lo que decide no crear ningún directorio global. Puede considerarC:\Users\Steven\Tools
sus programas o inclusoC:\Users\Steven\Desktop\Tools
si desea utilizar el cómodo acceso a la carpeta de escritorio disponible mediante acceso directo desde muchos lugares de Windows. Pero mejor puede ser el anterior y aún puede colocar el acceso directo a esta carpeta en el escritorio o cuando sea necesario.Editar: Sugerencia útil adicional:
Si desea que algunos de sus pequeños programas se reconozcan en el menú Inicio de Windows 10 (para una búsqueda incremental de sus nombres o un inicio elevado instantáneo con Ctrl+ Shift+ Enter), agregue sus accesos directos allí y ejecútelos una vez . (Entonces puedes eliminarlos).
fuente
C:\Other
oC:\Users\<user>\Other
, sería considerado tan "legítimo" como "Herramientas"?Hasta donde yo sé, no hay un enfoque universal.
Colocar sus aplicaciones en
C:\Program Files
es una forma bastante estándar. Y obtendrá la protección de acceso : los usuarios normales (y no elevados) no pueden escribirC:\Program Files
. Por lo tanto, no puede eliminar accidentalmente, sobrescribir dichos archivos; y están mejor protegidos de los virus.Es por eso que recibe la advertencia (solicitud de elevación) cuando intenta crear una carpeta
C:\Program Files
.Por lo tanto,
C:\Program Files
es el lugar más seguro para los archivos ejecutables.Sin embargo, no es adecuado para aplicaciones (portátiles) que almacenan su configuración cerca de
.exe
porque no podrán guardar los cambios de configuración.C:\ProgramData
es para almacenar datos de aplicaciones compartidos entre usuarios. De manera 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 él. Tiene todos los permisos para su perfil, por lo que no recibirá ninguna advertencia de seguridad. Esa es la razón por la cual Chrome se instala en el perfil del usuario: puede actualizarse fácilmente sin solicitar elevación.En modo por usuario, los paquetes,
.msi
archivos e instaladores de Windows se instalan enC:Users\<username>\AppData\Microsoft\Installer\<ProductId>
. Por lo tanto, es bastante estándar mantener aplicaciones no compartidas en el perfil del usuario.Tengo una
utils
carpeta en el perfil de mi usuario con aplicaciones que son útiles solo para mí. Esta carpeta se agrega aPATH
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 laPATH
variable global .fuente
Estoy de acuerdo con las respuestas ya dadas en algún momento. Pero para programas realmente pequeños (utils) tiendo a ponerlos en la carpeta bin (en mi caso E: \ bin). Estos programas suelen ser un solo 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 tiendo a usar bastante).
fuente
C:\Program Files\bin
para este tipo de herramientas y utilidades. Gracias por la respuesta.Hasta donde yo sé, no hay mejores prácticas. Realmente depende de usted individualmente decidir cómo desea manejarlo.
Tiendo a seguir el mismo estándar que cualquier aplicación con un instalador. Si es un ejecutable o una biblioteca, lo colocaría en
\Program Files\
si es de 64 bits yProgram Files (x86)\
si es de 32 bits .Los archivos de datos que suelo almacenar en mis
Users
carpetas, ya que normalmente son específicos de un usuario.También hay aplicaciones como Google Chrome y aplicaciones Click-Once que se implementan
Users\AppData\
, sin embargo, normalmente no están disponibles para múltiples perfiles.Prefiero el primer método porque si necesito iniciar sesión en otro perfil o como administrador, todavía puedo acceder a las aplicaciones.
Con respecto a la advertencia de permiso. Es exactamente eso, una advertencia . Es simplemente para advertirle que use la carpeta por razones incorrectas, sin embargo, no le impide usarla.
fuente
%ProgramFiles%
también, pero por otra razón: las aplicaciones sin instaladores a menudo son portátiles, y no tienes permiso de escritura allíSi está buscando estandarizar estas aplicaciones, le sugiero que use los estándares del paquete Chocolatey . Esto es bueno por muchas razones diferentes; principalmente porque gran parte del software ya se ha empaquetado para usted y está listo para instalar desde cualquier lugar con solo unos pocos comandos.
También es fácil crear sus propios paquetes para aplicaciones que no puede distribuir libremente. Probablemente tenga derecho a distribuir cualquier cosa que posea en su propia red; entonces para esas aplicaciones puedes configurar un repositorio local . Si está administrando muchas computadoras o tiene un ancho de banda de Internet limitado, esto puede ser útil incluso para las cosas gratuitas.
fuente
Si toma las opciones de instalación predeterminadas de cygwin, coloca todos sus archivos en c: \ cygwin. Yo tomaría el mismo enfoque. Personalmente tengo una carpeta ac: \ apps. En el pasado, he usado c: \ utils y c: \ cli (abreviatura de línea de comando). Realmente depende de cómo quieras organizar tus archivos. Sugeriría que las utilidades individuales las coloquen en una carpeta general. Para un conjunto de utilidades (por ejemplo, cygwin, sysinternals, rktools), podría sugerir una subcarpeta propia. Por ejemplo, puede poner todos los sysinternals dentro de c: \ apps \ sysinternals. Si instala cygwin, eso requerirá la mayoría (si no todos) de los comandos de Unix que ha llegado a amar.
Recuerde cambiar sus variables ambientales (Inicio> Panel de control> Sistema> Avanzado> Variables ambientales) y agregue cualquier ruta de aplicación nueva a su variable de sistema PATH. Esto le permite ejecutarlos a pedido desde el símbolo del sistema o mediante Windows + R (comando de ejecución).
fuente
\Program Files
directorio en Linux.C:\Users\Me\toolName
(también conocido como% homepath% \ toolName) es el lugar correcto para colocar las herramientas suponiendo que lo desea para elMe
usuario, ya que algunas de estas herramientas escriben archivos (temp) y requerirán el permiso del usuario para escribir en laProgram files
carpeta. Otra ventaja es que no olvidará hacer una copia de seguridad porque ya está en el espacio del usuario.fuente
%homepath%' rather than
c: \ users \ me`. Esto apunta a la ubicación correcta, incluso si se movió la ubicación predeterminada, y por lo tanto es más portátil. +1 para la parte de escritura / temporal.No hay reglas sobre esto, puede instalarlas donde quiera, pero instalarlas en su OSP (Partición del sistema operativo) en una carpeta que no sea de usuario generalmente es una buena idea, ya que obtendrá las mismas protecciones de acceso ¿Tienes en otras aplicaciones? esto hace que sea más difícil eliminarlo accidentalmente o que un tercero lo modifique (p. ej., virus).
Personalmente, generalmente pongo el programa en "C: \ Archivos de programa (x86)", porque la mayoría de los programas que he encontrado son de 32 bits, pero si se tratara de un programa de 64 bits, lo colocaría en C: \ Archivos de programa " Si se trata de un programa relacionado con el sistema (por ejemplo: Imagex.exe), lo colocaré en "C: \ Windows \ system32" para programas de 32 bits y "C: \ Windows \ system32" para programas de 64 bits para permitir un acceso más fácil desde línea de comando cuando se ejecutan mensajes de comando elevados, porque comienza en C: \ Windows \ system32 "por defecto; Esto significa que puede escribir "name.exe" en lugar de C: \ location \ name.exe "para ejecutar el programa.
Algunas personas prefieren separar sus dispositivos portátiles (no requiere instalación o realizar alternancias sin supervisión fuera de su carpeta) y programas no basados en el instalador (no portátiles, pero no requieren el uso de un instalador) de los programas normales creando un nuevo directorio en su OSP (p. ej .: C: \ Archivos de programa portátiles (x86) o C: \ Archivos de programa Dumpable (x86). Recomendaría el segundo de los 2 dado que tiene un mayor nivel de precisión, incluso si no suena como bonita.
Para resumir, no hay reglas, sin embargo, si las instala en el OSP (en una carpeta que no sea de usuario) podrá ayudar a proteger el programa contra la desinstalación / modificaciones no deseadas (incluidas modificaciones maliciosas) y, en algunas circunstancias la organización puede ser beneficiosa (p. ej., la carpeta system32 mencionada anteriormente para los programas CLI del sistema).
fuente
Etc
oEtcetera
si prefieres un pensamiento latino realmente elegante. En un segundo lugar cercano, también lo consideréMisc
. PeroEtc
selló el trato para mí. :)Creo crear un atajo para
C:\Tools
en elSend To
menú en Windows es la mejor opción, ya que siempre se puede acceder desde cualquier lugar. De esta manera, puede "instalar" rápidamente sus pequeños programas haciendo clic con el botón derecho en ellos y seleccionando Herramientas en el menú Enviar a desde cualquier lugar de Windows.Tengo este tutorial sobre Cómo agregar al menú Enviar a de HowToGeek
. Pego el resumen:
Luego, cada vez que descargue una nueva aplicación portátil, simplemente extráigala y envíela a ese lugar.
El único problema es la creación de accesos directos que creo que vale la pena hacerlo manualmente.
Saludos.
fuente
C:\Tools\
a laSend To
carpeta y acceda a él desde cualquier lugar, entonces no tendrá la molestia de hacer frente a cada uno de sus programas manualmente. Es probable que mi respuesta acelere el proceso de afrontamiento de otras cosas, lea otras. Me funciona muy bien.%APPDATA%
variable está enraizada en la%USERPROFILE%\AppData\Roaming
carpeta, por lo que para Windows 7 la ruta anterior es correcta. Sin embargo, en Windows XP necesitaría agregar la carpeta Roaming como indicó.La variable de entorno de la ruta del sistema predeterminada en Windows es algo así (según la versión de Windows instalada):
Fuera de esas opciones,% SystemRoot% (que generalmente es
C:/
) parece ser la mejor opción para leer / escribir y será fácil hacer referencia más adelante.fuente