Indítsa el a gyorsabb telepített programokat az Ngen használatával.exe
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.
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.