Por qué Windows llegó a ser como es hoy: la evolución de las versiones de Windows vista por un desarrollador

· Actualizado el: · · Windows, Desarrollo de aplicaciones Windows, Compatibilidad, Historia de sistemas operativos, Win32, .NET, Seguridad

1. Introducción

Cuando se habla de la historia de Windows, suele contarse a partir de los cambios en su aspecto visual.

Apareció el menú Inicio. Se incorporó Aero. Se pasó a la pantalla de inicio. Cambió la posición de la barra de tareas. Las esquinas se redondearon.

Por supuesto, eso también es parte de la historia de Windows.

Sin embargo, desde la perspectiva de un desarrollador de aplicaciones Windows, los cambios verdaderamente importantes no se limitan al diseño de la pantalla. Lo realmente relevante son cambios como estos:

  • Estabilidad del sistema operativo
  • Protección de memoria
  • Gestión de permisos
  • Modelo de controladores
  • Compatibilidad con 32 bits / 64 bits
  • Compatibilidad con COM, ActiveX y la API Win32
  • .NET Framework y .NET
  • UAC
  • Windows Update
  • Funciones de seguridad
  • Convivencia de aplicaciones de la tienda y aplicaciones de escritorio
  • WSL
  • TPM y Secure Boot
  • Alta densidad de píxeles (DPI) y múltiples monitores
  • CPU híbridas y control del consumo de energía

Windows no es un sistema operativo que simplemente haya evolucionado cambiando su apariencia, sino un sistema operativo que, mientras procuraba seguir ejecutando las aplicaciones antiguas el mayor tiempo posible, fue elevando poco a poco su estabilidad, seguridad, rendimiento y compatibilidad de hardware. Ahí reside tanto el interés como la complicación de Windows.

En este artículo repasamos las distintas versiones de Windows no como un simple cronograma, sino como los cambios vistos desde la perspectiva de un desarrollador de aplicaciones Windows.

Antes de continuar, resumimos en una tabla las siglas que aparecerán más adelante sin mayor explicación.

Término Nombre completo Significado en una línea Capítulos donde aparece principalmente
UAC User Account Control Mecanismo que, incluso con una cuenta de administrador, ejecuta los procesos por defecto con un token restringido y solo solicita elevación cuando una operación requiere privilegios administrativos. Introducido en Vista Capítulos 7, 13 y 14
WDDM Windows Display Driver Model Modelo de controladores de pantalla introducido en Vista, que rediseñó el renderizado de pantalla asumiendo el uso de GPU Capítulos 7 y 11
UEFI Unified Extensible Firmware Interface Estándar de firmware que sustituye al BIOS tradicional y constituye el requisito previo para Secure Boot Capítulo 11
Secure Boot Arranque seguro Función de UEFI que permite iniciar únicamente los cargadores de arranque y controladores cuya firma se ha podido verificar Capítulo 11
TPM Trusted Platform Module Función de seguridad que genera y almacena claves y mide la configuración de arranque. Windows 11 exige la versión 2.0 Capítulo 11
WinRT Windows Runtime Nueva base de API introducida en Windows 8, construida sobre COM Capítulo 9
ESU Extended Security Updates Mecanismo de pago que permite seguir recibiendo únicamente actualizaciones de seguridad críticas durante un período determinado tras el fin del soporte Capítulo 14
LTSC Long-Term Servicing Channel Modalidad de Windows con soporte a largo plazo que no recibe actualizaciones de funciones nuevas Capítulo 14

2. La historia de Windows también es la historia de la confluencia de dos corrientes

A la hora de entender la historia de Windows, lo primero que conviene tener claro es que existieron, a grandes rasgos, dos corrientes.

La corriente de Windows 95 / 98 / Me, que se expandió para los PC domésticos. La corriente de Windows NT / 2000, que creció pensando en el uso empresarial y de negocio.

Estas dos corrientes confluyen de forma decisiva en Windows XP.

