lunes, 30 de noviembre de 2009

Cómo Instalar Delphi 7 en Windows Vista

El semestre pasado cuando llevé la materia de Métodos Numéricos casi finalizando el mismo había que realizar una exposición en grupo sobre algún método numérico que resolviera un problema matemático. La exposición consistía en realizar una explicación con multimedia: es decir llevar una diapositiva para ayudarnos en la exposición, desarrollar el método numérico elegido (en nuestro caso fue el Método de Crout) en un lenguaje de programación específico y obviamente llevar un informe impreso de respaldo sobre lo investigado. Como yo era el único en el grupo que contaba con una computadora portátil era mi obligación llevarla el día de la exposición, mientras mis compañeros de grupo consiguieron el data displayer prestado del laboratorio de la carrera.

El problema surgió cuando me dí cuenta que mis compañeros solo sabían programar en Delphi 7 y mucho me temía que no sea compatible con Windows Vista (y no lo es) que es el Sistema Operativo con que cuenta mi portátil. Podíamos haber instalado Delphi 8 u otra versión más reciente de Delphi y así evitarnos problemas de compatibilidad; pero yo no quería gastar tiempo ni dinero en estar consiguiendo un nuevo instalador y pensé en buscar alguna solución a la compatibilidad de Delphi 7 con Windows Vista. Otra opción pudo haber sido desarrollar el programa en algún otro lenguaje de programación cuyos instaladores yo contaba y cuyas versiones sí eran compatibles con Windows Vista, pero esto hubiera sido muy perjudicial para mis compañeros que no manejaban estos lenguajes.

Por lo tanto era responsabilidad mía encontrar una solución al problema, fue así que me puse manos a la obra y encontré 3 alternativas diferentes para solucionar el mismo. En mi caso yo opté por la última alternativa; pero las dos primeras también son válidas, aplicar una u otra depende de la situación en que nos encontremos cada uno.

1ra Alternativa: Windows Vista Application Compatibility Update de marzo 2007

Windows Vista Application Compatibility Update de marzo 2007 es un paquete de actualizaciones de software que trata problemas comunes de compatibilidad de aplicaciones en Windows Vista. Cuando se intenta instalar y ejecutar ciertas aplicaciones o juegos heredados en Windows Vista (entiéndase por aplicaciones o juegos heredados todos aquellos programas que fueron creados para versiones de Sistemas Operativos anteriores a Windows Vista como Windows XP), se puede experimentar uno o más de los siguientes síntomas:
  1. El juego o aplicación puede no estar instalado correctamente.
  2. El juego o aplicación puede causar inestabilidad al sistema.
  3. Las funciones principales del juego o aplicación pueden no funcionar correctamente.
En el caso de Delphi 7 nos encontramos con el síntoma 3.

Esta actualización es acumulativa y reemplaza a anteriores actualizaciones. Ésta también contiene correcciones incluidas, estas correcciones mejoran el soporte técnico en Windows Vista para las aplicaciones siguientes:
  • Microsoft Encarta Standard 2007
  • Adobe Photoshop 7.0.1
  • Total Commander 6.55
  • AVG Anti-Spyware 7.5.0.47
  • LEGO Star Wars
  • Adobe Photoshop Elements versión 4.0
  • Google Desktop 4.2006.1008
  • Opera 9.02
  • Panel de Control de Java de Sun Microsystems
  • Adobe Photoshop CS 8.0
  • Sun Microsystems J2SE Runtime Environment 5.0 Update 9
  • Delphi 7 professional (En este caso éste es el de nuestro interés)
  • Carpetas Web de Microsoft Office 2003
  • Microsoft Office Outlook 2003
  • Microsoft Age of Empires III
  • Microsoft Age of Empires III: The WarChiefs Expansión Pack
  • Y la lista continua...
Requisitos Mínimos de Windows Vista Application Compatibility Update:
  • Sistema Operativo Windows Vista Geniuno.
Esta fue la primera solución que encontré y cómo ven es bastante genérica ya que no solo soluciona el problema de instalación de Delphi 7 en Windows Vista sino también de otras aplicaciones "incompatibles" con este Sistema Operativo. Pero yo quería una solución más específica, una más óptima y que no necesite instalar ningún software. Aunque debo confesar que me tentó instalar este "parche" para así poder hacer correr otras aplicaciones que corren normalmente en Windows XP pero en las cuales hay problemas en Vista. Pero lo que me impidió hacerlo fue este mensaje que encontré en la página oficial de soporte técnico de Microsoft sobre la susodicha actualización:

