Qué acción personalizada DLL-s para el instalador de MSI tienen que ser creados sólo con Visual Studio?

StackOverflow https://stackoverflow.com/questions/949430

Pregunta

He creado proyecto de instalación con Visual Studio. También necesito algunas acciones personalizadas - DLL creada con Visual C ++ y funciona muy bien, pero no quiero incluir Visual C ++ archivos de tiempo de ejecución de mi proyecto. Entonces, ¿es posible construir esta DLL con algún otro compilador de C ++?

He tratado de hacer que sea con Dev-C ++, pero al compilar consigo unos cientos de errores de compilación de archivos msi.h y msiquery.h

¿Fue útil?

Solución

Probablemente la solución más fácil es vincular sus DLL en contra de la lib tiempo de ejecución estática.

Otros consejos

En DLL generales de acción personalizado sólo debe depender de DLL que ya están en el sistema antes de la instalación. Esto significa, por ejemplo, de forma estática que une el CRT, como señaló MSalters, pero también se aplica a cualquier otra dependencia de las bibliotecas 3 ª parte.

Otra opción es establecer un vínculo con el sistema operativo CRT, como se explica Koby Kahane aquí .

He hecho una DLL personalizada para mi proyecto de instalación. Mi DLL es muy simple, registrando unos servicios, no CLR o cualquier tercero partido lib dependiente. Han enlazado estáticamente, con sólo msi.lib.

He eliminado los requisitos previos .NET y ventanas del instalador desde el proyecto de instalación. Mi configuración falla en macines no tienen NET Framework ..?

Como no he tener cualquier código dependiente de .NET, lo que debería ser la solución a esto. Me Don;. T desea usuario descargar primer marco para la instalación

Saludos Amit

Aquí puede encontrar algún pequeño ejemplo usando C ++ DLL de acciones personalizadas:

http : //www.simple-talk.com/dotnet/visual-studio/visual-studio-setup---projects-and-custom-actions/

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top