MSI už existuje nějakou dobu, nicméně až v poslední době se s ním začíná pracovat čím dál více.
Proč zrovna Wix?
Jeho základem je XML, takže je
jednoduchý na správu. Je škálovatelný, můžete definovat různé podmínky a
také jej můžete využívat na větších projektech.
Nicméně s jeho
učením je to už trošku horší... Trvalo mi asi měsíc než jsem se do toho
dostal a pochopil o co vlastně jde. Pokud jste s instalacemi přišli do
styku už dříve, určitě to zvládnete rychleji.
Co budete potřebovat?
Pokud používáte Vistual Studio, budete to mít o hodně jednodušší.
Jelikož je VS zdarma (za určitých podmínek), můžete si jej stáhnout přímo z webu VS
zde.
Wix Toolset je také zdarma a stahovat můžete
zde.
Wix se dá využívat i bez VS, přímo z příkazové řádky (light.exe,
candle.exe, heat.exe atd). Nicméně, já zde budu popisovat tvorbu
instalace přes VS.
Nainstalujte prvně Visual Studio a poté Wix, protože Wix přidá do VS různé featury, které budete určitě potřebovat.
Tvorba projektu
Otevřete VS a založte nový projekt.
File ->
New ->
Project ->
Windows Installer XML ->
Setup Project
Otevře se vám soubor Product.wxs ve kterém jsou už základní elementy a
atributy. Nyní ještě instalačku vytvořit nejde, musíte zde dodat další
informace, které si postupně projdeme.
Upozornění na začátek - XML soubory jsou case sensitive, takže "ID" neznamená to samé co "Id" nebo "id".
Product element - hlavní popis produktu
Id:
jedinečné GUID aplikace - mělo by být stále stejné a nikdy se neměnit.
Jak vidíte, tak se zde objevila hvězdička. Místo hvězdičky zde doplňte
GUID - což můžete provést následovně: Tools -> Create GUID ->
Registry Format -> Copy. Proč je toto nutné udělat? Protože, kdyby
zde zůstala hvězdička, GUID by se s každým novým buildem (novou tvorbou)
změnilo a to je nežádoucí, pokud chcete v budoucnu provádět aktualizace
vaší aplikace.
GUID můžete v projektu použít se složenými závorkami i bez nich - fungovat bude obojí.
Name: název aplikace
Language: seznam jazykových ID, které bude balíček podporovat
Version: verze vaší aplikace
Manufacturer: Výrobce - což jste vlastně vy
UpgradeCode: jedinečné GUID, které vám bude sloužit až budete vytvářet minor verze aplikace
Package: informace o instalačním balíčku
InstallerVersion: specifikujte jaká práva musí mít uživatel, aby mohl aplikaci nainstalovat
Compressed: nastavte na "yes", pakliže chcete mít kompripované soubory ve zdroji
InstallScope: definice, jestli se bude aplikace instalovat pro všechny uživatele nebo jen pod daného uživatele
Dokumentaci k sekci naleznete přímo
zde.
MediaTemplete: zde dodejte ještě toto
EmbedCab='yes' Tím říkáte, že instalační soubor bude pouze jeden, tzn. všechny soubory se schovají do jednoho msi.
Výsledek bude vypadat takto
<MediaTemplate EmbedCab="yes" />
Tímto to samozřejmě nekončí. Příště si ukážeme, jak přidat do instalátoru soubory a provést build aplikace.
Zdroje
Nick Ramirez - Wix: A Developer's Guide to Windows Installer XML
- vynikající kniha pro každého, kdo chce s Wixem začít pracovat.
Najdete zde opravdu hodně praktických informací, příkladů a vysvětlení.
wixtoolset.org - ocifiální web na kterém najdete i průvodce vytvořením instalace. Podle mě není ale tak dobrý jako uvedená kniha.