Spustite rýchlejšie programy nainštalované pomocou Ngen.exe

Dátum vytvorenia strany :

ž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.

image

image

image

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.

image