Así qué me iba a animar a instalar el parche éste!!!, si por lo que se ve Microsoft mismo se lava las manos al poderse instalar algunos controladores de alguna aplicación heredada pudiendo éstos dañar al sistema. Aunque por lo que averigué por Internet muchos usuarios han estado utilizando ésta actualización sin ningún problema. Pero yo insisto no quería instalar ningún software y quería una solución más específica. Por lo que me puse a buscar otras alternativas.

2da Alternativa: Virtual PC 2007 - Español

Microsoft Virtual PC (actualmente renombrado Windows Virtual PC en Windows 7) es un software que nos permite crear computadoras virtuales. Es decir, su función es emular un hardware sobre el que funcionan varios sistemas operativos. Con esto se puede conseguir ejecutar varios sistemas operativos en la misma máquina a la vez y hacer que se comuniquen entre ellos. O sea que podemos cambiar de un sistema operativo a otro e inclusive levantar más de uno a la vez sin tener que reiniciar Windows y además sin utilizar particiones adicionales. La versión 2007 se encuentra disponible de forma gratuita.

Lo interesante de esta herramienta de virtualización propia de Microsoft es que cada computadora virtual o máquina virtual creada con él, es tan parecida a una computadora normal que cuenta con su propio disco duro, memoria ram y otros componentes de una PC real.

Podemos hacer grande la pantalla del sistema operativo que estamos virtualizando y ni si quiera nos daremos cuenta que estamos utilizando una PC virtual (dependiendo de la RAM), ya que como en cualquier sistema operativo nos podemos conectar a internet, abrir aplicaciones e instalar los programas que queramos u otras tantas cosas de manera totalmente autónoma.

Esta fue la segunda posible solución que encontré, como pueden notar mucho más genérica que la anterior, ya que instalando un sistema operativo alternativo al Windows Vista, tendríamos toda la compatibilidad necesaria para instalar cualquier programa que no lo sea con Vista. Mi intención era crear una máquina virtual con el Virtual PC y en ella instalar Windows XP para en él poder instalar sin problemas Delphi 7 y además de otros programas que tengo en XP y aún no he instalado en Vista porque es muy probable que sean incompatibles en él.

Es obvio que esta alternativa presenta muchísimas ventajas y es mucho más atractiva y elegante que la anterior. Entre ellas tenemos que no necesitamos crear nuevas particiones, ni reiniciar la computadora para cambiar de un sistema operativo a otro, este programa es de distribución gratuita, podemos instalar y hacer correr más de un sistema operativo a la vez, los sistemas operativos que instalemos se abren en una nueva ventana como si fueran un programa cualquiera y otras tantas más. Entre sus principales desventajas está que cuando se ejecutan varias máquinas virtuales simultáneamente hay un consumo respetable de recursos, por lo que se puede relentizar todo el sistema, lo que indica que para estas simulaciones se requiere una máquina potente, también mencionar que nuestro procesador debe soportar y tener habilitada la virtualización por hardware o sino no podremos instalar el programa.

Ahora lo que me impidió optar por esta alternativa fue que no cumplía lo que yo pedía: no instalar ningún programa y era demasiado genérico para mi yo quería una solución más específica para la instalación de Delphi 7 en Windows Vista. Eso sumado a que por lo que pude notar en la página oficial de soporte técnico de Microsoft no está soportada la instalación de Virtual PC 2007 en Windows Vista Home Premium de 32 bits, precisamente la versión que yo tengo; no obstante a esto he sabido por experiencias de otros usuarios que sí se puede instalar a pesar de un mensaje de advertencia en el proceso de instalación. Por lo que en teoría sí debería funcionar en Vista Home Premium; sin embargo, Microsoft no ofrece soporte formal a esta configuración.

Lógicamente existen otros productos para crear máquinas virtuales como VMware Workstation (de pago) o VirtualBox, pero no son completamente gratuitos (vienen con un periodo de prueba). No les puedo comentar mucho porque no los he usado y tampoco e indagado mucho sobre su uso.

Bueno creo que me explayé demasiado en este alternativa y sería muy interesante escribir en un artículo a futuro con más detalle y con más calma sobre Virtual PC 2007 su uso y su instalación en Windows Vista o en Windows XP y compartir mi experiencia con ustedes.

Pero no cabe la menor duda que intentar utilizar la virtualización en Windows Vista para instalar, digamos Windows XP y seguir utilizando las aplicaciones que pudiesen no instalarse sobre Windows Vista sería más que interesante y definitivamente muy útil.

