sábado, 19 de diciembre de 2009

Sincronización de procesos lanzados al servidor WEB desde una aplicación WEB

Esta vez, les voy a relatar lo que me ocurrió, en mi trabajo desarrollando una aplicación WEB y el aprendizaje valioso que obtuve. Espero que esto sea de ayuda para otros y, especialmente, para aquellos quienes son mis lectores habituales.

Resulta, que para dar un poco de mayor amigabilidad al usuario, en su interacción con las aplicaciones WEB, se idearon lo que se denominó: procesamiento asíncrono. Este procesamiento asíncrono consiste en que cuando un proceso se lanza desde el cliente ( maquina del usuario) al servidor WEB, no se tiene que esperar a la respuesta del Servidor WEB, provocando de esta forma, que el usuario deba esperar al resultado del procesamiento. Antes de la invención de este tipo de procesamiento y de las tecnologías que lo permiten, el usuario, al dar click en un botón, por ejemplo, notaba como, momentáneamente, la página se volvía blanca y que se empezaban a pintar de nuevo todos los controles, textos e imágenes, que contenía, inicialmente, más la respuesta ocasionada como resultado del botón presionado. Esto, en cierta forma, era algo incomodo.

La invención del procesamiento asíncrono posibilitó, a las diferentes tecnologías que lo adoptaron, proporcionar la forma de marcar diferentes zonas de la página, para que del resultado de una acción lanzada por el usuario ( presionar un botón, seleccionar algo en una lista desplegable, etc), solamente las zonas marcadas se volvieran a pintar y, así, evitar pintar de nuevo toda la página, como ocurría antes. Esto posibilitó, a las aplicaciones WEB, mejorar su rendimiento (pues ya no se tenía que pintar la página completa, luego de acciones del usuarios) y su amigabilidad ( el usuario ya no veía esa página blanca, como antes, y podía seguir interactuando con la aplicación, mientras el servidor de forma asíncrona realizaba la acción ordenada).

Otras cosas interesantes, también, se permitieron a los desarrolladores de aplicaciones Web, con esto del procesamiento asíncrono, que les permitía trabajar de forma más eficiente, en procura siempre de la amigabilidad para el usuario. Por ejemplo, en el click de un botón, en el cliente, por medio de una función JavaScript, se podía ir de forma asíncrona y rápida, por cierta información al servidor y con esta, por ejemplo, realizar validaciones; esto evitaba el hecho de tener que ir al servidor y descubrir que la información no era adecuada y que, por tanto, se debía arrojar una excepción. La posibilidad de ir de forma asíncrona al servidor optimizó en gran medida el proceso y la interacción con el usuario.

Bueno, con este contexto, ahora sí vamos al tema central de este artículo. En mi caso, tenía el siguiente escenario:

1) Una Grid donde cada registro tenía un CheckBox.
2) Un botón Procesar.

El usuario chequeaba los registros que deseaba y presionaba el botón Procesar. En el botón Procesar, se procesaban sólo los registros chequeados.

Para dar amigabilidad al usuario, en este escenario, se adoptó, desde luego una tecnología para procesamiento asíncrono. Ahora, como la aplicación WEB se desarrollo con Visual Studio 2003, Framework 1.1, se investigó entre las existentes y se encontraron los controles Anthem aunque había otras como por ejemplo Magic Ajax. Cabe mencionar que actualmente existen muchas y mejores, como: AjaxPro, ASP.NET Ajax, etc.

Esta GRID, de Anthem, permitía que al dar click sobre un CheckBox, la respuesta fuera rápida y que solo el CheckBox que se chequeaba pareciera cambiar de no chequeado a chequeado (aunque, realmente, se pintaba de nuevo la GRID con el CheckBox chequeado). El comportamiento era lo esperado por el usuario y era amigable. Sin embargo, con el tiempo, hubo un incremento enorme de la información mostrada por la GRID y, por ello, el usuario empezó a notar que cuando daba click en un CheckBox debía esperar un pequeño momento, para que éste apareciera chequeado. El usuario solicitó que se mejorará el rendimiento, en el momento de chequeo de los CheckBox, por lo incomodo que resultaba y porque, como usuario, debía chequear de forma rápida muchos CheckBox y no podía perder tiempo esperando a que cada CheckBox apareciese como chequeado.

