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: