Pregunta

Tengo una aplicación que va a utilizar un dispositivo en algunos casos (es decir, impresora). Básicamente, en una oficina se utilizará esta impresora, y en otra oficina nunca se usará de esta impresora.

La funcionalidad de usar la impresora está sentado en el código de la aplicación, y las DLL que se comunican con la impresora se hace referencia en el código. Así las DLL son parte del paquete .msi de instalación.

Sin embargo, estos DLL no se puede registrar durante la instalación si el requisito previo (un grupo de controladores de la impresora, proporcionado por el fabricante como un solo exe de instalación) no está instalado. El programa de instalación de los controladores está sobre el tamaño del 50M.

No quiero incluir un archivo 50M extra en el paquete de instalación para la oficina que nunca va a utilizar la impresora. ¿Cuáles son las posibles soluciones para el problema?

Por último, me gustaría una opción para omitir alguna forma de registro de estos DLL durante la instalación. Pero no sé cómo abordar esto.

Creo que podría haber una compilación condicional en el código. Pero eso implicaría una cantidad significativa de trabajo para separar por completo el código que habla con este tipo de impresora desde el resto del código de la aplicación.

Las posibles soluciones?

¿Fue útil?

Solución

Grupo las DLL que se van a instalar condicionalmente / registrado un componente. Luego, en su Componente , utilice la columna condición que depender de la propiedad que desea ajustar. En su de localización de tablas , configurar filas a busque los requisitos previos y establezca la propiedad.

Usted puede aprender más acerca de esto leyendo:

http://msdn.microsoft.com/ en-us / library / aa371564 (VS.85) .aspx

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