Indítsa el a gyorsabb telepített programokat az Ngen használatával.exe

Oldal létrehozásának dátuma :

környezet

Visual Studio
  • Visual Studio Közösség 2017
  • Visual Studio Közösség 2019
WiX eszközkészlet
3.11.2

※ Más verziókban is működik, de meg nem erősített

Először

A .NET Framework alkalmazás natív lemezképeket hoz létre és telepít az Ngen.exe használatával. Felgyorsíthatja az indítást és a végrehajtást.

Natív lemezkép létrehozásához azonban ngen.exe kell használnia abban a környezetben, ahol az alkalmazást futtatja. Előre leképeztek nem terjeszthetők. Ezért szeretné, hogy a felhasználók manuálisan futtassák az Ngen.exe? A telepítés során futtatni kell.

Ez a szakasz a Ngen.exe a cél exe vagy dll telepítés közbeni wiX-beállításokban történő végrehajtásának lépéseit ismerteti.

Vegye figyelembe, hogy a Ngen.exe csak .NET Framework alkalmazásokra érvényes, és eredetileg natív összeállítású. Nincs értelme .NET Core alkalmazásokhoz használni.

Előzetes előkészítés

  • Tegyük fel, hogy létrehozott egy telepítőt a WiX-szel.

Tárhivatkozás hozzáadása

Adja hozzá a WixNetFxExtension.dll a hivatkozáshoz. A mappa elérési útja C:\Program Files (x86)\WiX Toolset v3.11\bin.

image

image

image

Product.wxs szerkesztése

Adjon hozzá beállításokat az Ngen.exe futtató fájlokhoz.

Wix/@xmlns

Adja hozzá a NetFxExtension névteret.

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
		 xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">

Paraméterek hozzáadása natív lemezképeket létrehozó összetevőkhöz (fájlokhoz)

A netfx:NativeImage hozzáadása a célfájl gyermekelemeihez.

<Component Win64="yes" Id="OGGVORBISPROJECT.DLL" DiskId="1" Guid="6A1D2FD8-9FA7-40D5-A0EA-356268B3C0B4">
  <File Id="OGGVORBISPROJECT.DLL" Name="OggVorbisProject.dll" Source="LittleSaviorTrial\Dll\OggVorbisProject.dll">
    <netfx:NativeImage Id="NGEN_OGGVORBISPROJECT.DLL" Platform="64bit" Priority="0"/>
  </File>
</Component>

Ha az exe vagy dll más dll-ekre hivatkozik (attól függ) az Ngen.exe jellege miatt, csak azt az exe-t vagy dll-t adhatja meg, amelyről hivatkozni szeretne. Ha például az A.exe B.dll hivatkozik, a NativeImage A értékre való beállítása.exe csak automatikusan vonatkozik a B.dll.

Ha azonban az A.exe dinamikusan betölti a B.dll a Assembly.Load és hasonlók használatával a végrehajtás után, a B.dll nem függőség. Az Ngen.exe használata A.exe nem állítja össze a B.dll. Ebben az esetben állítsa a nativeImage-t B.dll-re is.

@Id

A natív kép azonosító neve. Ne fedje át a többi ed-et.

@Platform

Adja meg a "32bit", a "64bit" vagy az "all" értéket. Módosítsa a beállításokat 32bit vagy 64bit a telepített alkalmazáshoz. Mindegyik létrehozza mindkét natív lemezképet, ezért adja meg azokat a könyvtárakat, amelyek a végrehajtási állapot szerint váltanak, például "Bármely CPU".

@Priority

Mikor kell futtatni az Ngen.exe a telepítés során. Megadhatja a 0-3 értéket, de további információkért kérjük, olvassa el a hivatalos weboldalt.

Összefoglalás

A telepítő létrehozása után láthatja, hogy ha a telepítés sikeres, egy natív lemezkép jön létre és regisztrálódik az összeállítási mappában.

image