¿Cuáles son las principales diferencias entre programar para Windows XP y Vista?

StackOverflow https://stackoverflow.com/questions/22674

  •  09-06-2019
  •  | 
  •  

Pregunta

Desde el punto de vista de un desarrollador de aplicaciones de escritorio, ¿existe alguna diferencia entre desarrollar para Windows XP y desarrollar para Windows Vista?

¿Fue útil?

Solución

Interfaz de usuario

Mirando a la Pautas de experiencia del usuario de Windows Vista Puedes ver que han cambiado muchos elementos de la interfaz de usuario, que debes tener en cuenta.Algunas cosas importantes a tener en cuenta:

64 bits

Vista tiene una edición de 64 bits y, aunque XP también la tiene, es más probable que sus usuarios utilicen Vista 64 que XP 64.Ahora tienes que lidiar con:

UAC

Control de cuentas del usuario Afecta enormemente los permisos predeterminados que tiene su aplicación cuando interactúa con el sistema operativo.

Nuevas API

Hay nuevas API que están dirigidas a nuevos métodos de construcción de aplicaciones o a permitir nuevas funcionalidades:

Instaladores

Debido a que las instalaciones solo pueden usar tiempos de ejecución comunes que instalan después de que se haya completado una transacción, acciones personalizadas fallará si su dll de acción personalizada requiere tiempos de ejecución de Visual C++ superiores a VS 2005 CRT (no SP1).

Otros consejos

No alguna vez Asuma que su usuario tiene acceso a ciertas áreas clave del disco (es decir,archivos de programa, directorio de Windows, etc.).En cambio, la cuenta de usuario predeterminada solo podrá escribir en una pequeña sección de los datos de su aplicación.Además, no podrán escribir en áreas globales del registro, solo en la sección del usuario actual.

Por supuesto, se pueden elevar sus privilegios, pero eso en sí mismo es una tarea.

En general, la programación para Vista es la misma que para XP, sólo hay que tener cuidado con las nuevas restricciones de la cuenta.

Eche un vistazo a esta página para saber cómo hacer que su aplicación sea "compatible con UAC".

http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx

Puede haberlo, pero es una elección consciente que usted hace como desarrollador.Puedes usar cosas nuevas de Vista, como UAC, CommandLinks, Aero, etc.Pero no es necesario (incluso UAC se puede programar, simplemente no haga nada que requiera privilegios de administrador).Si elige ignorar todas las cosas de Vista, entonces no hay absolutamente ninguna diferencia entre los dos.

Si desea incluir esas cosas en su aplicación, hace la diferencia.Pero yo diría que no es enorme.Y si abstraes las diferencias (por ejemplo, escribes tu propia función que muestra un TaskDialog para Vista, pero que simplifica la entrada que le das en un MesssageBox en XP), entonces solo escribirás en tu propio código. y las diferencias parecerán casi nulas.

Además, muchas de las cosas nuevas de Vista (por ejemplo, UAC o Aero) son cosas de las que te preocupas una vez, cuando creas la primera funcionalidad que las utiliza, la haces funcionar y luego no vuelves a pensar en ellas mientras estás desarrollando la aplicación.

Con diferencia, la parte más dolorosa de mover una aplicación de XP a Vista (desde mi punto de vista) es lidiar con los numerosos servicios y material IPv6 que utiliza puertos que antes estaban libres, y lidiar con el aprovisionamiento inalámbrico -> transición WiFi nativa.

El asunto de la UAC es básicamente un punto discutible;hay muy poco que el desarrollador de la aplicación deba hacer.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top