¿Por qué mi aplicación .NET 4 sabe que .NET 4 no está instalado?

Desarrollé una aplicación dirigida a .NET 4 el otro día y XCOPY la instalé en una máquina con Windows XP. Le dije al propietario de la máquina que necesitarían instalar .NET Framework 4 para ejecutar mi aplicación y él me dijo que lo hizo (no es una fuente confiable). Cuando ejecuté la aplicación, me presentaron un cuadro de mensaje que decía que esta aplicación requiere .NET Framework 4, ¿me gustaría instalarla? Al hacer clic en el botón Sí, me llevó al sitio web de Microsoft y unos pocos clics más tarde. Se instaló .NET 4 y la aplicación se inició con éxito.

En el pasado, la instalación de aplicaciones .NET de XCOPY en una máquina que no tenía instalada la versión correcta de .NET hacía que la aplicación fallara al iniciarse sin que se presentara información útil al usuario. ¿Por qué fue diferente esta vez?

¿Estaba integrado en mi aplicación porque apunté a .NET X?¿Era algo ya instalado en la máquina de destino?

Me encanta la característica. Quiero saber exactamente cómo aprovecharla en el futuro.

Respuestas a la pregunta(1)

Su respuesta a la pregunta