Para solucionar este inconveniente, se tenía que manejar la captura de los ítems chequeados en la GRID, en el cliente, por medio de JavaScript. Luego, cuando el usuario presionara el botón Procesar, se enviarían al servidor los ítems chequeados, para que, posteriormente, fueran procesados como hasta el momento se hacía. Es decir, a medida que se chequeaban ítems en la GRID se capturaba la información del ítem chequeado, por medio de JavaScript y en el evento click del botón Procesar, en el cliente, en una función JavaScript, se lanzaba un proceso asíncrono al servidor, para indicar cuales ítems habían sido chequeados, así:

function btnProcesar_Click(){
Anthem_InvokePageMethod('SubirDatosItemsSeleccionados',
[arregloRegsSeleccionados], function (result) {});
}

Para información, la sintaxis, arriba, corresponde a la forma como el Framework de los controles Anthem permiten ejecutar un llamado asíncrono a un método de la página en el servidor.
El método, en el servidor, tenía una forma como la siguiente:

[Anthem.Method]
public void SubirDatosSubmercadosSeleccionados(string arregloSubmercados)
{
//Proceso de subida de ítems seleccionados del cliente al servidor
}

Finalmente, en el manejador del evento Click, en el servidor, se realizaba el procesamiento de los registros seleccionados, como, hasta el momento, se hacía:

private void btnProcesar_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//Procesamiento de los ítems seleccionados
this.btnAplicarAsociaciones.AutoUpdateAfterCallBack=true;
}

Se realizaron pruebas y la aplicación mostró un comportamiento errático, en unas ocasiones funcionaba correctamente y, en otras, no. Se realizó un estudio más profundo de lo que sucedía, por medio de la herramienta de Debug de Visual Studio y se encontró que el problema era que, unas veces, el programa entraba a ejecutar primero el código del servidor asociado al proceso lanzado de forma asíncrona (el método Anthem) y en segunda instancia el código del manejador de eventos del click en el servidor, en este caso, el programa funcionaba correctamente. No obstante, también se identificó que, en ocasiones, se ejecutaba primero el código del manejador del evento click en el servidor y en segunda instancia el del método Anthem y era, precisamente, en estas ocasiones, cuando el programa fallaba. Descubrir esta situación, nos llevó a concluir lo siguiente:

Cuando el usuario presionaba el botón Procesar, se lanzan al servidor dos procesos o tareas, para que éste llevara a cabo; uno asociado al proceso asíncrono de subir la información de los ítems seleccionados (P1) y otro asociado al manejo del evento click del botón (P2) y que, en unas ocasiones, se ejecutaba primero P1 y luego P2 que era el caso esperado, pero que, otras veces, se ejecutaba P2 y luego P1 presentándose el problema.

La solución era, entonces, sincronizar los procesos de tal forma que primero se ejecutara P1 y luego P2 y como se sabía que, en ocasiones, se ejecutaba primero P2, la idea era obligar a que antes de llevar a cabo el procesamiento de los ítems seleccionados se esperará a que el procesos P1 terminará completamente. Por tanto, se ideo la siguiente estrategia:

1) Crear una Propiedad, que permitía definir, en sesión, una indicación sobre si se había terminado el proceso de subida de ítems seleccionados:

private string EstaTerminadoProcSubirItems
{
get
{
return (string)HttpContext.Current.
Session["EstaTerminadoProcSubirItems"];
}
set
{
HttpContext.Current.Session["EstaTerminadoProcSubirItems"] = value;
}
}

2) Indicar, en el proceso P1, el momento, cuando se terminara completamente la subida de los ítems seleccionados:

