Condivisione di dll in una distribuzione software

1

Stiamo spostando il nostro progetto software dal programma di installazione di Visual Studio in modo praticamente automatico in Visual Studio 2010 a un programma di installazione WiX. Mi piacerebbe usare questa modifica per assicurarmi che le cose vadano bene.

L'applicazione è una sussidiaria dell'app principale della nostra azienda che sarà già installata nella propria cartella. L'app principale ha molte DLL, alcune delle quali devono essere caricate per funzionare.

Con il programma di installazione precedente, le DLL necessarie vengono inserite nel progetto e incluse nella cartella di installazione dell'app secondaria. Tuttavia, questo sembra creare possibili problemi:

  • Più versioni della stessa DLL creano confusione, specialmente se noi produrre un'altra app in futuro.
  • Se la versione dell'app principale modifiche, gli aggiornamenti vengono persi dall'app sussidiaria.

Non mi sento a mio agio con l'aggiunta della nostra app alla stessa cartella, perché sono sviluppati e gestiti da diversi gruppi.

Invece di questo, forse potrei aggiungere il percorso dell'app principale alla variabile d'ambiente PATH. Funzionerebbe e ci sono dubbi nel fare questo?

C'è un altro modo per affrontare questo problema?

    
posta TomDestry 26.07.2013 - 16:45
fonte

1 risposta

2

Probabilmente stai meglio avere le DLL nelle rispettive directory. In questo modo se un gruppo cambia uno di loro in un modo che è in conflitto con un'applicazione di un altro gruppo, non avrà alcun impatto su quell'applicazione. Non mi preoccuperei di avere DLL duplicate - nello schema delle cose probabilmente non c'è molto spazio su disco.

Un altro approccio da considerare potrebbe essere quello di avere una directory "comune" condivisa utilizzata da tutti i gruppi della tua azienda. Un percorso come "c: \ program files \ common files \ CompanyName". (Se si guarda, è probabile che si abbia già un percorso "file comuni" nella directory "file di programma", come fanno molti produttori più grandi). Ovviamente, se lo fai, devi impegnarti a testare ogni modifica della DLL su tutte le app che potrebbero utilizzare quella DLL.

    
risposta data 26.07.2013 - 19:11
fonte

Leggi altre domande sui tag