Confluencia de las líneas de Windows doméstico y empresarial hasta Windows 11Diagrama que muestra cómo MS-DOS y Windows 3.x dan lugar a Windows 95/98/Me por un lado y a Windows NT/2000 por otro, cómo ambas líneas confluyen en Windows XP, y cómo esta evoluciona sucesivamente hacia Windows Vista/7, Windows 8/8.1, Windows 10 y Windows 11MS-DOS / Windows 3.xWindows 95 / 98 / MePC doméstico, facilidad de uso y periféricosWindows NT / 2000Uso empresarial, estabilidad y gestión de permisosWindows XPIntegración de lo doméstico y lo empresarialWindows Vista / 7UAC, WDDM y refuerzo de la seguridadWindows 8 / 8.1Táctil, tienda y nubeWindows 10Actualización continua, WSL, compatibilidad y modernizaciónWindows 11Estándares de seguridad y hardware moderno

Sin conocer esta trayectoria, resulta un poco difícil entender el aspecto actual de Windows.

¿Por qué siguen existiendo API antiguas? ¿Por qué hay problemas relacionados con los permisos de administrador? ¿Por qué las aplicaciones de 32 bits todavía funcionan? ¿Por qué escribir directamente en Program Files genera problemas? ¿Por qué a veces cuesta tanto trabajo con los controladores y los periféricos?

Más que simples errores de diseño, estas cuestiones son también el resultado de que Windows ha cargado, durante mucho tiempo, con el peso del uso real de los PC.

3. Windows 95 / 98: la época en que el PC doméstico se generalizó

Windows 95 es el sistema operativo que definió la forma de uso del Windows actual.

El menú Inicio. La barra de tareas. Los botones de minimizar, maximizar y cerrar. Plug and Play. Las funciones de red. La puerta de entrada a Internet.

Las operaciones que hoy damos por sentadas tomaron forma en gran medida en esta época.

Desde el punto de vista de un desarrollador, la época de Windows 95 / 98 fue aquella en la que el PC dejó de ser «una máquina que solo usaban unos pocos expertos» para convertirse en «una herramienta de uso cotidiano en el hogar y en el trabajo».

Instalar aplicaciones. Conectar una impresora. Conectarse a Internet mediante un módem. Instalar software desde un CD-ROM. Manejar cámaras digitales y dispositivos USB.

Ese tipo de uso se extendió de golpe.

Con Windows 98, elementos como Internet, USB, DVD, multimedia y las redes domésticas se reforzaron todavía más.

Sin embargo, el Windows de esta época todavía conservaba la inestabilidad heredada de DOS.

Una aplicación podía arrastrar a todo el sistema operativo con ella. Un controlador mal hecho provocaba una pantalla azul. Una diferencia de versión de una DLL rompía otra aplicación distinta. Se imponía la regla empírica misteriosa de que «reiniciando se arregla».

Para quienes vivieron esta época, Windows era, al mismo tiempo, algo útil y algo un poco temible.

4. Windows Me: el último intento de la línea doméstica basada en DOS

Windows Me es un sistema operativo difícil de valorar.

En general suele describirse como «el Windows inestable». De hecho, imagino que para mucha gente son pocos los buenos recuerdos que guarda de él.

Sin embargo, Windows Me también incorporó intentos novedosos.

System Restore. System File Protection. AutoUpdate. Funciones multimedia digitales. Red doméstica.

Es decir, ya se vislumbraba la orientación que hoy resulta habitual en Windows: «si algo se rompe, se puede revertir», «proteger los archivos importantes» y «automatizar las actualizaciones».

Sin embargo, como base seguía siendo el tramo final de la línea de Windows doméstico basada en DOS.

En cuanto a funciones, se intentaba incorporar elementos modernos. Pero la resistencia de fondo del sistema operativo aún no era suficiente.

Creo que esa brecha fue precisamente la dificultad de Windows Me.

Desde el punto de vista de un desarrollador, Windows Me es un ejemplo que nos enseña que «para incorporar una experiencia nueva, es necesario cambiar la propia base del sistema operativo».

Y esa respuesta fue la integración con la línea NT.

5. Windows NT / 2000: la base del Windows empresarial

Al margen del Windows doméstico, existía la corriente de la línea Windows NT.

La línea NT es un Windows que, desde el principio, tuvo muy presente el uso empresarial.

Estabilidad. Protección de memoria. Gestión de permisos. Servicios. Redes. Administración dentro de la empresa.

Un hito importante de esta corriente es Windows 2000.

Windows 2000 fue un sistema operativo que incorporó la facilidad de uso cultivada en Windows 95 / 98, a la vez que ponía en primer plano la estabilidad y la capacidad de administración propias de la línea NT.

Lo importante para un desarrollador es que, a partir de este punto, Windows fue reforzando su carácter de «plataforma que sostiene el trabajo empresarial», en lugar de ser «un sistema operativo doméstico al que no importaba que se colgara».

Permanecer residente como un servicio de Windows. Registrar información en el registro de eventos. Tener en cuenta los permisos de usuario. Ser administrado dentro de un dominio de red. Interactuar con carpetas compartidas e impresoras.

Ese tipo de premisas, que hoy son evidentes en el desarrollo de aplicaciones empresariales, fueron madurando en el contexto de la línea Windows NT.

6. Windows XP: la integración de lo doméstico y lo empresarial

Windows XP es un sistema operativo especialmente importante dentro de la historia de Windows. El motivo no es simplemente que fuera popular, sino que en él se integraron de forma práctica la corriente del Windows doméstico y la corriente de la línea empresarial Windows NT.

Gracias a Windows XP, incluso en los PC domésticos se pudo dar por sentada la estabilidad propia de la línea NT. Se trata de un cambio enorme.

Hasta entonces, en el Windows doméstico, los fallos de una aplicación o de un controlador tendían a desestabilizar todo el sistema operativo. A partir de XP, al menos como base, se puede contar con la línea NT, más estable.

Por otro lado, XP se utilizó durante muchísimo tiempo. Esto es tanto positivo como problemático. Debido a ese uso prolongado, los sistemas empresariales, las herramientas internas, ActiveX, los componentes COM, los periféricos antiguos y el software de uso exclusivamente empresarial acumularon en gran cantidad las premisas propias de la era XP.

En otras palabras, XP es a la vez el prototipo del Windows actual y uno de los puntos de partida de los activos heredados que persisten hasta hoy.

Para un desarrollador de aplicaciones Windows, la lección de XP se resume en esto:

Cuando un sistema operativo se usa durante mucho tiempo, las premisas de las aplicaciones también perduran durante mucho tiempo.

Esto es tanto una cuestión de compatibilidad como una cuestión de continuidad del negocio.

7. Windows Vista: tachado de fracaso, pero un punto de inflexión importante

A veces se habla de Windows Vista como un sistema operativo que tuvo mala fama.

Era pesado. Tenía demasiadas advertencias. Los controladores no eran compatibles. Las aplicaciones no funcionaban. XP era mejor.

Como experiencia de usuario de la época, esa valoración también tenía su razón de ser.

Sin embargo, desde la perspectiva de un desarrollador de aplicaciones Windows, Vista es un punto de inflexión importante.

Lo más destacable, en concreto, es lo siguiente:

  • UAC
  • WDDM
  • Aero / Desktop Window Manager
  • Un nuevo modelo de controladores
  • El refuerzo de la seguridad
  • La generalización de los entornos de 64 bits
  • Las restricciones de escritura en las carpetas Program Files y Windows
  • El manifiesto de aplicación

Vista introdujo en Windows «la incomodidad necesaria para un uso seguro».

Hasta entonces, en Windows se daba demasiado por sentado que todo se ejecutaba con permisos de administrador. Las aplicaciones escribían el archivo de configuración en la misma carpeta que el ejecutable. Se escribía sin mayor cuidado en el área del sistema del registro. Tanto el instalador como la propia aplicación asumían permisos de administrador.

Ese tipo de diseño no era nada infrecuente.

A partir de Vista, ese enfoque deja de funcionar con facilidad.

¿Dónde puede escribir su configuración una aplicación? ¿Los datos propios de cada usuario se colocan en AppData? ¿Los datos comunes a todos los usuarios se colocan en ProgramData? ¿Dónde y cómo se explica al usuario un proceso que requiere permisos de administrador?

Si no se tenían en cuenta estos aspectos, la aplicación dejaba de comportarse correctamente como una aplicación Windows.

Vista puede haber resultado incómodo desde el punto de vista del usuario. Pero, visto a largo plazo, fue el escalón necesario para que Windows avanzara hacia un modelo de seguridad moderno.

8. Windows 7: la OS que hizo práctica la base de Vista

Windows 7 se recuerda como un Windows de un nivel de acabado muy alto.

