Ejecutar Instrucción SQL con WiX

  • RSS
  • Add To My MSN
  • Add To Windows Live
  • Add To My Yahoo
  • Add To Google

Statistics

  • Entries (18)
  • Comments (14)
Posted by Romny Duarte Saturday, February 11, 2012 2:14:00 PM Categories: .net
Rate this Content 0 Votes

Buenas  a todos.

Después de nuestro anterior post Creando Instalador con WiX he decidido jugar un poco mas con esta tecnología, que se ve prometedora.

Antes de empezar les recuerdo los link principales para leer sobre el tema.

Para este post vamos a ejecutar una instrucción SQL desde nuestro instalador.

Como sabrán, WiX usa XML para hacer las definiciones de nuestro instalador. Para poder ejecutar la instrucción SQL tenemos que hacer lo siguiente.

  • Añadir los espacios de nombres correspondientes.
 1: <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" 
 2:      xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" 
 3:      xmlns:sql="http://schemas.microsoft.com/wix/SqlExtension">
  • En la definición de nuestro del directorio principal colocamos lo siguiente.
 1: <Directory Id="ProgramFilesFolder">
 2:         <Directory Id="ApplicationRootDirectory" Name="WiXApp">
 3:           <Component Id="SqlComponent" Guid="2a57840e-49a3-412c-8602-1f0f6eda1b8e" KeyPath="yes">
 4:             <util:User Id="SQLUser" Name="[SQLUSER]" Password="[SQLPASSWORD]" />
 5:             
 6:             <sql:SqlDatabase Id="SqlDatabase" Database="WiXApp" Server="[SQLSERVER]" 
 7:               CreateOnInstall="yes" DropOnUninstall="yes" User="SQLUser">
 8:               <sql:SqlScript Id="CreateTable" BinaryKey="CreateTable" ExecuteOnInstall="yes" />
 9:             </sql:SqlDatabase>
 10:           </Component>
 11:         </Directory>
 12:             </Directory>

Los anteriores espacios de nombres era para poder definir un usuario para conectarnos a nuestro server, También para definir nuestra bd y cual script ejecutar.

 1: <Binary Id="CreateTable" SourceFile="CreateTable.sql"  />

Además defino las propiedades siguientes.

image

Ya después de ejecutar el instalador en el server de SQL queda así.

image

Algo interesante es que uno define el nombre de la BD y el se encarga de crearla, también si desinstalamos el la elimina. según esto.

 1: <sql:SqlDatabase Id="SqlDatabase" Database="WiXApp" Server="[SQLSERVER]" 
 2:               CreateOnInstall="yes" DropOnUninstall="yes" User="SQLUser">
 3:               <sql:SqlScript Id="CreateTable" BinaryKey="CreateTable" ExecuteOnInstall="yes" />
 4:             </sql:SqlDatabase>

Como puede ver es bastante versátil la herramienta. Ya solo queda probar la parte grafica del instalador.

Espero que les haya gustado.

Saludos.

Romny

* Este post fue publicado originalmente en Ejecutar Instrucción SQL con WiX

Comments

Comments are closed on this post.
© 2009 - 2013 Avanet