[Anthem.Method]
public void SubirDatosSubmercadosSeleccionados(string arregloSubmercados)
{
this.EstaTerminadoProcSubirItems = "N";
//Proceso de subida de ítems seleccionados del cliente al servidor
this.EstaTerminadoProcSubirItems = "S";
}

3) En el proceso P2, procesar los ítems seleccionados, sólo cuando el valor de la propiedad fuera S, momento, en el cual, los ítems seleccionados ya se habían subido:

private void btnProcesar_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
long contador;
while(!this.EstaTerminadoProcSubirItems.Equals("S"))
{
contador++;
}
this.EstaTerminadoProcSubirItems = "";
//Procesamiento de los ítems seleccionados
this.btnAplicarAsociaciones.AutoUpdateAfterCallBack=true;
}

Aunque la idea era buena, no funcionó y no funcionó porque cuando se ejecutaba primero P2, la aplicación se quedaba en un Loop infinito, nunca encontraba el valor de la propiedad EstaTerminadoProcSubirItems en S. Esto nos hizo comprender que cuando se ejecutaba primero el proceso P2, el proceso P1 era puesto en espera por el servidor, para ser ejecutado sólo cuando se terminará el procesamiento del proceso P2, pero a P2 lo pusimos a esperar a que terminará primero P1, es decir, generamos un abrazo mortal.

Debido a esto, se intentó lograr la espera por el proceso P1, realizando este cambio en el proceso P2:

private void btnProcesar_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
while(!this.EstaTerminadoProcSubirItems.Equals("S"))
{
System.Threading.Thread.Sleep(500);
}
this.EstaTerminadoProcSubirItems = "";
//Procesamiento de los ítems seleccionados
this.btnAplicarAsociaciones.AutoUpdateAfterCallBack=true;
}


La idea era que el proceso P2 durmiera durante medio segundo y que, mientras tanto, se pudiera ejecutar el proceso P1. En ese momento, se pensaba que el hecho de colocar a dormir el proceso le permitiría al servidor ejecutar durante ese lapso el proceso P1, sin embargo, ello no ocurrió así y se seguía presentando el Loop infinito. Por casualidad, se vio la ayuda del método Sleep y se encontró que decía:

“Especifique cero (0) para indicar que este subproceso debe suspenderse de modo que permita que se ejecuten otros subprocesos en espera”

Por tanto, se hizo el cambio:

private void btnProcesar_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
while(!this.EstaTerminadoProcSubirItems.Equals("S"))
{
System.Threading.Thread.Sleep(0);
}
this.EstaTerminadoProcSubirItems = "";
//Procesamiento de los ítems seleccionados
this.btnAplicarAsociaciones.AutoUpdateAfterCallBack=true;
}

Y todo funcionó de forma correcta, se logró la sincronización de los procesos. Cuando se ejecutaba P2 y luego P1, P2 esperaba hasta que terminara P1. Resolviendo de esta forma el problema identificado.

miércoles, 2 de diciembre de 2009

Hacer que Windows XP luzca como Windows 7

Como recordarán cree un punto de restauración en mi XP, con el objetivo de llevar a cabo la instalación de algunos programas, para lograr que mi XP luciera como Windows 7, el sistema operativo de Windows que está de moda.

A continuación, les contaré que fue lo que hice, explicándoles paso por paso.
En primera instancia, fui a este enlace:
http://www.tinkernut.com/forum/video-tutorial-help/make-xp-look-like-windows-7

Y de allí descargué un zip con los componentes de Windows 7 a instalar, el zip aparece con el nombre de enlace Win 7 Files. Posteriormente, descomprimí el ZIP:

Inicialmente, fui a la carpeta Step 1 – Win7Theme:

Luego le di click a la carpeta Theme:

Finalmente, ejecuté el .EXE de esta carpeta.

Di click en el botón Install, para instalar el tema.

Después de instalar el tema, aparece la siguiente pantalla:


En esta, le di click a Aplicar y luego al botón Aceptar. Hecho esto, se nota como cambia la barra de tareas y la imagen de fondo de la pantalla con el Logo de Windows 7.