Es el sistema operativo que ordenó los grandes cambios introducidos en Vista en una forma más ligera, más fácil de usar y más estable.

También gozó de gran popularidad como Windows empresarial, y durante mucho tiempo se lo trató como el entorno de referencia en el desarrollo de aplicaciones Windows.

Lo importante de Windows 7 no es tanto «un gran cambio de filosofía» como «el nivel de acabado en la práctica».

Se mantuvo la orientación de elementos como UAC y WDDM introducidos en Vista, mientras se mejoraba la experiencia de usuario.

Para los desarrolladores, la difusión de Windows 7 hizo que el desarrollo de aplicaciones basado en el diseño posterior a Vista se volviera algo realista.

Por ejemplo, se trata de ideas como estas:

  • Dar por sentado que la aplicación se ejecuta con una cuenta de usuario estándar
  • Separar en el instalador o en un proceso distinto los procesos que requieren permisos de administrador
  • Distribuir adecuadamente la ubicación donde se guardan los archivos de configuración
  • Ir teniendo en cuenta, poco a poco, la alta densidad de píxeles y los múltiples monitores
  • Contar con la premisa de ejecutar aplicaciones de 32 bits sobre un Windows de 64 bits
  • Comprobar la compatibilidad de los controladores y los periféricos

Puede decirse que Windows 7 fue el puente realista, en el desarrollo de aplicaciones Windows, para pasar de «las prácticas de la era XP» a «las prácticas posteriores a Vista».

9. Windows 8 / 8.1: el giro brusco hacia la era táctil

Windows 8 fue un sistema operativo bastante audaz.

La pantalla de inicio. Los mosaicos dinámicos (live tiles). Windows Store. El manejo táctil. Los charms. La integración con la nube.

Es un Windows que tuvo muy en cuenta no solo el PC, sino también las tabletas.

Creo que, como orientación, en absoluto era errónea.

Los teléfonos inteligentes y las tabletas se extendieron rápidamente, y era necesario incorporar también al PC el concepto de manejo táctil y de aplicaciones de tienda.

Sin embargo, para los usuarios habituales de escritorio, el cambio fue demasiado brusco.

Daba la impresión de que el menú Inicio había desaparecido. Toda la pantalla cambiaba por completo. En los PC de trabajo centrados en el ratón y el teclado, el contexto de manejo cambiaba demasiado.

Como resultado, Windows 8 se convirtió en un sistema operativo con opiniones divididas.

Desde el punto de vista de un desarrollador, Windows 8 es el sistema operativo que reforzó la realidad de que «en Windows conviven múltiples modelos de aplicación».

Las aplicaciones de escritorio Win32 tradicionales. Las aplicaciones de .NET Framework. Las aplicaciones WPF. Las aplicaciones de la tienda. WinRT. Las interfaces pensadas para el manejo táctil.

Sobre un mismo Windows, pasaron a convivir múltiples formas de trabajo.

Esto también es motivo de confusión. Pero, al mismo tiempo, es propio de la esencia de Windows.

Incorporar lo nuevo. Pero no descartar lo antiguo de inmediato.

Esta actitud continúa también a partir de Windows 10.

10. Windows 10: Windows como servicio

La gran característica de Windows 10 es que Windows dejó de ser «un sistema operativo que se renueva cada varios años» para convertirse en «un sistema operativo que se actualiza de forma continua».

Windows as a Service. Las actualizaciones de funciones. Las actualizaciones acumulativas. El refuerzo de Windows Defender. Microsoft Edge. WSL. Las funciones relacionadas con la virtualización. La integración con la nube.

Con Windows 10, se pasó a dar por sentado que el propio Windows se actualiza constantemente.

Se trata de un gran cambio tanto para los usuarios como para los desarrolladores.

Antes, como en el caso de Windows XP o Windows 7, se podía tomar como referencia estable una versión concreta del sistema operativo durante mucho tiempo. Sin embargo, a partir de Windows 10, incluso dentro de un mismo Windows 10 las versiones difieren.

1507, 1511, 1607, 1703, 1709, 1809, 1903, 2004, 21H2, 22H2.

No es necesario tener presente cada diferencia menor, pero los desarrolladores necesitan partir de la premisa de que «Windows se sigue actualizando continuamente».

