Wix Toolset – stwórz instalator – Wstęp

Napisałem piękny i profesjonalnie wyglądający program. Chciałem go pokazać innym. Czułem w środku, że nie profesjonalnie jest przekazać .zip
i kazać moim użytkownikom, go rozpakować i stworzyć sobie skróty do programu w menu start.
Mój program zasługuje na lepsze traktowanie goddamn it.
W mojej pracy piszę aplikacje desktopowe, a do nich tworzone są instalatory przy użyciu Wix Toolset. Mój program jest desktopowy więc tego samego zestawu narzędzi.
Z Wix Toolset opiera się kilku programach (które można pobrać z strony za darmo) i na plikach XML. Pliki XML są kompilowane do plików .msi
oraz do .exe
.
Teoretycznie z Wix można korzystać z ścieżki poleceń i notatnika; równie dobrze można wybrać nóż do masła w celu wykonania sepuku.
Skupię się na wykorzystaniu Visual Studio do ułatwienia sobie życia.
Do dobrej Wixy (hehehe) potrzebujemy
- Visual Studio (ja używam 2017)
- Projekt z kodem, który chcemy zainstalować
- Wix Toolset – programy kompilujące XMLe
- Wix Toolset Visual Studio 2017 Extension – Dodaje potrzebne projekty
- Wax – To rozszerzenie instaluje się po zainstalowaniu powyższych rzeczy i restarcie Visual Studio. Nie chcesz mocno myśleć przy tworzeniu instalatora? potrzebujesz Waxa.
- Otwarty GUID Generator – na jednym z monitorów
Tworzenie projektów do instalatora:
Pierwsza sprawa wersja v3
czy v4
. Szybka odpowiedź v3
, bo dokumentacja do v4
jest comming soon od paru lat.
Potrzebujemy przynajmniej dwa projekty.
Setup Project for WiX v3
, którego wynikiem jest plik.msi
Bootstraper Project for WiX v3
, którego wynikiem jest plik.exe
Plik .msi
to plik Windows Installer, który pracuje nad instalacją jednego produktu. Exe
z projektu Bootstraper instaluje jeden lub więcej produktów przy użyciu plików .msi
.
Myśl o nich tak:
.msi
część biznesowa instalatora.exe
cześć UI instalatora
Mając te projekty założone. Do projektu Setup można dodać referencje do projektu – naszego programu do zainstalowania.
Również do Setup przyda się dodać referencje do biblioteki pomocniczej instalowanej razem z Wix Toolset dostępnej pod ścieżką C:\Program Files (x86)\WiX Toolset v3.11\bin\WixUtilExtension.dll
A do projetu Bootstrap trzeba dodać referencje do projektu Setup. Będzie też potrzebna referencja do WixBalExtension
, jeżeli nie dodała się samodzielnie to ten plik znajdziesz pod ścieżką: C:\Program Files (x86)\WiX Toolset v3.11\bin\WixBalExtension.dll
.
Tworzenie instalatora .msi
Jeżeli interesuje ciebie szybka (niekoniecznie prawidłowa) ścieżka do utworzenia instalatora to uruchom Wax’a Tools -> WiX Setup Editor
.
Korzystanie z tego rozszerzenia nie powinno sprawić nikomu problemu.
Obrazek podglądowy.
W ten sposób zmodyfikowany został plik Product.wxs
– XML z którego powstanie plik .msi
.
Jeszcze potrzebujemy wprowadzić wartość w atrybutu Manufacturer
w elemencie Wix/Product
.
Tworzenie bootstrapera .exe
Bootstraper jest prosty w konfiguracji
Do elementu Wix/Bundle/Chain
dodajemy taki wpis:
Gdzie SetupProject1 to nazwa projektu .msi
Potrzebujemy wprowadzić wartość w atrybutu Manufacturer
w elemencie Wix/Bundle
.
Teraz po wybraniu Build
projekcie Bootstrapera powiniśmy otrzymać działający instalator.
To jeszcze nie koniec, taki instalator może nie zagwarantować poprawnego działania naszej aplikacji. Na przykład program nie ma praw do modyfikacji plików wewenątrz Program Files (jeżeli się o to nie zadba) O tym będzie w następnym oddcinku.