| | 246 | De WiX tools werken vanaf een of meer XML bestanden (`.wxs`) als een compiler chain: `.wxs` wordt eerst gecompileerd naar een object-file (`.wixobj`) en dan worden een of meer object-files samengevoegd tot een MSI installer. |
| | 247 | |
| | 248 | De toolset raadt zelf aan om de XML bestanden met de hand te schrijven. Een deel daarvan is nodig, maar voor zoiets als de Python runtime is het ondoenlijk. Er zijn ook tools om uit een geinstalleerde mappen-structuur een `.wxs` te genereren. Het diagram laat zien hoe het (schematisch) werkt. |
| | 249 | |
| | 250 | [[Image(wixtools.png, align=center, class=inline)]] |
| | 251 | |
| | 252 | Het `starterkit.py` script gebruikt `heat.exe` om voor de OpenAC sources en voor de Python runtime een `.wxs` te maken, en compileert die; ook de handgeschreven `starterkit.wxs` wordt gecompileerd, en het geheel samengevoegd tot een installer. |
| | 253 | |
| | 254 | Er staat versie-informatie in `starterkit.wxs`. In het bijzonder is het '''absoluut noodzakelijk''' om een nieuwe upgrade-code (regel 5) te maken als je een nieuwe installer maakt (niet vergeten om die nieuwe UUID te committen!) omdat je anders geen upgrade pad hebt en je eerst OpenAC moet deinstalleren voordat je de MSI kunt installeren. |
| | 255 | |
| | 256 | Het uitgeven van nieuwe MSI installers is dus een zwaardere, en duurdere, operatie dan de starterkit executable. |
| | 257 | |