Spustite rýchlejšie programy nainštalované pomocou Ngen.exe
životné prostredie
- Vizuálne štúdio
-
- Komunita vizuálnych štúdií 2017
- Komunita vizuálnych štúdií 2019
- Súprava nástrojov WiX
- 3.11.2
※ Funguje v iných verziách, ale je nepotvrdený
Najskôr
Aplikácia .NET Framework vytvára a inštaluje natívne obrázky pomocou Ngen.exe. Môžete urýchliť spustenie a spustenie.
Ak však chcete vytvoriť natívny obrázok, musíte použiť Ngen.exe v prostredí, v ktorom aplikáciu spúšťate. Obrázok s pred obrázkom nie je možné distribuovať. Chcete, aby používatelia spúšťali Ngen.exe manuálne? Musí byť spustený počas inštalácie.
Táto časť popisuje kroky na vykonanie Ngen.exe na cieľovom exe alebo dll v nastaveniach wiX počas inštalácie.
Všimnite si, že Ngen.exe je platný len pre aplikácie .NET Framework a je pôvodne natívna zostava. Nemá zmysel ho používať pre aplikácie .NET Core.
Príprava vopred
- Predpokladajme, že ste vytvorili inštalátor s WiX.
Pridanie odkazu na knižnicu
Pridajte WixNetFxExtension.dll do odkazu. Cesta k priečinku je C:\Program Files (x86)\WiX Toolset v3.11\bin.
Upraviť product.wxs
Pridajte nastavenia do súborov, ktoré spúšťajú Ngen.exe.
Wix/@xmlns
Pridajte priestor názvov NetFxExtension.
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
Pridanie parametrov do súčastí (súborov), ktoré vytvárajú natívne obrázky
Pridať netfx:NativeImage do podradených prvkov cieľového súboru.
<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>
Ak exe alebo dll odkazujú na (závisí) od iných dll z dôvodu povahy Ngen.exe, môžete zadať iba exe alebo dll, z ktorých chcete odkazovať na. Ak napríklad A.exe odkazuje na B.dll, nastavenie NativeImage na A.exe sa automaticky vzťahuje len na B.dll.
Ak však A.exe dynamicky načíta B.dll pomocou assembly.load a podobne po vykonaní, B.dll nie je závislosť. Použitie Ngen.exe pre A.exe nekomiluje B.dll. V tomto prípade nastavte natívneImage na B.dll tiež.
@Id
Identifikačný názov natívneho obrázka. Neprekrývajte ostatné ID.
@Platform
Zadajte buď "32bit", "64bit" alebo "všetko". Zmeňte nastavenia na 32bit alebo 64bit pre aplikáciu, ktorú inštalujete. Všetky vytvárajú oba natívne obrázky, takže zadajte knižnice, ktoré sa prepínajú podľa stavu vykonávania, ako je napríklad "Akýkoľvek PROCESOR".
@Priority
Kedy spustiť Ngen.exe počas inštalácie. Môžete zadať 0-3, ale pre viac informácií, prosím, nájdete na oficiálnych stránkach.
Súhrn
Po vytvorení inštalátora môžete vidieť, že ak inštalácia uspeje, natívny obrázok sa vytvorí a zaregistruje v priečinku zostavy.