Bartek Szafko

all of the bits and pieces

WiX: Merge modules

without comments

image

Merge modules to plik z rozszerzniem .msm, który możemy dołączyć do naszego pliku .msi. Zaletą jest to, że na wyjściu dostajemy jeden plik Windows Installera, którego zawartość jest połączona(stąd nazwa merge module) z modułem.




Przykładowe użycie merge module w skrypcie wxs może wyglądać tak:

<Merge Id="CrystalReportsRedist" Language="1045" SourceFile="CrystalReportsRedist2005_x86.msm" DiskId="1" />

Czasem, są też problemy z nieistniejącymi tabelami w .msi, ale można to załawić przy pommocy EnsureTable:

<EnsureTable Id="Registry"/>

Sprawa wydaje się prosta. Jest jednak małe “ale” dołączanie zewnętrznego komponentu do naszego msi mocno komplikuje upgrady( patrz tutaj Rule 43). Dodatkowo wiążemy się z producentem pakietu .msm i musimy za każdym razem sami aktualizować plik msi o nowszy msm.

Producenci komponentów rzadko dostarczają merge moduły. Na przykład .NET Framework wogóle nie jest dostępny jako MSM. Nawet ludzie z Microsoft radzą raczej ostrożne stosowanie Merge modules.

W większości przypadków można zupełnie spokojnie użyć jakiegoś bootstrappera i instalować normalnie pliki .msi na przykład tak jak to opisałem w jednym z poprzednich wpisów.

Inne podobne artykuły:

Written by Bartłomiej Szafko

November 14th, 2009 at 8:17 pm

Posted in WiX

Tagged with ,

1 Trackbacks/Pingbacks

  1. dotnetomaniak.pl

without comments to “WiX: Merge modules”

Subscribe comments with RSS. TrackBack URL.

Leave a Reply