visual studio para limited for edition descargar activate visual-studio-2012 dll installshield system.data.sqlite installshield-le

visual-studio-2012 - studio - installshield visual



Visual Studio-InstalaciĆ³n de InstallShield en un proyecto con System.Data.SQLite (2)

Tengo una biblioteca de clase C # que hace referencia a System.Data.SQLite (de nuget) . Esta es la estructura de mi carpeta bin después de la compilación:

  • MyProject.dll
  • System.Data.SQLite.dll
  • x86 / SQLite.Interop.dll
  • x64 / SQLite.Interop.dll

System.Data.SQLite necesita el SQLite.Interop para ejecutarse y el dll correcto se encuentra en tiempo de ejecución. Sin embargo, cuando genero una instalación con InstallShield que incluye la salida primaria del proyecto, las carpetas x86 y x64 no se copian y mi aplicación no se ejecuta.

¿Hay alguna forma de forzar a Visual Studio a incluir carpetas x86 y x64 en la salida primaria?

¿Hay alguna manera de incluir las carpetas manualmente en InstallShield con una ruta relativa ?

Mi entorno:

  • Profesional de Visual Studio 2012
  • Instalar Shield 2013 edición limitada (gratis)
  • System.Data.SQLite 1.0.96

Me encontré con el mismo problema usando VS2013 / Installshield LE; Terminé optando por cambiar el paquete NuGet en mi máquina para NO crear la carpeta x86 para SQLite.interop.dll en la carpeta de compilación.

Para hacerlo, busque en la carpeta "packages / System.Data.SQLite.Core.1.0.104.0 / build" debajo del directorio de su proyecto. A continuación, elija la subcarpeta pertinente a la versión de .NET a la que se dirige, y abra el archivo "System.Data.SQLite.Core.targets" en un editor de texto. Deseará eliminar todas las referencias a " %(RecursiveDir) " EXCEPTO en la sección " SQLite Interop Library Content Items ". Guardar, limpiar y reconstruir: el dll de interoperabilidad ahora debería estar en la misma carpeta que el ejecutable principal / etc, e Installshield debería poder incluirlo automáticamente como una dependencia.

Si no se muestra en el lugar correcto, intente editar un archivo .target de una versión de .NET diferente hasta que llegue a la correcta.


Sí, hay una forma de agregar / desplegar carpetas a través de InstallShield. En las pestañas Archivos, puede agregar los archivos / carpeta. Al agregar estos archivos, puede establecer la ruta relativa también en esto. Simplemente establezca una propiedad con la ruta y use esa propiedad en su ruta relativa. Entonces, ¿dónde quiere copiar estos archivos (ubicaciones de referencia para DLL), puede agregar esa estructura de carpetas a través de InstallShield y puede agregar archivos en eso.