Cap 3/ Crear Paquete de Instalación- Aplicación con Base de Datos Local, SQL Server, Visual Studio, WinForm, Capas

Hola, bienvenido al tercer capitulo de Crear Paquete de Instalación de una Aplicación con Base de Datos Integrada, Local, Red Local y en la Web-Nube/ Visual Studio.

Ahora crearemos el Instalador (Setup) de una aplicación con base de datos local. Recuerden que en este modelo la base de datos y la aplicación está instalada en la misma computadora, y es muy común para negocios pequeños donde solamente es necesario una computadora.

Para este tutorial usaremos el Proyecto Login completo de Visual Basic, con arquitectura en capas, puedes usar cualquier otro proyecto con base de datos.

Guardar Archivo SQL (Script de la Base de Datos o Backup)

Primeramente guardamos el archivo SQL de la base de datos de la aplicación (MyDataBase.sql), posteriormente crear la base de datos en la computadora cliente. Si la aplicación ya tiene un montón de datos importantes, lo ideal sería realizar una copia de seguridad de la base de datos (MyDataBase.bak).

Cadena de Conexión – SQL Server Local

Para esta práctica, es muy importante que tengas una instalación de SQL Server con una instancia predeterminada.

Una instancia predeterminada es simplemente una instancia sin nombre, por lo tanto, para conectarse al motor de base de datos, en nombre del servidor solamente necesitamos colocar el nombre de la computadora.

Normalmente, para conectarse al motor de base de datos de SQL Server, es necesario colocar el nombre de servidor y el nombre de instancia. Es por ello, al tener una instancia predeterminada, solamente necesitamos el nombre del servidor, ya que una instancia predeterminada es una instancia sin nombre. Además podemos conectarnos localmente (local), es decir, el motor de base de datos está instalada en la misma computadora.

También podemos hacerlo con el signo de puntuación.

Por lo tanto, en la cadena de conexión debemos de indicar que la aplicación se conectará al servidor de base de datos localmente. La autenticación debe ser mediante Windows tanto en SQL Server y la cadena de conexión, ya que es más seguro (El servidor de base de datos no será expuesto por la red).

connectionString = "Server=(local);DataBase= MyCompany; integrated security= true"

Crear Setup de la aplicación – ClickOnce

Una vez creado la cadena de conexión, nos dirigimos a las propiedades del proyecto principal de Visual Studio (En este caso capa de presentación).

  • En Pestaña Aplicación: Cambiemos el nombre del ensamblado, por ejemplo AppLoginLocalDBLocal (puedes colocar el nombre que desees para el ejecutable de tu aplicación). Agrega un icono (Debe tener extensión .ico), puedes añadir información al ensamblado.
  • En Pestaña Publicar: Elegimos la ubicación donde se publicará el paquete de instalación. Verificamos que todas las librerías y archivos estén incluidas en el paquete.
  • Finalmente, seleccionamos publicar ahora, para crear el instalador de la aplicación.

Como Instalar la Aplicación y la base de Datos Local

Primeramente, para instalar la aplicación y la base de datos en cualquier computadora cliente, el usuario debe tener:

  • El paquete de instalación de la aplicación (MyApp.exe).
  • El archivo SQL de la base de datos (MyDataBase.sql) o la copia de seguridad de la base de datos (MyDataBase.bak).
  • El paquete de instalación de SQL Server (Recomendable superior a la versión 2008), como se dijo en la introducción, una base de datos siempre está alojada en un gestor de base de datos (Servidor de base de datos), es imposible incluir en la misma aplicación, excepto base de datos en archivos (XML, JSON, Access, SQLite).

1.- Instalar SQL Server con instancia predeterminada

Al instalar SQL server, en configuración de instancia, debemos indicar que instalaremos una instancia predeterminada, es decir una instancia sin nombre, ya que en la cadena de conexión indicamos que la aplicación se conecte localmente con instancia predeterminada.

connectionString = "Server=(local);DataBase= MyCompany; integrated security= true"

Pero si indicaste que la aplicación se conecte localmente con una instancia con nombre, entonces crea la instancia con el mismo nombre de instancia de la cadena de conexión.

connectionString = "Server=(local)\SQLExpress;DataBase= MyCompany; integrated security= true"

connectionString2 = "Server=(local)\InnovaTec;DataBase= MyCompany; integrated security= true"

connectionString3 = "Server=(local)\DBServer;DataBase= MyCompany; integrated security= true"

//ETC

En modo de autenticación, debemos seleccionar modo de autenticación de Windows, ya que es el modo más seguro para bases de datos locales, donde evitamos que el motor de base de datos se exponga en la red.

2.- Crear Base de Datos de la Aplicación

Una vez terminado la instalación anterior, abrimos SQL Server, y creamos la base de datos a partir del archivo SQL (MyDataBase.sql), o la copia de seguridad (MyDataBase.bak).

3.- Instalar la Aplicación

Una vez creado la base de datos, instalamos la aplicación, para ello, ejecutamos Setup.exe del paquete de instalación de la aplicación.

Eso es todo 🙂

Ver Video Tutorial

Ver Proyecto Login utilizado en el tutorial

C#

VB.Net