MSI už existuje nějakou dobu, nicméně až v poslední době se s ním začíná pracovat čím dál více.
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.
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.
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.
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
Tímto to samozřejmě nekončí. Příště si ukážeme, jak přidat do instalátoru soubory a provést build aplikace.
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.
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.