Instalar Windows 7 64bits desde un disco usb, preparado en Windows XP 32bits

Hola a todos.

Ahora mismo ya estoy instalando un Windows 7 Professional 64bits desde un USB, en mi nuevo ordenador, pero os reconozco que he tardado 1 hora y pico en conseguirlo. ¿Por qué si el proceso parece tan fácil?

Tras buscar cómo instalar Windows 7 desde un USB, bajarme la aplicación Windows 7 USB/DVD download tool, probarla 6 veces y obtener el mismo mensaje de error (en el que decía que no había podido preparar el USB para que sea arrancable), probar con diskpart (y tener problemas con que list disk no mostraba mis discos usb) me decidí a usar la cabeza.

En el mensaje de error hablaba de que en el proceso de preparación del disco USB había intervenido la aplicación bootsect. Sabiendo que viene incluido en el DVD de instalación, subcarpeta ‘boot’, probé a ejecutarla:

La aplicación bootsect.exe no es una utilidad Win32 válida

¿Qué? Pero si estoy preparando el USB en un portatil con Windows XP 32bits, ¿por qué me dice eso? Tras un ratito de reflexión (no os lo negaré) me di cuenta que estaba queriendo preparar la instalación de un Windows 7 Professional 64bits y que estaba usando su aplicación bootsect (también en 64bits) desde un entorno de 32bits. Clarísimo, a que sí?! Así que me puse a buscar la versión 32bits de bootsect.exe, encontré en Seven Forums, la copié en la carpeta donde instalé Windows 7 USB/DVD, que en mi caso era:

C:\Documents and Settings\nombre_de_usuario\Configuración local\Datos de programa\Apps\Windows 7 USB DVD Download Tool

y tras ejecutarla de nuevo conseguí preparar correctamente el USB.

Windows 7 usb-dvd

¿Sencillo, no? Espero que os valga y que hayáis tardado menos que yo en encontrar la respuesta. Os dejo que tengo que seguir instalando el equipo 🙂

Imprimir en Opera con javascript

Hoy me he enterado, dicen que más vale tarde que nunca, que la estándar de imprimir con javascript:

window.print();

no funciona siempre en Opera. Para que en lo haga hay que tener en cuenta que la página debe estar completamente cargada. Si esto se cumple, el siguiente ejemplo funciona:

<input type="button" value="Print this page" onClick="javascript:window.print();" ID="Button1" NAME="Button1">

El problema viene cuando antes de imprimir necesitamos hacer algo sobre el HTML ( abrimos una nueva ventana, modificarlo, etc). Tomemos este ejemplo, en el que en la función ocultar() debe hacer cosas previas a la impresión.

function imprimePagina(){
    ocultar(); // funcion que necesita ocultar información que no debe ser impresa.
    window.print();
    // resto de código;
}

Este ejemplo funciona en IE, Firefox, Chrome pero no en Opera. Para solventarlo podríamos probar con:

function imprimePagina() {
    ocultar(); // funcion que necesita ocultar información que no debe ser impresa.
    window.setTimeout(function () {
        window.print();
    }, 5);
    // resto de código;
}

Que, si no he escrito mal el ejemplo, debiera funcionar. En el caso de que abriéramos una ventana hemos de recordar lo que comentamos al principio: la página, la nueva, debe estar completamente cargada antes de intentar imprimirla en Opera. Como no controlamos en qué momento sucede esto, podemos confiar en el evento load de la ventana para imprimirla.

window.onload = function () {
    window.setTimeout(function () {
        window.print();
    }, 500);
}

Espero que a alguno le valga de algo 🙂

Referencia: http://stackoverflow.com/questions/3482428/window-print-not-working-with-opera-browser