Esto también influye en la forma de plantear las pruebas.

  • Si surgen problemas después de Windows Update
  • Si el refuerzo de las funciones de seguridad detiene el instalador
  • Si hay conflictos con el software antivirus
  • Si se depende en exceso del estado de .NET Framework o de los tiempos de ejecución
  • Si los periféricos y controladores existentes funcionan también en el Windows más reciente
  • Si no hay problemas de convivencia con WSL o las funciones de virtualización

Windows 10 fue el sistema operativo que abordó un desafío muy propio de Windows: modernizarse manteniendo la compatibilidad.

11. Windows 11: la era de los estándares de seguridad y el hardware moderno

Con Windows 11, también cambió el aspecto visual.

La barra de tareas centrada. Una interfaz con bordes redondeados. Un nuevo menú Inicio. Snap Layouts. La nueva Microsoft Store.

Sin embargo, desde el punto de vista de un desarrollador, lo más importante es el cambio en los estándares de seguridad y en las premisas de hardware.

En Windows 11 se elevaron los requisitos del sistema: TPM 2.0, UEFI, Secure Boot, una GPU compatible con DirectX 12, controladores WDDM 2.0, entre otros.

No se trata de una simple exclusión, sino de una decisión orientada a dar por sentadas las funciones de seguridad del sistema operativo, su fiabilidad, su capacidad de actualización y las funciones de hardware modernas.

Por supuesto, se trata de un asunto complicado para los entornos que todavía utilizan PC o periféricos antiguos. Pero, para que Windows siga siendo en el futuro una base de trabajo segura, es necesario elevar las premisas en algún momento.

Para un desarrollador, Windows 11 anuncia una época como esta:

  • Dar por sentadas las funciones de seguridad
  • Dar por sentados la alta densidad de píxeles, los múltiples monitores, el manejo táctil, el lápiz óptico y la entrada por voz, entre otros
  • Tener en cuenta las diferencias generacionales de la GPU y de los controladores de pantalla
  • Tener en cuenta las CPU híbridas, como los núcleos de rendimiento (P) y de eficiencia (E)
  • Considerar el efecto de la configuración de ahorro de energía y de la ejecución en segundo plano
  • Considerar la relación con las cuentas en la nube y las directivas de administración

El rendimiento y la estabilidad de una aplicación Windows ya no dependen únicamente del código.

La versión del sistema operativo, el estado de las actualizaciones, la configuración de seguridad, la configuración de energía, la configuración de la CPU, los controladores, los permisos, los periféricos. Es necesario contemplar todo esto en conjunto como el entorno de ejecución.

12. La evolución de Windows vista desde la perspectiva de un desarrollador

Si resumimos a grandes rasgos las distintas versiones de Windows desde la perspectiva de un desarrollador, obtenemos una tabla como esta.

Época Windows representativo Año de lanzamiento Cambio como sistema operativo Impacto para el desarrollador
La difusión del PC doméstico Windows 95 / 98 1995 / 1998 Menú Inicio, barra de tareas, Plug and Play, compatibilidad con Internet El instalador, las DLL, los periféricos y la compatibilidad con la red pasan a ser importantes
El tramo final de la línea doméstica basada en DOS Windows Me 2000 System Restore, AutoUpdate, multimedia digital Se hizo evidente que incorporar funciones nuevas requiere resistencia de fondo en el sistema operativo
La base empresarial Windows NT / 2000 1993 (NT 3.1) a 2000 Estabilidad, gestión de permisos, servicios, administración de red Las aplicaciones empresariales, los procesos residentes, el registro de eventos y el diseño de permisos pasan a ser importantes
El éxito de la integración Windows XP 2001 Integración de lo doméstico y lo empresarial, generalización de la línea NT Surgió una enorme cantidad de activos empresariales basados en las premisas de XP
El giro hacia la seguridad Windows Vista 2006 UAC, WDDM, modelo de controladores, 64 bits Los diseños basados en permisos de administrador dejaron de funcionar con facilidad
La puesta en práctica Windows 7 2009 Mejoras sobre Vista, estabilidad, difusión en el uso empresarial Las prácticas posteriores a Vista se consolidaron en el trabajo diario
Táctil y tienda Windows 8 / 8.1 2012 / 2013 Pantalla de inicio, aplicaciones de la tienda, integración con la nube La convivencia de Win32 con el nuevo modelo de aplicaciones se convirtió en un reto
Actualización continua Windows 10 2015 Windows as a Service, refuerzo de Defender, WSL Se volvió necesario probar bajo la premisa de la actualización del sistema operativo
Hardware moderno Windows 11 2021 TPM, Secure Boot, renovación de la interfaz, CPU/GPU modernas Se volvió necesario un diseño que incluya seguridad, energía, CPU y controladores