Luego me devolví al contenido de la carpeta Step 1 – Win7Theme y fui a la carpeta Styler Toolbar:
Luego ejecuté First Install Me.msi.

Le di click al botón Next y en la siguiente pantalla y en la que seguía y, finalmente, en el botón Close.

Luego ejecuté el archivo .EXE Then Run Me.exe


Y di click en el botón Install.


Luego de instalado este ejecutable, fui a: Inicio, Todos los programas, Styler y ejecuté el programa Styler. Esto crea un ícono en la barra de tareas, al que se le da Click derecho y se elige la opción Show:
En esta pantalla, elegí el tema de Windows 7 (SevenVGRT).

Inmediatamente, la barra de tareas, queda con el estilo de Windows 7.

Hecho esto, voy a instalar otra de las características de la barra de tareas de Windows 7; aquella que permite sólo mostrar los íconos de las aplicaciones y no el texto. Retorno, entonces , de nuevo al contenido de la carpeta Step 1 – Win7Theme y voy a la carpeta Iconized Taskbar Hack:Y ejecuto Install.reg.

Finalmente, cierro la sesión y vuelvo e ingreso y la característica, se encuentra funcional.

Además de esto, noté como, la barra de tareas carga, inicialmente, al estilo de Windows XP, lo que pasa es que el programa Styler queda como un programa que siempre se ejecuta, al iniciar la sesión en Windows, por tanto, cuando dicho programa se ejecuta, éste cambia la barra con el estilo de Windows 7. No se ustedes, pero es algo que estoy dispuesto a soportar mientras adquiero Windows 7. Ahora, mi maquina está muy quedada ya; en una máquina más veloz, es posible que este cambio de barra ni se note.

Bueno, es hora de instalar otras características de Windows 7, retorno a la carpeta Step 1 – Win7Theme y elijo ahora la carpeta Fonts, en esta ejecuto el EXE Fonts.exe:


Y presiono el botón Install.

De esta forma, se instalan las fuentes que maneja Windows 7.

Finalmente, voy a la carpeta Extra Common Tasks y reemplazo la DLL Shellstyle.dll, que se encuentra en la carpeta Left Dark Blue Common Tasks, en las rutas:

%windir%\Resources\Themes\SevenVG RTM\Shell\NormalColor
%windir%\Resources\Themes\SevenVG RTM\Shell\Aero48
%windir%\Resources\Themes\SevenVG RTM\Shell\Basic32
%windir%\Resources\Themes\SevenVG RTM\Shell\Basic48

De esta forma, cambia el fondo, en la parte del explorador de Windows que muestra las tareas comunes, por uno azul oscuro, para asemejarse más a Windows 7.

Luego de esto, cerré la sesión y volví a ingresar, para ver el cambio.

Efectivamente, se notó el cambio, ahora el fondo de las tareas comunes era un azul más oscuro:


Listo, se terminaron las características de Windows 7, que se podían instalar de la carpeta Step 1 – Win7Theme.

Pasé entonces a la carpeta Step 2 - Win 7 Icons, para instalar los íconos de Windows 7:

Luego a la carpeta, Icon Theme:

A continuación, ejecuté Fisrt Install Me (Icon Tweaker Setup).exe:

Di click en Next, luego acepté los términos de la licencia y di click de nuevo en Next, en la siguiente pantalla también en Next, en la otra que apareció en Install.

Luego ejecuté Then Run Me (SevenVG Icon Theme).itt:

En esta pantalla presioné Apply e, inmediatamente, los iconos cambiaron, para ser los de Windows 7.

Listo, pasé, entonces, a la carpeta Step 3 - Aero Shake:

Para instalar otra de las características del manejo de ventanas que tiene Windows 7 y es aquella consistente en que, cuando hay dos pantallas o más y se quiere trabajar con una y minimizar las otras, no es sino mover la ventana con la que desea trabajar, para que las otras se minimicen automáticamente.

Ejecuté Aero_Shake.exe.

Inmediatamente, aparece un icono asociado al programa, en la barra de tareas:

Y pude comprobar que la característica estaba presente.