Obtener el Microsoft Virtual PC e instalarlo en Windows Vista es una solución muy elegante que no me anime a utilizar en su momento dadas las circunstancias del caso, pero que sin duda voy hacerlo a mediano plazo. Recuerden que al usarlo podremos instalar Windows XP (o cualquier otra versión) y seguir usando los programas que, por la razón que quieras, no funcionan en Windows Vista.

3ra Alternativa: Ejecutar programas con permisos de administrador

Ésta fue la opción más óptima que encontré y la cual apliqué. Era lo que buscaba una solución rápida y efectiva. Sin instalar ningún programa adicional, una solución específica a la instalación de Delphi 7 en Windows Vista (aunque también funciona para otras aplicaciones).

Como es lógico lo primero que tenemos que hacer entonces es instalar Delphi 7, pero cuando queremos ejecutar el instalador de Delphi 7 se nos muestra el mensaje de la Figura 1.
Figura 1.- Mensaje de error generado al intentar instalar o ejecutar Delphi 7 sin privilegios administrativos.

En este mensaje presionamos en el botón "Ejecutar programa" y seguimos con la instalación de Delphi y todos sus componentes de manera normal como muestra la Figura 2, durante la instalación no debería haber ningún problema.
Figura 2.- Proceso de instalación normal de Delphi 7.

Lo que tenemos que hacer entonces es Ejecutar Delphi 7 como administrador en Windows Vista. Pero ¿Cómo ejecutar un programa como administrador?, ¿Cómo ejecutar Delphi 7 como administrador?, ¿qué implica ésto?, ¿cuándo se lo debe hacer y cuándo no?.

Al ejecutar una función de un programa o una función del sistema, podemos recibir un mensaje del UAC (Control de Cuentas de Usuario). La mayoría de estos programas son heredados. Las versiones más recientes de los mismos programas no desencadenan UAC. En el caso de Delphi 7 después de instalado éste y querer ejecutarlo (sin privilegios administrativos) se nos muestra el mensaje de la Figura 1 generado por UAC.

Después de presionar sobre el botón "Ejecutar programa" nos aparece el mensaje de error de la Figura 3.
Figura 3.- Mensaje de error generado por Delphi después de intentar "Ejecutar programa".

La siguiente acción será dar click sobre el botón "Yes" y se nos mostrará el mensaje de error de la Figura 4.
Figura 4.- Segundo mensaje de error generado por Delphi.

Después de ésto se abrirá Delphi 7 pero sin un formulario para trabajar como muestra la Figura 5. Cuando abrí programas que ya tenía creados con éste lenguaje de programación, pude ejecutarlos y modificarlos sin problemas. La cosa fue cuando quería crear un nuevo proyecto porque no me dejaba y me mostraba el mensaje de la Figura 4.
Figura 5.- Cuando no ejecutamos Delphi 7 como administrador se nos abre el programa pero sin un formulario para crear una nueva aplicación.

Pese a que podemos abrir Delphi 7 a la hora de ir a File/New/Application para intentar crear un nuevo proyecto no se nos permite mostrándonos el mensaje de la Figura 4.

Al parecer éste error de incompatibilidad es causado por los privilegios de administrador requeridos para poder escribir en la carpeta "Archivos de Programa", por lo que si se "Ejecuta como Administrador" el programa funcionará sin problemas.

Aparentemente todo reside en un problema con los permisos que da Windows Vista a los directorios que Delphi necesita. Debido probablemente a cuestiones de seguridad Windows Vista no permite acceder a directorios en los que en Windows XP sí se permitía y por ello Delphi 7 en Windows Vista no puede correr con normalidad.

En Windows Vista, algunos programas sólo pueden ejecutarse correctamente si se ejecuta como administrador. Es posible que se pueda ejecutar las versiones más recientes de los mismos programas sin necesidad de ejecutarlos como administrador. Como es el caso de Delphi 7 que es un programa heredado, pero cuyas últimas versiones son compatibles con Windows Vista.

Puede dar como resultado un riesgo de seguridad con credenciales administrativas el ejecutar un programa desconocido. Por eso Microsoft recomienda ejecutar solo programas de confianza como administrador. Pero en mi caso se trata de mi querido y confiable Delphi 7 por lo cual yo no tuve ninguna desconfianza y opté por ejecutarlo como administrador y otorgarle los permisos necesarios para que pueda correr sin ningún problema en Vista.

Para ejecutar un programa como administrador (en nuestro caso Delphi), se siguen los siguientes pasos:

1. Hacemos click con el botón derecho del mouse en el icono que se utilice para ejecutar el programa y, a continuación, damos click en Ejecutar como administrador.
2. Cuando se le pida una contraseña de administrador o una confirmación, escriba la contraseña de administrador o haga clic en permitir.

Y listo solucionado el problema, ahora no solamente podemos abrir proyectos creados en Delphi 7 sino también desarrollar uno nuevo sin ningún problema. Quiero hacer notar también que seguirán saliendo los mismos mensajes que salían antes de ejecutarlo como administrador, al mensaje de "Este programa tiene problemas de incompatibilidad conocidos" damos click al botón "Ejecutar programa" y a los subsiguientes mensajes de errores hacer click en los botones "Yes"; después de ésto tendremos corriendo Delphi 7 ésta vez con un formulario vacío y listo para trabajar (ver Figura 6). También ya podremos crear una nueva aplicación desde File/New/Application para intentar crear un nuevo proyecto y ya no se mostrará el mensaje de la Figura 4.
Figura 6.- Delphi 7 con un nuevo proyecto listo para implementar un programa.

Si debemos ejecutar Delphi como administrador para que corra sin problemas, quizás lo más conveniente sea configurar el programa para que siempre se ejecute automáticamente como administrador. Para ello, seguimos los siguientes pasos:

1. Hacemos click con el botón derecho del mouse en el icono que se utilice para ejecutar el programa y, a continuación, haga clic en Propiedades.
2. En la ficha compatibilidad, damos click para seleccionar la casilla de verificación ejecutar este programa como administrador y, a continuación, dar click en Aceptar.

Y de esta manera ya tendremos configurado Delphi 7 para que siempre sea ejecutado con permisos administrativos. Pude implementar programas para probarlo, además de mi proyecto de Métodos Numéricos y la ejecución del mismo durante la exposición y todo salió bien, pasó la prueba.