Lo que se desprende de esta tabla es que Windows no simplemente «se ha ido modernizando». Ha ido adaptándose a la nueva seguridad y al nuevo hardware sin dejar de cargar con la compatibilidad antigua.

Por eso, en el desarrollo de aplicaciones Windows no basta con mirar únicamente las API más recientes.

Puede que sigan existiendo componentes COM antiguos. Puede que persista un flujo de trabajo empresarial basado en ActiveX. Puede que se necesite una DLL de 32 bits. Puede que el controlador de la impresora o el dispositivo USB sean antiguos. Puede que sea necesario usar la aplicación sin permisos de administrador. Puede que el comportamiento cambie con Windows Update.

Eso es Windows.

Es complicado.

Pero esa complicación es también la prueba de que Windows ha cargado durante mucho tiempo con el peso del trabajo real.

13. Lo que ayuda conocer la historia al desarrollar aplicaciones Windows

Conocer la historia de Windows cambia la forma de mirar el trabajo diario.

Por ejemplo, cuando una aplicación no se inicia.

No se puede afirmar sin más que «es un error».

Puede tratarse de un problema de 32 bits / 64 bits. Puede que falte el .NET Framework necesario. Puede que falte el tiempo de ejecución de VC++. Puede que el registro de COM esté dañado. Puede que la escritura esté fallando por causa de UAC. Puede que el software antivirus la esté bloqueando. Puede que un controlador de impresora antiguo esté influyendo. Puede que la pantalla se vea deformada por la alta densidad de píxeles. Puede que se trate de una diferencia de comportamiento posterior a Windows Update. Puede que el rendimiento no se alcance por la configuración de ahorro de energía.

En el desarrollo de aplicaciones Windows es necesario mirar el entorno en su conjunto, no solo la aplicación de forma aislada.

Esto es complicado. Pero, precisamente por eso, tiene valor crear software que funcione de verdad en el terreno.

14. Lista de verificación que conviene tener en cuenta en la práctica

Tanto al modificar una aplicación Windows existente como al desarrollar una nueva, conviene contar como mínimo con los siguientes puntos de vista. Como enumerar los puntos por sí solo no permite comprobar nada, se añade en cada caso «dónde hay que mirar para averiguarlo».

