RE:Delphi versus Visual Basic
Te invito a leer my artículo "Una comparación entre Delphi y Visual Basic": http://www.latiumsoftware.com/es/articles/00010.php
Si conoces el Visual Basic bien, puede que al principio te cueste psicológicamente el cambio porque es como que pasarás de ser un programador con experiencia en una herramienta, a pasar a ser un programador novato con otra, pero tal vez con el tiempo descubras que era mejor ser piloto novato de Fórmula 1 que ser campeón de los carritos chocadores, sobre todo si estás cansado de chocarte con las limitaciones de VB.
Podría decirte que las grandes desventajas de Delphi son que no está disponible en español, y que el aprendizaje del lenguaje es más lento. Superando esos dos grandes obstáculos, descubrirás que Delphi es una herramienta realmente poderosa y es por lejos muy superior a Visual Basic. Por supuesto, hay que aprender a usarla, tarea interminable, pues siempre se aprende algo nuevo (para muchos no sucede así con VB y eventualmente encuentran como que se agota en sí mismo).
Tal vez la primera bendición que notarás es que un error no manejado no terminará súbitamente con la ejecución de tu aplicación. La otra cosa que notarás es que la conectividad con bases de datos es muy superior, aunque por allí tiene sus ñañas.
En cuanto a la instalación, en ciertos casos ofrece sus inconvenientes, pero por lejos no son tantos como los que he visto que tienen los programadores en Visual Basic, sobre todo porque las aplicaciones son bastante autocontenidas y se usan poco y nada objetos ActiveX, pues son prefereibles componentes VCL por las razones que explico en mi artículo.
Si el InstallShield Express te deja a pie, te recomiendo usar Self-Extracting Archive Utility (http://www.gammadyne.com/seau.htm). En cierto modo es "primitivo", sobre todo la interfaz para crear el proyecto de instalación deja mucho que desear, pero funciona como promete, es relativamente asequible y lo he visto funcionar en un caso en que instaladores de alta gama fracasaron.
Muchas veces ni siquiera es realmente necesario un instalador. Por ejemplo si usas la BDE, tu aplicación como primera medida puede comprobar si la BDE está instalada, e instalarla en caso negativo. Y en cuanto a los alias, en tiempo de ejecución puedes sustituir el valor de la propiedad DatabaseName de los componentes de acceso a datos colocando allí el camino a la base de datos (típicamente relativos al camino donde se encuentra la aplicación, o configurable en un archivo de inicio .INI).
Espero que mis comentarios te sirvan.
Ernesto D'Spirito
http://www.latiumsoftware.com/es/index.php