18 comentarios :

  1. Enhorabuena por el manual, muy completo.

    ResponderEliminar
  2. Muy completo. Confieso ser uno de los usuarios que "padecen" Windows Vista :(
    Saludos
    Elisa, Argentina

    ResponderEliminar
  3. @Jorgechu; gracias, parece simple pero generalmente hacer este tipo de post me lleva horas.

    @Elisa; si a mi también ya me está calentando Vista; sobre todo por los problemas de incompatibilidad que presenta con aplicaciones heredadas. Saludos a usted también querida vecinita!!!

    ResponderEliminar
  4. Mi portátil funciona con el XP.Rezo para que siga aguantando.Prefiero no pensar en el día que tenga que vérmelas con el tristemente famoso Vista....
    Te deseo un buen fin de domingo.Un abrazo.

    ResponderEliminar
  5. Estupendo artículo. Gracias. Saludos

    ResponderEliminar
  6. Hola compañero.Por favor,pasate por mi blog en este post,que ahí hay una cosita para ti.

    http://www.fotobazar17.com/2009/12/loteria-de-navidad.html

    Un abrazo.

    ResponderEliminar
  7. @Sagitaire17 enseguida me paso por tu blog a echar una ojeada.

    ResponderEliminar
  8. Jedi, mira que lo explicas clarito. Pero me he convencido de que soy una inútil en todo esto. Besos.

    ResponderEliminar
  9. Pues gracias, este rollo le pasa a muchos programas como OriginPro y te podias ahorrar muchas palabras solo diciendo: hay que ejecutarlo como administrador y ya... pero claro esta muchas gracias por tu completisimo manual.

    ResponderEliminar
  10. @Augusto, qué bueno que te haya servido el manual; y también creo que tienes razón ya que se me pasó la mano de extenso y debí haber escrito solo la 3ra Alternativa; pero bueno para en otra trataré de no "desviarme" tanto. De todos modos lo importante es que le está sirviendo a mucha gente. Saludos!!!

    ResponderEliminar
  11. Excelente lo de los permisoso de supervisor
    En -Windows 7 pasa lo mismo que en XP y se soluciona de la misma manera

    ResponderEliminar
  12. @rocastro, gracias por tu participación. Ah!!! mira que no sabía que en Windows 7 se solucionaba de la misma manera que en Windows Vista (es lo que creo que quisistes decir), gracias por el dato.

    ResponderEliminar
  13. Ufff... la verdad les dire algo, es un dolor de cabeza instalar todas esas cosas que al final solo sirven en windows, lo mas recomendable es que en la UAGRM se piense mas seriamente en desarrollo sobre tecnologias OpenSource, como JAVA y PHP.. Definitivamente son las unicas escalables... y que si resultan en el mercado local, han pensado lo caro que son las licencias de Microsoft ? y porque muchos clientes no las prefieren... les hablo del mundo real, ya cuando salgan se daran cuentan... si tienen un software, la idea es que sea vendible.. y multiplataforma... ¿porque se siguen cerrando con productos que solo sirven para windows?

    ResponderEliminar
  14. Les Recomiendo empezar en serio con J2EE, TOMCAT, PostgreSQL... solo con usar Eclipse, se daran cuenta la simplicidad de usar un IDE real y poderoso, que corre en cualquier lugar... Solo lo bajan lo descomprimen y sirve, por el otro lado para instalar un producto como Visual Studio.. uff tienen que perder 3 horas como minimo y bajar no se cuantos servipacks... al final tanto que hablan del DLL seguro.. igual se lo puede decompilar si no me creen busquen Reflex en CodePlex.com , en serio el futuro esta en JAVA y/o PHP.

    ResponderEliminar
  15. Estás totalmente equivocado, nos sé cómo sería la UAGRM antes, pero hoy por hoy y de un buen tiempo a esta parte, la UAGRM más bien está demasiado abierta al software libre, en Ing. Informática nos están orientando demasiado hacia Java, cuando en el mercado laboral Visual Studio es el más ocupado.

    Yo por mi lado tengo sólida formación sobre Java y bases de datos libres como MySQL y PostGreSQL, más no sobre Visual Studio ni bases de datos propietarias como SQL Server u Oracle. Busca en mi blog algún post sobre Visual Studio y a la fecha de hoy no encontrarás ninguno, ¿Por qué crees?

    Sos la primera persona que me quiere hacer ver lo contrario, mis amigos profesionales que ya están insertados en el mercado laboral me dicen que me olvide de Java y que empiece aprender Visual Studio porque hay más oportunidades de trabajo. A los disertantes que vienen a la Gabriel les hago las misma pregunta ¿qué tantas oportunidades en Java hay en el mercado laboral local? y la respuesta es la misma: "muy pocas", a futuro sí, hoy por hoy no.

    Y les creo porque es algo que palpo en mi diario vivir, ya que las últimas 5 ofertas de trabajo que tuve (la última fue en las AFP's) fueron para trabajar con Visual Studio, pero yo prioricé mis estudios, además de que casi no tengo conocimientos sobre Visual Studio y eso que no me exigían experiencia.

    En Europa sí Java pisa fuerte, en gringolandia todavía manda Microsoft, en Sudamérica también, y en Bolivia ni se diga.

    Date cuenta de que en una empresa seria y grande como en un Banco por ejemplo, las probabilidades de ver corriendo MySQL o PostGreSQL en vez de SQL Server u Oracle, son prácticamente nulas.

    Ahora sobre Linux no te discuto, ya que es el más ocupado como Servidor tanto en el mercado internacional como en el local, los mismo va para el desarrollo web con PHP.

    En mi caso yo últimamente estoy super metido en Linux y PHP debido a que mi Proyecto de Grado lo estoy desarrollando con estas herramientas.

    Más me preocupo por tener casi "0" conocimientos en Visual Studio, ya que como te comentaba de las últimas 5 ofertas de trabajo que tuve, 5 fueron para trabajar con Visual Studio, lo que me hace pensar que muy probablemente terminaré trabajando en esa plataforma de desarrollo.

    Esperemos que en un futuro en el mundo real (y no solo en las universidades) en el mercado laboral local hayan más oportunidades para los que estamos formados en Java y en el software libre en general.

    De todas maneras yo soy de los que piensan que hay que ocupar las herramientas que mejor se adecuen al proyecto en cuestión.

    Salud2.

    ResponderEliminar
  16. En How to Instalar Delphi 7 en Windows 7 (32 y 64 bits) hice un pequeño tutorial parecido, con windows 7 (que ya tiene lo de las compatibilidades), lo único que suma es que funciona tambien para 64 bits.

    Saludos!

    ResponderEliminar
    Respuestas
    1. Interesante lo de Windows 7 64 bits, ahora cómo estará la cosa con Windows 8???

      Eliminar
    2. También funciona en Windows 8 :) en modo compatibilidad con 7

      Eliminar

Encuesta: ¿Quién es el mejor catedrático de la carrera de Ing. Informática de la UAGRM?