Punto que se debe comprobar Dónde comprobarlo
Si el sistema operativo de destino es Windows 10 o Windows 11 Ejecute winver. O bien, en «Configuración», vaya a «Sistema» y luego a «Acerca de»
En el caso de Windows 10, cómo se gestionan el soporte, la ESU y la LTSC Consulte en la página de Microsoft Lifecycle la fecha de fin de soporte de la edición correspondiente
Si es una aplicación de 32 bits o de 64 bits En el «Administrador de tareas», en la pestaña «Detalles», compruebe si el nombre del proceso lleva la indicación «32 bits». Si dispone del artefacto compilado, consulte la línea machine de dumpbin /headers
Si depende de DLL de 32 bits o de componentes COM Enumere las DLL de las que depende con dumpbin /dependents. El registro de COM de 32 bits se ubica en HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID
Si se puede operar con normalidad sin permisos de administrador Cree una cuenta de usuario estándar e intente realizar con ella todas las operaciones habituales
Si se está escribiendo configuración en Program Files Observe el destino de escritura con Process Monitor. Si aparecen archivos en %LOCALAPPDATA%\VirtualStore, significa que se está escribiendo en un lugar indebido
Si los datos por usuario se separan en AppData y los datos comunes en ProgramData Compruebe las rutas reales con echo %APPDATA% y echo %ProgramData%, y contrástelas con el destino de escritura de la aplicación
Si se separan los procesos que requieren elevación de UAC Compruebe requestedExecutionLevel en el manifiesto del ejecutable. Verifique si el proceso que requiere elevación está en un proceso independiente
Si el instalador, el proceso de actualización y el proceso de desinstalación son seguros Recorra todo el proceso, desde la instalación hasta la eliminación, con un usuario estándar. Pruebe también la desinstalación desde «Configuración» > «Aplicaciones»
Si las dependencias de .NET Framework, .NET, el tiempo de ejecución de VC++, etc., son claras dotnet --info, la lista de «Configuración» > «Aplicaciones», dumpbin /dependents
Si la pantalla no se deforma con alta densidad de píxeles, múltiples monitores o Escritorio remoto Inicie la aplicación con el porcentaje de escala en 150 % o 200 % desde «Configuración» > «Sistema» > «Pantalla». Ábrala también a través de Escritorio remoto
Si hay compatibilidad con periféricos como impresoras, dispositivos USB, comunicación serie o cámaras Abra el Administrador de dispositivos con devmgmt.msc y observe el estado de reconocimiento y la fecha del controlador
Si existe un procedimiento para verificar el funcionamiento también después de Windows Update Registre el número de compilación con winver y repita el mismo procedimiento antes y después de la actualización. Consulte el historial de aplicación con Get-HotFix
Si se ha verificado la compatibilidad con Windows Defender u otro software de seguridad de terceros Compruebe el estado con Get-MpComputerStatus. Visor de eventos > Registros de aplicaciones y servicios > Microsoft > Windows > Windows Defender > Operational
Si se contempla que el rendimiento varíe según la configuración de ahorro de energía o la configuración de la CPU Compruebe el plan de energía con powercfg /getactivescheme. Consulte la configuración de la CPU en la pestaña «Rendimiento» del Administrador de tareas
Si, ante un error, queda registro y es posible recuperar la situación desde el terreno Compruebe si el registro de la aplicación aparece en el Visor de eventos. Verifique si la ruta de salida y el período de retención están definidos

Si desea profundizar en cada uno de estos puntos, los siguientes artículos de este sitio los abordan en detalle.

Esta lista de verificación no es una simple técnica de desarrollo: es la propia historia que Windows ha ido acumulando.

15. Windows no es viejo, es acumulativo

A menudo se dice que Windows es «viejo». Y, en efecto, hay partes que lo son.

Está la API Win32. Está COM. Está el registro. Están los problemas con las DLL. Están los controles antiguos. Están los comportamientos que se mantienen por compatibilidad.

Pero descartarlo todo simplemente calificándolo de anticuado no permite ver la esencia de Windows. Windows es un sistema operativo que ha ido apilando cosas nuevas sin dejar de cargar con las antiguas. Encaja mejor describirlo como una gigantesca ciudad que no ha dejado de ampliarse y reformarse, más que como un jardín ordenado.

Hay edificios nuevos. También hay callejones antiguos. Bajo tierra corren tuberías de hace tiempo. También hay autopistas prácticas. En esa ciudad funcionan fábricas, hospitales, escuelas y oficinas gubernamentales.

El desarrollador crea sus aplicaciones dentro de esa ciudad.

Por eso, no basta con conocer solo las vías más recientes. También es necesario saber, aunque sea un poco, por qué siguen existiendo las vías antiguas.

Cabe señalar que la idea mencionada al final del capítulo 12 —«la complicación es la prueba de que se ha cargado con el trabajo real»— y la idea de este capítulo —«una ciudad que no ha dejado de ampliarse y reformarse»— son la misma cuestión expresada desde ángulos distintos. Como forma de profundizar un poco más en esta misma sensación, he escrito El extraño amor del desarrollador, o cómo aprendí a dejar de preocuparme y amar Windows. Este artículo corresponde al lado del cronograma, y aquel, al lado del ensayo.

16. Resumen

La historia de Windows no es solo la historia de su apariencia. Es la historia de cómo, manteniendo la compatibilidad, ha ido elevando su estabilidad, su seguridad, su rendimiento y su compatibilidad con el hardware.

Windows 95 / 98 extendió el PC al hogar y al trabajo. Windows NT / 2000 desarrolló la estabilidad y la capacidad de administración como sistema operativo empresarial. Windows XP integró ambas corrientes. Windows Vista se convirtió en un gran punto de inflexión en materia de seguridad y de modelo de controladores. Windows 7 hizo práctico ese cambio. Windows 8 dio un paso hacia una nueva dirección: lo táctil y la tienda. Windows 10 consolidó un Windows que se actualiza de forma continua. Windows 11 avanza todavía más en los estándares de seguridad y en la adaptación al hardware moderno.

