type open metatags example .net deployment installation

.net - open - Incorporación de dlls de SMO en la configuración y la implementación



social metatags (2)

Tengo un proyecto .NET Set and Deployment que tiene que ejecutar un conjunto de SQL Scripts realmente largos como parte del proceso de instalación. He utilizado SMO dlls para hacer llamadas a los archivos de script .sql. Sin embargo, estos dlls SMO no son parte del framework .NET pero vienen incluidos con SQL Server 2005 u 2008. Ahora, si la configuración se ejecuta en una máquina que no tiene SQL Server 2005/2008 instalado, falla la ejecución del script SQL. Este es un caso de uso perfectamente válido para mi configuración ya que el usuario podría no tener el servidor SQL en su máquina local, sino en un servidor de red. ¿Cómo incrusto el dll de SMO junto con el .msi de configuración para que no tenga que depender de ninguno de los dlls de SMO en la máquina que se está ejecutando?


Una forma simple de hacerlo sería agregar esos archivos al proyecto de implementación.

Si hace clic derecho en el proyecto en el explorador de soluciones y luego selecciona Ver> Sistema de archivos, puede agregar esos archivos a la carpeta de aplicaciones de la máquina de destino.

Si necesita registrar el DLL, creo que puede agregar una acción personalizada para hacer eso, pero no estoy seguro.

¡Espero que ayude!


Lo siento, no entendí la pregunta a primera vista. Yo haría lo siguiente:

  1. Crear un proyecto de instalador personalizado (Biblioteca de clases)
  2. Agregue una referencia a las DLL de SMO (creo que debe configurar Copy Local = True)
  3. Agregue una clase de instalador con su lógica de implementación sql
  4. Agregue la salida de este proyecto a su proyecto de instalación
  5. Configure las acciones personalizadas necesarias

Este artículo explica un proceso similar (menos las llamadas SMO), se basa en este artículo msdn .

¡Espero que ayude!