Era hora, entonces, de pasar a la carpeta Step 4 - Aero Snap:

La idea es instalar la característica de Windows 7 que permite trabajar en varias ventanas a la vez, pues estas se auto acomodan en una región de la pantalla. En Windows XP, por ejemplo, para poder trabajar con comodidad con dos pantallas, había que: minimizar todas las aplicaciones con que se estuviera trabajando, maximizar sólo las dos con las que se iba trabajar al tiempo, dar click derecho en la barra de tareas y elegir la opción Mosaico Horizontal o Vertical. Con Windows 7, el trabajar con más de una pantalla es más natural y éstas se auto ajustan a una región determinada de la pantalla.Le di click, entonces, a aerosnap_0_61_setup.exe:


Di click en OK:

Di click en Next, acepté los términos de la licencia y de nuevo click en Next y en las siguientes dos pantallas también en Next. Finalmente, presioné Install y, en la pantalla que aparece, Next; luego Finish. Se crea otro ícono en la barra de tareas:

Inicialmente, creí que la funcionalidad no había funcionado, pues no era fácil hacer que dos ventanas compartieran la pantalla, que una quedara en el lado derecho y otra en el izquierdo, por lo que cerré la sesión y volví a ingresar, para ver si se trataba de eso, pero nada. Les iba a recomendar que no instalaran esta característica, pero aprendí a utilizarla luego de ensañar varias veces. La cuestión es la siguiente:

Las aplicaciones que se van a compartir, en la pantalla, deben estar con el icono de Maximizar y no con el de restaurar. Se pasa del uno al otro haciendo click sobre el mismo.
Icono maximizar:Icono restaurar(doble cuadro):
Entonces, una de las aplicaciones, se mueve a la izquierda con el Mouse, logrando que se pierda gran parte de la misma por fuera de la pantalla y luego se suelta. En ese momento, la aplicación aparecerá ocupando la mitad izquierda de la pantalla. Lo propio se hace con la otra aplicación, pero esta vez se hace el movimiento a la derecha. Al final, las dos aplicaciones quedan compartiendo la pantalla y se logra de una manera muy fácil.

Otra cosa que noté, es que, distinto al programa Styler, que por defecto queda iniciando cada que se ingresa a Windows. El programa de Aero Snap se debe configurar, para que inicie con la sesión de Windows, de lo contrario siempre se tendrá que ejecutar, cuando se requiera usar.Para hacer la configuración, sólo es dar click en el icono y elegir la opción Options:


Chequear la opción: Autostart AeroSnap with Windows y dar click en OK.

Debido a que esta fue una de las características que más me llamó la atención, decidí investigar los atajos del teclado que pudiesen haber y encontré este enlace:
http://www.sevenforums.com/software/389-windows-7-aero-snap-keyboard-shortcuts.html


Donde mencionan los siguientes:
Tecla Windows + Flecha Izquierda: Mueve la ventana activa a la izquierda de la pantalla.
Tecla Windows + Flecha Derecha: Mueve la ventana activa a la derecha de la pantalla.
Tecla Windows + Flecha Arriba: Maximiza la ventana activa.
Tecla Windows + Flecha Abajo: Minimiza la pantalla activa.

Decidí probar cada atajo de teclado mencionado y funcionó correctamente. Encuentro que es más fácil usar los atajos del teclado que el Mouse, para lograr el comportamiento asociado a la característica.

Es hora de pasar a otra de las carpetas e instalar otras de las características de Windows 7 que tiene en la barra de tareas y es que los íconos de la barra de tareas se pueden mover a lo largo de dicha barra.

Paso, entonces, a la carpeta Step 5 - Taskbar Shuffler:

Ejecuto el EXE que se encuentra allí:

Doy click en Nex, acepto las condiciones de la licencia, luego Next, luego Next, luego Next, luego Install. Finalmente, Finish y sucede algo que ya no me sorprende, aparece un nuevo ícono en la barra de tareas, asociado al programa que controlará el movimiento de los íconos sobre la barra:

Como es usual, realizo la prueba y compruebo que la característica está presente. Curioseo un poco y, al dar click derecho sobre el ícono nuevo, aparecen varias opciones. Este programa si queda por defecto iniciando con Windows, además, permite asignar una combinación de teclas para controlar el movimiento. También, se puede activar o desactivar la funcionalidad.

Continúo con la carpeta Step 6 - Drive Icons:

Ejecuto el archivo ejecutable:


Siguiente, Acepto, Instalar, Terminar. Listo, compruebo el cambio de los íconos asociados a los Drive.

Para terminar, ingreso a la carpeta Step 7 - Show Desktop, para instalar la propiedad de ver el escritorio al estilo de Windows 7:

Ejecuto el archivo ejecutable, se crea un nuevo ícono en la barra:

En el extremo derecho de la misma, aparece una región, en la que si se da click, muestra el escritorio.


Lo malo es que el ícono original de XP que muestra el escritorio queda presente, luego se tienen dos formas de mostrar el escritorio , al estilo XP y al estilo Windows 7.


En resumen:

Todas las características de Windows 7, se logran mediante la instalación de Software adicional en Windows XP que simulan el comportamiento de las funcionalidades que tiene Windows 7.

Todos son programas que inician, cuando inicie Windows, por lo cual el inicio será más lento.

Quedan por fuera muchas de las funcionalidades de Windows 7, pero se logra el objetivo de hacer que Windows XP luzca como Windows 7.

Muchas gracias a Daniel Davis, por su video en Youtube, que me inspiró a hacer lucir mi XP como Windows 7.

Aquí, por supuesto, el video:



En este enlace, hay más información sobre el tema:
http://www.askvg.com/transform-windows-xp-into-windows-7-without-using-customization-pack/

sábado, 28 de noviembre de 2009

Crear punto de restauración en Windows XP Home Edition

Créanlo o no soy una persona que trabaja, constantemente, con tecnología y no debería ser de otra forma; siendo como soy un Ingeniero de Sistemas. Sin embargo, mi especialidad no son los sistemas operativos, se algunas cosas pero no todo y algo muy importante que no sabía era la creación de puntos de restauración.

Bueno y ¿Qué es un punto de restauración? Es el estado que el sistema operativo posee en un momento dado. Se llama de restauración porque se puede volver a este estado si ocurre alguna falla en el sistema operativo. El sistema operativo puede fallar debido a la instalación de algún Software que daña el registro o que, simplemente, desencadena un virus.

Los puntos de restauración se crean de manera automática, por ejemplo, antes de:
  • La instalación de nuevos Drivers
  • La instalación de actualizaciones automáticas ( ahora entiendo porque este proceso de demora un poco)
  • La instalación de ciertos programas
No obstante, se pueden crear puntos de restauración, en cualquier momento y es una buena práctica, cuando se pretende instalar Software del que se tiene desconfianza por las consecuencias que pueda acarrear. Este es mi caso, pretendo instalar Software para hacer que mi XP luzca como Windows 7. En otro artículo, indicaré cómo lo hice.

Las instrucciones que daré, de cómo lograr crear el punto de restauración, corresponden al sistema operativo Windows XP Home Edition, que es el que poseo. En otras versiones de Windows, la forma de acceder al Software, que permite crear los puntos de restauración, varía un poco.

Aclarado esto, comencemos:

Inicio – Todos los programas – Accesorios – Herramientas del sistema – Restaurar sistema

En ese momento, aparece el programa, para permitir crear el punto de restauración:



La idea es, entonces, elegir la opción Crear punto de restauración y presionar el botón Siguiente:



Luego, se coloca una descripción, para reconocer, posteriormente, el punto de restauración; en caso de ser necesario. En mi caso, le coloque: 2009-11-28AntesInstCptesWin7, creo que es bastante descriptivo.

Luego de creado el punto de restauración, que para mi sorpresa, fue un proceso que no se demoró mucho, aparece la siguiente pantalla:



En esta pantalla, se da click en el botón Cerrar.

