Muchas aplicaciones para Windows, tanto creadas con Windows Forms, WPF o incluso de consola, se distribuyen a los usuarios usando una tecnología vetusta pero muy útil llamada ClickOnce. Esta tecnología apareció en junto con la versión 2.0 de .NET Framework allá por 2005 y es extremadamente útil porque te permite empaquetar tus aplicaciones de modo que se puedan descargar e instalar desde una ubicación remota, en Internet, en la red local o en cualquier ubicación fija, y que al mismo tiempo se instalen las dependencias que necesites e incluso se determine si existe una versión nueva y se actualice sola automáticamente. Ya he hablado con anterioridad de algunos problemillas que te pueden dar a la hora de definir el paquete, pero en esta ocasión hablaré de un problema que te puede dar si eres un usuario.

Si vas a instalar una aplicación que implemente Clickonce es posible que, al intentarlo, te aparezca un diálogo como este:

que dice que no se puede instalar debido a los ajustes de seguridad de tu equipo. En este caso es una app que tengo descargada en mi unidad G:\ de Google Drive, que se considera como cualquier unidad local, o sea, que no es una app recién descargada de Internet o desde una unidad de red, por lo que debería instalarse sin problema. Lo peor es que no me da opción alguna para poder instalarla y se limita a decir que mi administrador ha bloqueado esta aplicación porque es un riesgo potencial de seguridad. Pero... mi administrador soy yo mismo. Este equipo es mío y no está en una red corporativa y mi cuenta es de administrador. WTF?

Bueno, resulta que el fabricante de mi portátil decidió por su cuenta y riesgo limitar un montón de cosas por defecto en el sistema. Por eso, entre otras cosas, odio usar los ordenadores tal y como vienen de fábrica: nunca sabes lo que te vas a encontrar, y prefiero instalar de cero una licencia mía del sistema según llega por la puerta el nuevo equipo.

Por suerte casi todo tiene solución en estos casos, así que si te pasa algo así puedes hacer lo que te explico a continuación.

Para determinar si una aplicación ClickOnce se debe instalar o no, el sistema toma la decisión en función de la ubicación de la misma, de si está firmada digitalmente o no, y de unos ajustes asociados con lo anterior que se encuentran en el registro del sistema.

Existen 5 ubicaciones para las que se puede activar o desactivar la instalación:

  • MyComputer: una app que está en una ubicación de tu ordenador local y que no has descargado de Internet.
  • LocalIntranet: apps que están ubicadas en una carpeta compartida de la red local.
  • TrustedSites: apps que se han descargado desde alguno de los sitios de la lista de confianza que hayas establecido en Internet Explorer (sí, esta tecnología tienes sus añitos). Dado que IE sigue estando instalado de serie en Windows todavía puedes establecerlas con facilidad desde Herramientas·opciones de Internet, o desde el panel de control del sistema buscando el mismo ajuste, y luego aquí:

  • UntrustedSites: parecido a lo anterior pero para lo contrario, o sea, sitios en los que explícitamente no confías y que están restringidos. Es la opción situada a la derecha en la figura anterior (Restricted sites).
  • Internet: pues eso, aplicaciones que te instalas directamente desde una ubicación en Internet, sin estar en sitios de confianza o en sitios restringidos explícitamente (por ejemplo, Google Chrome y algunas otras aplicaciones de Google, que usan ClickOnce).

Bien, en el registro del sistema se guardan los ajustes relativos a estas ubicaciones, en concreto en la rama \HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel. Si abres el editor del registro (regedit.exe) y buscas esa rama verás los ajustes que tienes actualmente:

Como se puede ver, en este caso los tengo todos deshabilitados, por lo que no me deja instalar nada.

Si quieres permitir que se instalen aplicaciones desde alguna de estas ubicaciones, lo único que tienes que hacer es doble-clic sobre la que te interese y cambiar la palabra Disabled por Enabled. Ni siquiera es necesario reiniciar el equipo, pues se comprueba en cada intento.

Si ahora ejecutas la aplicación, verás que ya te da la opción de instalarla, aunque te avisa de que te asegures de que es una aplicación obtenida de una fuente fiable, claro:

Pero ya puedes proceder, que es lo que querías.

Para evitarte que tengas que editar directamente el registro te dejo aquí un archivo .reg (ZIP, 460 bytes) que establece como habilitadas las ubicaciones de tu equipo local, carpetas de red y sitios en los que confías (no Internet, que por defecto es un poco peligrosa). Descomprime el ZIP, haz doble click en el archivo, y listo.

¡Espero que te resulte útil!

💪🏻 ¿Este post te ha ayudado?, ¿has aprendido algo nuevo?
Pues NO te pido que me invites a un café... Te pido algo más fácil y mucho mejor

Escrito por un humano, no por una IA