Intelimedia :: learning

"Tenemos los conocimientos y los cursos para que administres la tecnología "

[contacto]

 


 

"Utilice nuestros conocimientos.

Le ofrecemos asistencia técnica, consultorìa y capacitaciones"

[Contactarse]

Intelimedia :: Notas

 

¿Qué tener en cuenta para desarrollar en Windows Vista?

 

Les presento un hecho inegable: la computadora es parte integral de la vida humana del siglo XXI. Es la herramienta de comercio, trabajo y entretenimiento. Hasta es el medio de relacionarse por excelencia. ¿Alguien imagina un mundo sin chat, mail, YouTube...?
Pero la computación es frágil en muchos aspectos. Problemas de hardware, errores de software, disponibilidad, complejidad, etc. Así que en la actualidad las empresas de IT convergen en el mismo objetivo: generar sistemas más confiables, potentes y siempre disponibles.
Esto implica, necesariamente, revisar la seguridad de las soluciones.
Por ello, me parece interesante mostrar algunos de los cambios de windows Vista y cómo impacta en el desarrollo. O mejor es pensarlo al revés: ¿qué tener en cuenta al momento de desarrollar para Vista?

 

¿Por que proteger la cuenta de usuario?

Trustworthy Computing (algo así como "computación segura"), por definición se basa en tres fundamentos: seguridad en la implementación, seguridad en el diseño y seguridad por default. Y como las aplicaciones son parte de la solución (es un enorme porcentaje), deben seguir la misma filosofía.
Y en este punto nos hallamos: divulgando la idea y la nueva herramienta UAC (User account protection).
Trae varias ventajas:
* elimina la necesidad de utilizar dos cuentas separadas. Una para utilizar el equipo y la otra para administrarlo.
* los aplicativos se ejecutan con permisos básicos, y cualquier tarea (que se considere) de administración requiere la aprobación del usuario.
* ayuda en la migración de aplicativos Windows 9x (cuya filosofía era: "todos somos administradores"). Que la realidad indica que acceden espacios privados del sistema, pero no realizan tareas de administración.
* protege los procesos que se ejecutan con máximos privilegios, de aquellos que lo hacen con un usuario limitado.

 

Proteccion en la instalacion

La instalación es un proceso delicado. Ya que modifica el sistema: archivos, carpetas, registry, servicios, etc.
Microsoft Windows Installer 3.0 y 4.0 es la mejor alternativa para generar instaladores en Windows Vista. Además, solucionan el tema de cambios en las instalaciones ya que soportan transformaciones sin la necesidad de reinstalar el producto completo. Otro caso común donde se aprovechan las ventajas es cuando una máquina es utiliza por varios usuarios (por ejemplo un Terminal Server) y se requiere personalización al momento de instalación. Les aconsejo profundizar sobre Windows Installer, porque es la herramienta que asegura que los aplicativos, por lo menos instalen en Vista.

 

Proteccion en el diseÑo:

Diseñar aplicativos para windows vista requiere cumplir estas buenas prácticas:

1) Utilizar versionado de archivos y nunca instalar versiones anteriores. El versionado de archivos genera instalaciones estables y en correcto estado. De no utilizarla se deben implementar procedimientos apropiados para asegura el correcto funcionamiento en diferentes entornos. Bajar el nivel de ciertos archivos solucionará el funcionamiento de nuestro aplicativo, pero ocasionará problemas en otros. Y nuestra tarea, es desarrollar una solución, y no otros problemas al cliente.

2) Las aplicaciones se deben instalar en la carpeta de Programas (o Programs). Y las configuraciones y archivos personalizados en la carpeta del usuario (c:\users\appData)

3) Diseñar la forma de almacenamiento de los componentes compartidos. Tener en cuenta que una implementación inadecuada puede llevar a utilizar componentes equivocados o antiguos. Una excelente solución son los assemblies de NET.

4) En la instalación utilizar rollback. Una aplicación a medio instalar puede generar problemas en próximas instalaciones y ejecuciones.

5) No iniciar tareas en el logon del usuario. Es decir, desde la carpeta Inicio o la clave de registry "Run". Las mejores alternativas para correr procesos en background son los servicios y las tareas programadas.

6) Crear desinstalaciones que funcionen bien. Vuelvo a mencionar que el objetivo es mantener "entre todos" un ambiente confiable. Y este incluye la situación donde nuestro programa dejó de usarse. Una lógica de desinstalación correcta incluye: borrar archivos, componentes compartidos con cero referencias, entradas de registro, accesos directos, preferencias de usuario, y el desinstalador mismo.

 

Herramienta de verificacion de aplicaciones

Un último detalle. El testeo de compatibilidad con User Account Control se puede llevar a cabo instalando "Application Verifier Tool" y "LUA Privilege Shim". Se pueden descargar desde http://go.microsoft.com/fwlink/?linkid=52529 .

Un muy buen 2007!!!

 

Autor: Ing. Javier Becker (MCSE W2003)

 

:: la empresa :: productos :: servicios :: multimediales :: capacitación :: soporte :: A dos Tintas:: contacto ::

Javier Becker - Intelimedia - Rafaela - Prov. Santa Fe - Argentina