De esta forma, se crea el punto de restauración.

Ahora, hay que tener en cuenta, como dice Joli Ballew, que el punto de restauración no es substituto del realizado del Backup de información. El punto de restauración entra a jugar cuando el sistema se vuelve inestable, muy seguramente, por la afectación de las claves del registro. El punto de restauración no puede usarse, por ejemplo, cuando el disco duro falla; pues la información del punto de restauración se almacena en el propio disco duro. Por eso no se puede dejar de realizar, regularmente, la operación de backup.

Si después de instalar el software que se piensa instalar, el sistema se vuelve inestable, por medio del Software de restauración, se puede devolver al estado en que se encontraba el sistema, antes de instalar dicho Software. A continuación, una guía de cómo lograrlo:

Inicio – Todos los programas – Accesorios – Herramientas del sistema – Restaurar sistema

En ese momento, aparece el programa, que permite retornar a un punto de restauración.

En este caso, se debe eligir la opción Restaurar mi equipo a un estado anterior y presionar el botón Siguiente:


En esta pantalla, se debe elegir el punto de restauración, al cual se desea devolver y presionar el botón Siguiente. Fijarse que aparece el punto de restauración, que se creó anteriormente y como, en el calendario, aparecen, en negrita, los días donde se han creado puntos de restauración, porque recordar que estos se crean también automáticamente.


Al dar click, en el botón Siguiente, nos dice Joli Ballew, que el computador se apaga y se reinicia y que, finalmente, aparecerá la pantalla del Software de Restauración que indica que la restauración ha sido completa y que, entonces, se da click en el botón Aceptar y listo, el sistema se restaura al punto de restauración elegido. Como se podrán haber dado cuenta, no hice esta parte, pues aún mi sistema no se encuentra inestable. Pero le creo a Joli Ballew y estoy seguro que lo que dice es verdad.

Gracias a Joli Ballew, por sus luces, en cuanto a este tema.

http://www.microsoft.com/windowsxp/using/helpandsupport/getstarted/ballew_03may19.mspx

Les juro, que ya iba a terminar este articulo, pero me llamó mucho la atención lo que dice Joli Ballew, en su artículo acerca de que un punto de restauración puede requerir un mínimo de 200MB de espacio libre en disco, para poderse crear, pues requiere de ese espacio, para almacenar la información del punto de restauración. Mi inquietud era la siguiente: si cada vez que se hace una actualización automática de Windows, se crea, automáticamente, un punto de restauración y, sabiendo, como se, que las actualizaciones automáticas de Windows ocurren regularmente. ¿ Cuanto espacio de mi equipo estaría siendo utilizado en puntos de restauración, innecesarios? ¿Cuánto espacio podría recuperar si eliminara la información de los puntos de restauración innecesarios?. Pues el único punto de restauración que sirve es el último, no me interesa devolverme a un punto de restauración de hace dos meses, cuando existe otro correspondiente al día de ayer, cuando mi equipo aún estaba bien.


Investigué como lograr eliminar la información de los puntos de restauración y encontré este enlace:

http://www.lockergnome.com/windows/2005/04/12/delete-system-restore-points-to-free-disk-space/


Aquí dicen, escuetamente, que es usando el Liberador de espacio en disco. Entonces entré a esa herramienta:


Inicio – Todos los programas – Accesorios – Herramientas del sistema – Liberador espacio en disco


Le di click en la pestaña de más opciones:

En este punto, es dar click, en el botón Liberar, de la sección Restaurar sistema:


Finalmente, en este cuadro de dialogo, se presiona el botón Sí.
Cabe anotar que, antes de realizar la operación, consulte mi espacio libre actual y éste era de 3.19 GB.


Luego de la operación, mi espacio libre quedo en 5.73 GB. Excelente!!.


Consulté, mediante el software de restauración, los puntos de restauración, para ver si aún quedaba el que cree, que era el más reciente y obtuve esto:

Es decir, sólo quedó el punto de restauración que creé, manualmente. Observar cómo, los días del calendario ya no aparecen en negrita.