2011-09-30 14 views
9

Abbiamo appena migrato il nostro programma di installazione da WiX 2.x a WiX 3.6 e iniziato utilizzando Burn. In precedenza, stavamo installando la ridistribuibile Visual C++ includendo i file .msm da C:\Program Files\Common Files\Merge Modules al nostro MSI. Questi file sono sempre sincronizzati con quello che usiamo per creare il nostro prodotto (vengono aggiornati frequentemente da Microsoft per includere correzioni di sicurezza).Come distribuire ridistribuibili di Visual C++ in WiX utilizzando Burn

Ora, vorremmo avere il ridistribuibile di Visual C++ scaricato solo se richiesto utilizzando il framework di masterizzazione. Tuttavia, Burn non definisce un elemento MsmPackage da inserire all'interno di Chain.

Qual è l'approccio migliore per la distribuzione di Visual C++ ridistribuibile utilizzando Burn?

+0

Che dire creare un "vc redist-msi" includendo solo il file msm redist di vc? –

+0

Questo era l'approccio che stavo pensando, ma la risposta di Bob sembra implicare una gestione inferiore. – decasteljau

risposta

7

I moduli di unione possono essere uniti in un .msi; non possono essere installati in modo indipendente. È possibile utilizzare ExePackage per installare il vcredist appropriato * .exe.

+0

Grazie Bob. Ho trovato di più sull'argomento qui: http://msdn.microsoft.com/en-us/library/ms235316.aspx – decasteljau

1

Questo è ciò che si dovrebbe fare:

  1. creare un progetto MSI che include solo i moduli di unione si ha bisogno.
  2. Bloccare il numero di versione del pacchetto MSI, il codice prodotto e il codice di aggiornamento.
  3. Utilizzare l'MSI nel pacchetto.

Ora 2) assicurerà che durante l'aggiornamento dello scenario l'MSI non verrà installato, o se si tratta di un carico utile esterno, non verrà scaricato.

Il problema con la confezione vcredist*.exe è che alcuni utenti potrebbero pensare che sia un'installazione indipendente e disinstallarla e interrompere l'applicazione.

Problemi correlati