Domanda

Ho un'applicazione che utilizzerà un dispositivo in alcuni casi (cioè stampante). In sostanza, in un ufficio verrà utilizzata questa stampante, e in un altro ufficio non sarà mai usato questa stampante.

La funzionalità di utilizzare la stampante è seduto nel codice dell'applicazione, e le dll che comunicano con la stampante viene fatto riferimento nel codice. Così i DLL sono parte del pacchetto di installazione MSI.

Tuttavia, queste dll non possono essere registrati durante l'installazione se il prerequisito (una serie di driver per la stampante, fornito dal produttore come un singolo file EXE di installazione) non è installato. Il programma di installazione per i piloti è di circa 50M dimensioni.

Non voglio includere un file 50M in più nel pacchetto di installazione per l'ufficio che non potrà mai utilizzare la stampante. Quali sono le possibili soluzioni per il problema?

In definitiva, vorrei un'opzione per saltare qualche modo la registrazione di queste DLL durante l'installazione. Ma io non so come affrontare questo.

Credo che avrei potuto avere una compilazione condizionale nel codice. Ma questo comporterebbe una notevole quantità di lavoro per separare completamente il codice che parla di questo tipo di stampante dal resto del codice dell'applicazione.

Le eventuali possibili soluzioni?

È stato utile?

Soluzione

Gruppo le DLL che devono essere installati in modo condizionale / registrato un componente. Poi, nel tuo Componente di MSI, utilizzare la colonna Condizione di dipendere da proprietà da impostare. Nella tua localizzatore tavoli , configurare righe cercare i prerequisiti e impostare la proprietà.

È possibile saperne di più su questo leggendo:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top