Una aplicación «portable» es aquella que se puede utilizar sin necesidad de instalarla previamente mediante un «setup» o programa instalador. Además, para que una aplicación se considere 100% portable, es necesario que utilice únicamente su directorio para guardar su configuración. Es decir, no debería utilizar el registro de Windows o el perfil del usuario.

Ubicaciones de instalación

Para entender las ventajas y los inconvenientes de una aplicación de este tipo en un entorno de trabajo con sistema operativo Microsoft Windows, hay que conocer las ubicaciones de instalación más comunes.

C:\Program Files

En este SO, lo más habitual a la hora de utilizar una aplicación es instalarla previamente. El «setup» se encarga de crear el directorio de la aplicación (habitualmente bajo el directorio C:\Program Files o C:\Program Files (x86) según la arquitectura del sistema y de la aplicación), copiar en él los ficheros de la misma y añadir al registro su configuración. En algunas ocasiones, también se copian ficheros fuera del directorio de la aplicación (por ejemplo en C:\ProgramData o C:\Windows\System32) para que formen parte de las librerías del sistema. Por tanto, en Windows, se puede decir que una aplicación no es más que un conjunto de ficheros y claves del registro.

Para realizar esta instalación, un usuario necesita permisos para poder escribir en estos directorios y agregar la información al registro del ordenador. Estos permisos se consiguen habitualmente perteneciendo al grupo de Administradores del ordenador. Lamentablemente, no siempre es posible tener este permiso debido a restricciones de empresa dirigidas a minimizar el impacto en el ordenador si el usuario es comprometido por un programa malicioso, un ataque dirigido o un fallo de seguridad. Aunque parezca una limitación, es muy aconsejable utilizar usuarios sin privilegios para el trabajo diario.

C:\Users

Para evitar la necesidad de tener estos permisos, algunas aplicaciones (Google Chrome, Spotify, Atom, etc.) ubican su directorio en el perfil del usuario (C:\Users\<usuario>\AppData) lo que permite su instalación sin tener los permisos de administrador mencionados anteriormente. Esto implica algunos problemas en la gestión centralizada de las aplicaciones al poder existir más de una instancia de la misma en un ordenador.

Otros directorios

En muchas ocasiones, el propio desarrollador/fabricante de una aplicación proporciona una versión que no necesita instalación. Lo más habitual es proporcionarla en un fichero ZIP que el usuario únicamente deberá descomprimir en cualquier directorio para poder tener la aplicación «instalada»:

En un entorno de trabajo clásico, con el Sistema Operativo en la partición C:\ y los datos de usuario en otra partición (por ejemplo D:\), es muy común tener un directorio específico para «instalar» este tipo de aplicaciones. En mi caso, acostumbro a utilizar la siguiente estructura:

  1. PORTABLE: Aquellas aplicaciones que son 100% portables. Es decir, no necesitan permisos de administrador para ser instaladas y su configuración se guarda en el mismo directorio de la aplicación (habitualmente en un fichero INI, XML o similar)
  2. PortableApps: Aplicaciones que forman parte de la plataforma PortableApps.com
  3. RUN: Aquellas aplicaciones que no son 100% portables, bien por su diseño (por ejemplo PuTTY) o porque se trata de una copia de ficheros

Nota: puede darse el caso de tener una aplicación que no necesite permisos de administrador para realizar su instalación pero sí que se requieran los mismos para ejecutarla (por ejemplo, la aplicación Rufus para creación de USB de inicio a partir de imágenes ISO).

Ventajas e inconvenientes

Las principales ventajas de las aplicaciones portables son las siguientes:

La desventaja principal:

¿Dónde se consiguen?

Hay diferentes maneras de obtener aplicaciones portables:

Además, también se pueden conseguir creándolas uno mismo:

Seguridad

Para evitar ser víctimas de programas maliciosos, se deben seguir las mismas recomendaciones de seguridad que con la instalación de cualquier tipo de aplicación: