Vállalati alkalmazások testreszabása módosítási csomagokkal

Az alkalmazások felhasználói élményének testreszabása fontos, különösen a nagyvállalatok számára. Beszéltünk az informatikai szakemberekkel, és tudjuk, hogy az alkalmazások testreszabása a felhasználói igényeknek megfelelően elengedhetetlen a Windows 10-be való áttéréshez. Az MSI-vel csomagolt alkalmazások testreszabásakor jól érthető, hogy az informatikai szakembereknek be kell szerezniük a csomagot a fejlesztőktől, és újra kell csomagolniuk a telepítőt az igényeiknek megfelelő testreszabással. Ez költséges munka a vállalatok számára. A jövőben el szeretnénk választani a testreszabást és a fő alkalmazást, hogy többé ne legyen szükség újracsomagolásra. Ez biztosítja, hogy a vállalatok megkapják a legújabb frissítéseket a fejlesztőktől, miközben továbbra is felügyelik a testreszabásukat.

A Windows 10 1809-es verziójában bevezettünk egy új típusú MSIX-csomagot , úgynevezett módosítási csomagot. A módosítási csomagok a testreszabásokat tároló MSIX-csomagok. A módosítási csomagok lehetnek olyan beépülő modulok/bővítmények is, amelyek nem rendelkeznek aktiválási ponttal. Az informatikai szakemberek ezzel a funkcióval rugalmasan úgy alakíthatják az MSIX-tárolókat, hogy az alkalmazásokat a vállalat testreszabásai felülírják.

Hogyan működik?

A módosítási csomagokat olyan vállalatok számára tervezték, amelyek nem az alkalmazás kódját birtokolják, és csak a telepítőjük van. A módosítási csomagokat az MSIX csomagolóeszköz legújabb verziójával hozhatja létre (Windows 10 1809-es vagy újabb verziókhoz). Ha rendelkezik az alkalmazás kóddal, létrehozhat egy alkalmazásbővítményt is.

Ha olyan módosítási csomagot szeretne létrehozni, amely szigorúan kötődik a fő alkalmazáshoz, deklarálhatja a fő alkalmazást függőségként a módosítási csomag jegyzékében.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
    <uap4:MainPackageDependency Name="Main.App"/>
</Dependencies>

Az alábbi példa egy másik tanúsítvány vagy közzétevő megadását mutatja be.

<Dependencies>
    <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.15063.0"/>
    <uap4:MainPackageDependency Name="Main.App" Publisher="CN=Contoso, C=US" />
</Dependencies>

Ez egy egyszerű konfiguráció, ha a módosítási csomag és a fő csomag közötti kapcsolat egy az egyhez. A tipikus testreszabásokhoz gyakran szükség van beállításkulcsokra HKEY_CURRENT_USER vagy HKEY_CURRENT_USERCLASS alatt. Az MSIX-csomagban User.dat és Userclass.dat fájlok találhatók a beállításkulcsok rögzítéséhez. Létre kell hoznia User.dat, ha a HKCU\Software* területen beállításkulcsokra van szüksége (ahogyan a HKLM\Software* Registry.dat is használja). Használja a Userclass.dat, ha kulcsokra van szüksége a HKCU\Sofware\Classes* területen.

A .dat fájlok létrehozásának tipikus módjai a következők:

  • Fájl létrehozása a Regedit használatával. Hozzon létre egy hive-t a Regeditben, és szúrja be a szükséges kulcsokat. Kattintson a jobb gombbal, exportálja, majd mentse el hive-fájlként. Ügyeljen arra, hogy a fájl neve User.dat vagy Userclass.dat legyen.

  • Hozzon létre egy API-t a szükséges fájlok létrehozásához. Az ORSaveHive függvénnyel menthet egy .dat fájlt. Győződjön meg arról, hogy a fájl neve vagy User.dat, vagy Userclass.dat.

A szükséges módosítások elvégzése után létrehozhatja a módosítási csomagot, mint bármely más MSIX-csomagot. Ezután üzembe helyezheti a csomagot az aktuális üzembehelyezési beállítással. A fő alkalmazás újraindításakor láthatja a módosítási csomag módosításait. Ha úgy dönt, hogy eltávolítja a módosítási csomagot, a fő alkalmazás a módosítási csomag nélkül visszaáll egy állapotra.

Megtudhatja, hogy milyen módosító csomagok vannak telepítve az eszközön

A PowerShell használatával a telepített módosítási csomagokat az alábbi paranccsal tekintheti meg.

Get-AppPackage -PackageTypeFilter Optional

Módosítási csomagok a Windows 10 1809-es verzióján

A Windows 10 1809-es verziójában a módosítási csomagok tartalmazhatnak olyan konfigurációkat, amelyeket be kell állítani a beállításjegyzékben, hogy a fő csomag a várt módon fusson. Ez azt jelenti, hogy a fő alkalmazás a beállításjegyzék használatával tekinti meg, hogy létezik-e beépülő modul. A fő csomag és a módosítási csomag üzembe helyezésekor az alkalmazás futásidőben a főcsomag és a módosítási csomag virtuális beállításjegyzékét (VREG) is megtekinti.

Vegye figyelembe, hogy előfordulhat, hogy a fő csomag a VREG használatával hajtja végre a következő műveleteket:

  • A beépülő modul fájljának (DLL) betöltésének helye. Ha ez a helyzet, győződjön meg arról, hogy a fájl a csomag része. Ezzel a fő csomag futásidőben hozzáférhet a fájlhoz.
  • Hol lehet megtekinteni a VREG-kulcsok értékét? Előfordulhat, hogy a fő csomag egy értéket keres a VREG-ben. Ha kézzel vagy eszközünkkel hozza létre a módosítási csomagot, győződjön meg arról, hogy az érték helyes.

Módosító csomagok a Windows 10 1903-es és újabb verzióiban

A következő funkciók lettek hozzáadva a Windows 10 1903-es verziójához.

Jegyzék frissítése

A következő elem támogatását hozzáadtuk az MSIX-módosítási csomag jegyzékéhez.

<Properties>
   <rescap6:ModificationPackage>true</rescap6:ModificationPackage>
</Properties>

Annak érdekében, hogy a módosító csomagok az 1903-es vagy újabb verzióban működjenek, a módosítási csomag jegyzékfájljának tartalmaznia kell ezt az elemet. Ez akkor történik meg, ha az MSIX-módosítási csomagot az MSIX csomagolóeszköz januári kiadásával csomagolja be. Ha a kiadás előtt az eszközünkkel konvertált egy csomagot, szerkesztheti a meglévő csomagot az eszközünkben, hogy hozzáadja ezt az új elemet. Ezenkívül ha a felhasználók telepítik a módosítási csomagot, a rendszer figyelmezteti őket, hogy a csomag módosíthatja a fő alkalmazást.

Ha az 1903-at megelőzően létrehozott módosítási csomagot használ, szükséges szerkeszteni a csomagjegyzéket úgy, hogy a MaxVersionTested attribútum legyen frissítve 10.0.18362.0-ra.

<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="10.0.18362.0" />

Módosítási csomag létrehozása az MSIX csomagolóeszköz használatával

Módosítási csomagot az MSIX csomagolóeszközzel hozhat létre:

  • Adja meg a fő csomagot. Győződjön meg arról, hogy a főcsomag MSIX-verziója elérhető a konvertálni kívánt gépen. Ha nem, akkor kérjük, hogy manuálisan adja meg a közzétevő és a fő alkalmazás adatait. Bizonyos testreszabási műveletekhez a fő alkalmazásnak telepítve kell lennie a gépen. Módosítási csomag MPT

  • Módosítsa a csomagot a csomagszerkesztővel, miután az átalakításon ment keresztül. Előfordulhat, hogy a fő csomag megköveteli, hogy a módosítási csomag bizonyos értékekkel rendelkezzen a VREG-ben. Ez az a szakasz, ahová a csomagot megfelelően szerkesztheti.

Módosítási csomag létrehozása MakeAppx.exe

A módosítási csomagot manuálisan is létrehozhatja a Windows 10 SDK-ban találhatóMakeAppX.exe eszközzel.

  • A jegyzékben adja meg a fő csomagot. Adja meg a közzétevőt és a fő csomag nevét.

    <Dependencies>
      <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17701.0" MaxVersionTested="12.0.0.0"/>
      <uap4:MainPackageDependency Name="HeadTrax" Publisher="CN=Contoso Software, O=Contoso Corporation, C=US" />
    </Dependencies>
    
  • Hozzon létre Registry.dat, User.dat és Userclass.dat a módosítási csomag betöltéséhez szükséges beállításkulcsok létrehozásához. Ez csak akkor szükséges, ha a fő alkalmazásra van szüksége az egyéni beállításkulcsok megtekintéséhez. Ne feledje, hogy mivel minden egy tárolóban fut, futásidőben a fő csomag és a módosítási csomag virtuális beállításjegyzéke egyesül, így a fő csomag megtekintheti a módosítási csomagok virtuális beállításjegyzékét.

Ez a folyamat támogatja a fájlrendszer beépülő moduljait és testreszabásait is, amennyiben a fő alkalmazás végrehajthatósága nem virtuális fájlrendszerben (VFS) található. Ez annak biztosítása, hogy a fő csomag megkapja a fő csomag és a módosítási csomag összes VFS-ét.

Módosítási csomagok telepítése a gépen

A módosítási csomagok gépre való telepítése más telepítési konvenciók szerint történik. Érdemes megjegyezni, hogy a - OptionalPackagePath paramétert érdemes használni a csomag telepítésekor.

Ütközésfeloldás

Ha több módosítási csomag is megkísérli ugyanazt az értéket módosítani, az ütközést a módosító csomagok nevének betűrendje alapján oldjuk fel.