Wix faq
Általános kérdések
Mi a WiX?
A Windows Installer XML (WiX) egy olyan nyílt forráskódú eszköz, amely lehetővé teszi a csomagok összegyűjtését a Windows Installer formátumból az XML-leírásokból.
A WiX a Microsoft első terméke, amely a SourceForge webhelyén kezdett kifejleszteni és a CPL nyílt licenc alatt terjeszteni (két másik később a Windows Template Library és a FlexWiki lett).
A WiX számos konzol segédprogramot tartalmaz:
- gyertya előfeldolgozó / fordító
- fénykapcsoló
- lit - könyvtár menedzsment
- sötét - decompiler
- faggyú - segédprogram az automatikus kód generálásához
Hol találok információt a WiX-ről?
Miért nem a WiX használata helyett ...?
Hol lehet letölteni a WiX legújabb verzióját?
A WiX kiadások a SourceForge-on elérhetők: WiX 2.0 + Votive2. WiX 3.0 + Votive 3. Ezenkívül a WiX fejlesztői megfelelnek a heti kiadások gyakorlatának.
Részt vehetek a fejlesztésben?
IGEN! Csak alá kell írnia egy megállapodást. Ezután frissítéseket és javításokat küldhet a [email protected] címre.
A WiX telepítése?
Először telepítse a .NET-keretrendszer 1.1-et és SP1-et. A WiX eszközök a .NET alatt dolgoznak, és SP1 nélkül véletlenszerű hibákat tapasztalhatnak a nagy XML-fájlok feldolgozásakor. A .NET-keretrendszer csak a WiX segédprogramok működéséhez szükséges; Egy kész telepítőcsomag nem igényli a .NET jelenlétét a célgépen.
Telepítéskor a WiX nem igényel speciális beállításokat - elegendő telepíteni a .zip archívumot bármely mappába.
Ahhoz szerkesztésekor .wix-fájl a Visual Studio dolgozott az IntelliSense, akkor el kell helyeznie XML-sémát Wix (wix.xsd, wixloc.xsd) a megfelelő mappába:
Hogyan működik a WiX projekt közvetlenül a Visual Studio?
Ezt a Votive-ot tervezték.
A Votive egy bővítmény (bővítmény) a Visual Studio programhoz. Lehetővé teszi a "WiX-projektek" létrehozását, amelyek a megoldásban szerepelhetnek, és amelyek pontosan úgy működnek, mint bármely más típusú projekt. Valamennyi WiX-eszköz a Votive-ban található, ezért nem kell külön telepíteni a WiX-et - előfordulhat, hogy csak a telepítő automatikusan telepítésre lesz szüksége.
Van egy egyszerű módja a telepítői felület (UI) rajzolásához?
Számos olyan projekt létezik, amely a telepítő képernyők WYSIWYG szerkesztését kínálja:
Hogyan kaphatok új GUID-t?
A WiX-t a GUID-értékek különböző objektumok, például termék vagy összetevő azonosítójaként használják, és a WiX feltételezi, hogy a kívánt értékeket az XML-fájlban adja meg. A generál az értékeket használhatja segédprogramok, mint például uuidgen vagy guidgen (VS - irányító eszközök | létrehozása GUID), de biztos, hogy használja a nagybetűs karaktereket, és az értéket nem zárójelek.
A Visual Studio alkalmazásban egyszerű makrót használhat. amelyhez billentyűkombinációt rendelhet, vagy használhatja a GUIDGen.NET szolgáltatást.
Hogyan módosíthatom a termék ikonját, amely látható a Programok telepítése és törlése listában?
Adja meg a kívánt ikon azonosítóját az ARPPRODUCTICON tulajdonságban. Például:
Hogyan lehet automatikusan hozzáadni az összes fájlt a megadott mappából a telepítőhöz?
Elméletileg nincs ilyen lehetőség.
faggyú segédprogram lehetővé teszi, hogy átvizsgálja a könyvtárba, és ezáltal alkatrészek minden fájlt talált, de a kapott forráskód csak akkor kell használni, mint az eredeti változat a kézi finomhangolás, de nem mint egy bemeneti automatizált fordítási folyamat - minden, ami alkalmas az automatizált összeszerelési továbbítani kell a gyertya, de nem faggyúban.
Van egy malacszerszám. lehetővé teszi, hogy automatikusan összegyűjti a fájlokat a könyvtárba, és alkönyvtárak, valamint generáló elemek és címkék Directory, amely lehetővé teszi, hogy csatlakoztassa a kapott fájlt úgy, hogy az egész részfa könyvtárak és fájlok szerepelni fog a telepítő csomagot telepíteni és ugyanazon részfa a megadott mappába.
Hogyan lehet regisztrálni a COM DLL-t?
Az ajánlott módszer az, hogy összegyűjtse az összes regisztrációs adatot, és tartalmazza ezt a DLL-t Component tagként TypeLib, Class, Interface, ProgID stb. és végső esetben a nyilvántartó címkéje. A kezdeti anyagként használhatja a segédprogram fűzőjének eredményét (akár javított faggyú, akár wixtlib a típuskönyvtárakhoz). Például:
Ha a DLL önregisztrálást igényel, adja meg a Fájlcímke SelfRegCost attribútumát:
De tartsd észben, hogy az önregisztráció használata rendkívül elutasított. mert aláássa a Windows Installer azon képességét, hogy kezelje a regisztrációs adatok telepítését.
A .NET-assembly telepítése a GAC-ban?
Állítsa be a Fájl címkét a Közgyűlés és a AssemblyManifest attribútumokhoz, de ne adja meg a AssemblyApplication attribútumot. Például:
Ez a telepítés csak a "commit" fázisig kerül telepítésre, így előtte nem lehet egyedi műveletekben használni.
Ha meggondolja magát, és eldönti, hogy nem veszi fel a gyülekezetet a GAC-ban, állítsa a AssemblyApplication attribútumot a AssemblyManifest attribútummal megegyező értékre.
Hogyan ellenőrizhető a szükséges rendszerösszetevők (előfeltételek) telepítése?
Az alapötlet az, hogy ellenőrizze a tulajdonságot, amely az összetevő és a verzió elérhetőségétől függően eltérő. Készíthet egy feltételt a telepítés megkezdéséhez a Termékek címkén belüli elhelyezésekor, például:
Az operációs rendszer verziójának ellenőrzéséhez használhatja az előre definiált tulajdonságokat - például a VersionNT vagy a Version 9X verziót, hogy tesztelje a .NET-keretrendszer verzióját - MsiNetAssemblySupport.
Az MSI-ből telepített komponensek kereséséhez használhatja a ComponentSearch címke GUID keresését. Egy Windows-összetevő, például az IIS esetében előfordulhat, hogy a rendszerleíró adatbázist kell keresnie, például:
Az .MSI csomag telepítése előtt automatikusan telepíteni kell <системный компонент …>. Hogyan kell ezt csinálni?
. A probléma a telepítés és frissítés a rendszer elemek (előfeltételek), mint például a .NET-keretrendszer, az MDAC MSDE stb megoldódott felhasználásával-bootstrapper programot, amelynek feladata -, hogy létrehozza és frissíti az összes szükséges komponenst, majd indítsa el elvégezni a .MSI-csomagot.
Számos ilyen program létezik:
Mikor kell módosítanom a termékkódot, csomagkódot stb.?
Három fontos GUID van, amelyek meghatározzák a telepítési csomagot, és amelyek különösen fontosak a termékfrissítések szempontjából:
- A csomagkód (csomagkód) általában minden egyes .msi fájl számára sajátnak kell lennie
- a termékkód azonosítja a csomagok egy csoportját, amelyből csak egyszer telepíthetők. Például két csomag esetében ugyanaz a termékkód lehet, ha lokalizációkat tartalmaznak különböző nyelveken. Ha azt szeretnénk, hogy a felhasználók frissíteni az egyik változata a másikra anélkül, hogy szükségszerűen eltávolítani (az úgynevezett nagy frissítés), akkor minden kell saját verzióját a termék kódját, így általában az új kiadás egy új verziószámot az alapja változtatásokat a termék kódját.
- A frissítési kód egy csomagcsoportot azonosít, amelyek mindegyike frissíthető egy új termékre. Normális, frissítése a kód ugyanaz az összes változat, hogy nem lehet telepíteni egyszerre (side-by-side), ezáltal lehetővé téve régebbi verziói annak meghatározására, hogy újabb és megtagadják telepíteni egy időben, valamint az új változat annak megállapítására, hogy az idősebb, és automatikusan frissítse őket.
Hogyan bővíthetem a WiX funkcióit?
lokalizáció
Hogyan szerezhető be az MSI-csomag oroszul?
DEAK JAHN Gábor irányítása alatt van egy úgynevezett. WiX Localization Project. ötvözve az erőforrásokat az összes fontos nyelv lokalizációs fájljainak (.wxl-fájlok) megírásához. A WiX legújabb verzióinak eloszlása 4 nyelvi fájlt tartalmaz (en-US, de-DE, es-ES és nl-NL), bár 9 további nyelvi fájl (beleértve a ru-ru-t is) teljes egészében szerepel.
A lokalizáció a WixUI_en-us.wxl fájlon alapul, a legtöbb üzenet a Windows Installerhez kapcsolódik, ezek fordítása az MSI SDK Intl.zip fájlján alapul. A többi üzenet lefordítása közvetlenül az angol nyelvű fájlból történik.
A "nem hivatalos" lokalizációs fájl WixUI_ru-en.wxl itt vehető meg.
Az orosz termék neve megjelenik.
Először ellenőrizze, hogy a fájl kódolása megegyezik-e a fájl elején megadott kódolással, például: