2011-09-30 10 views
9

Właśnie zmigrowaliśmy nasz instalator z WiX 2.x do WiX 3.6 i zaczęliśmy używać Burn. Poprzednio instalowaliśmy Visual C++ redystrybucję, dołączając pliki .msm z C:\Program Files\Common Files\Merge Modules do naszego MSI. Pliki te są zawsze zsynchronizowane z tym, którego używamy do budowy naszego produktu (są często aktualizowane przez firmę Microsoft w celu uwzględnienia poprawek zabezpieczeń).Jak rozmieścić redystrybucyjne Visual C++ w WiX za pomocą Burn

Teraz chcielibyśmy, aby redystrybucja Visual C++ była pobierana tylko wtedy, gdy jest to wymagane przy użyciu architektury Burn. Jednak Burn nie definiuje elementu MsmPackage do umieszczenia wewnątrz Chain.

Jakie jest najlepsze podejście do wdrażania redystrybucji Visual C++ za pomocą Burn?

+0

Co z utworzeniem "vc redist-msi", w tym tylko plik msm redc vist? –

+0

To było podejście, o którym myślałem, ale odpowiedź Boba wydaje się wiązać się z mniejszym zarządzaniem. – decasteljau

Odpowiedz

7

Moduły scalające można łączyć tylko w .msi; nie można ich zainstalować niezależnie. Możesz użyć ExePackage, aby zainstalować odpowiedni vcredist * .exe.

+0

Dziękuję Bob. Właśnie znalazłem więcej na temat tutaj: http://msdn.microsoft.com/en-us/library/ms235316.aspx – decasteljau

1

To, co należy zrobić:

  1. Utwórz projekt MSI, który zawiera tylko moduły seryjnej musisz.
  2. Zacisnąć numer wersji pakietu MSI, kod produktu i kod aktualizacji.
  3. Użyj MSI w swoim pakiecie.

Teraz 2) zagwarantuje, że przy aktualizacji do nowej wersji MSI nie zostanie zainstalowany lub jeśli jest to zewnętrzna ładunek danych, nie zostanie pobrany.

Problem z pakowaniem vcredist*.exe polega na tym, że niektórzy użytkownicy mogą uważać, że jest to niezależna instalacja i odinstalowanie oraz złamanie aplikacji.

Powiązane problemy