Windows no es una utopía ordenada con pulcritud. Es una plataforma gigantesca y compleja que ha seguido funcionando mientras cargaba, al mismo tiempo, con el trabajo real, los activos antiguos, los periféricos, las exigencias de seguridad y el hardware nuevo.

Precisamente por eso, en el desarrollo de aplicaciones Windows es importante no mirar únicamente «el Windows actual», sino comprender la filosofía de diseño y la historia de compatibilidad que vienen desde el pasado.

No descartar de forma descuidada los activos antiguos. Pero, al mismo tiempo, adaptarse también a la nueva seguridad y al nuevo entorno de ejecución.

Sobre ese equilibrio se sostiene el Windows actual. Y crear software que funcione con seguridad sobre esa base sigue teniendo, hoy en día, un gran valor.

Referencias

Artículos recientes con las mismas etiquetas para profundizar en temas cercanos.

Estas páginas sitúan el tema en un contexto más amplio de servicios y decisiones.

El artículo está directamente relacionado con los siguientes servicios.

Preguntas frecuentes

Preguntas habituales en las consultas sobre el tema del artículo.

¿Por qué Windows XP es importante en la historia de Windows?
Porque en Windows XP se integraron de forma práctica la línea de Windows doméstico (95/98/Me) y la línea de Windows NT/2000 orientada al ámbito empresarial. Esto permitió que, incluso en los PC domésticos, se pudiera dar por sentada la estabilidad propia de la línea NT. Por otro lado, como XP se utilizó durante muchísimo tiempo, los sistemas empresariales, ActiveX, los componentes COM y los periféricos antiguos acumularon en gran medida las premisas propias de la era XP, lo que también convirtió a XP en uno de los puntos de partida de los activos heredados que persisten hasta hoy.
¿Windows Vista fue un fracaso?
Como experiencia de usuario de la época, las críticas de que era «pesado», tenía «demasiadas advertencias» o «no era compatible con los controladores» tenían su razón de ser, pero desde el punto de vista de un desarrollador se trata de un punto de inflexión importante. Se introdujeron UAC, WDDM, un nuevo modelo de controladores, la generalización de los entornos de 64 bits y restricciones de escritura en Program Files, entre otras medidas, con lo que las aplicaciones diseñadas asumiendo permisos de administrador dejaron de funcionar con facilidad. Puede decirse que fue el escalón necesario para que Windows avanzara hacia un modelo de seguridad moderno.
¿Qué cambió para los desarrolladores con Windows 10?
El cambio más importante es que Windows dejó de ser «un sistema operativo que se renueva cada varios años» para convertirse en «un sistema operativo que se actualiza de forma continua» (Windows as a Service). Aun dentro de Windows 10, las versiones difieren desde la 1507 hasta la 22H2, por lo que la idea de tomar como referencia estable una versión concreta del sistema operativo durante mucho tiempo dejó de ser válida. Se volvió necesario probar las aplicaciones bajo la premisa de que el sistema operativo se sigue actualizando constantemente: comprobar si surgen problemas tras Windows Update, si el refuerzo de las funciones de seguridad detiene el instalador, y cuestiones similares.
¿Por qué se elevaron los requisitos del sistema en Windows 11?
En Windows 11 pasaron a ser requisitos el TPM 2.0, UEFI, Secure Boot, una GPU compatible con DirectX 12 y controladores WDDM 2.0, entre otros. No se trata simplemente de dejar fuera a los PC antiguos, sino de una decisión orientada a dar por sentadas las funciones de seguridad del sistema operativo, su fiabilidad, su capacidad de actualización y las funciones de hardware modernas. En otras palabras, para que Windows siga siendo una base de trabajo segura en el futuro, era necesario elevar las premisas en algún momento.

Perfil del autor

Página de presentación del autor del artículo.

Go Komura

Representante de KomuraSoft LLC

Especializado en desarrollo de software para Windows, consultoría técnica e investigación de fallos, sobre todo en proyectos con sistemas existentes y errores difíciles de reproducir.

Volver al blog