Cómo agregar componentes opcionales de instalación de Visual Studio y proyectos de implantación?

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

Pregunta

Estoy tratando de crear una "instalación e implementación" muy básico proyecto utilizando Visual Studio. Lo que me gustaría es la capacidad de elegir que componentes para instalar. Digamos que cada componente consiste en la producción primaria de una biblioteca sola clase (es decir, cada componente es en realidad un único módulo o conjunto compilado).

No he visto esa opción en el conjunto estándar de los cuadros de diálogo disponibles. Pero he visto que con un pequeño esfuerzo podemos crear alguna manera personalizada diálogos .

  • ¿Cómo puedo programación detectar qué componentes están disponibles como parte del proyecto de instalación y despliegue? (es decir, me gustaría que el proyecto para trabajar incluso cuando la adición o eliminación de un componente de la instalación )

  • ¿Cómo puedo ampliar o crear un diálogo personalizado que muestra la lista de componentes disponibles?

  • ¿Cómo puedo detectar los componentes que el usuario final ha elegido para instalar?

Estoy un poco familiarizado con Orca, la herramienta para manipular archivos .msi, así como aplicaciones del instalador completo soplado como InstallShield, pero me gustaría hacer esto utilizando solamente cruda Visual otras herramientas de código abierto disponibles Studio y.

Gracias por su ayuda.

¿Fue útil?

Solución

VDP (Visual Studio proyecto de implementación) no está hecho para este tipo de cosas (es decir: utilizar Wix lugar):

  1. (supongo que desea que esta en tiempo de ejecución) Puede utilizar MsiQueryComponentState pero para eso se necesita para pasar el componente GUID en la que VDP no tiene control sobre.
  2. Esto sale de la caja con todo lo demás a continuación, impresión de datos variables.
  3. (supongo que desea que esta en el tiempo de configuración ...) Puede utilizar Estado con el fin de ejecutar la acción personalizada en base a Componente Instalar Estado , en la impresión de datos variables que no tienen control sobre el ID de componente (que no debe confundirse con el componente GUID) que se necesita con el fin de preformar condición componente.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top