Inicia programes més ràpids instal·lats mitjançant Ngen.exe

Data de creació de la pàgina :

entorn

Estudi visual
  • Comunitat d'Estudis Visuals 2017
  • Comunitat d'Estudis Visuals 2019
Conjunt d'eines WiX
3.11.2

Funciona en altres versions, però no està confirmat

Al principi

L'aplicació .NET Framework crea i instal·la imatges natives mitjançant .exe Ngen. Podeu accelerar l'inici i l'execució.

No obstant això, per crear una imatge nativa, heu d'utilitzar Ngen.exe en l'entorn on executeu l'aplicació. No podeu distribuir una imatge pre-imatge. Per tant, voleu que els usuaris executin Ngen.exe manualment? S'ha d'executar durant la instal·lació.

Aquesta secció descriu els passos per dur a terme Ngen.exe a l'exe o dll de destinació a la configuració de WiX durant la instal·lació.

Tingueu en compte que el .exe Ngen només és vàlid per a aplicacions .NET Framework i és originalment un assemblat natiu. No té sentit utilitzar-lo per a aplicacions .NET Core.

Preparació prèvia

  • Suposeu que heu creat un instal·lador amb WiX.

Afegeix una referència de biblioteca

Afegiu WixNetFxExtension.dll a la vostra referència. El camí de carpeta és C:\Fitxers de programa (x86)\WiX Toolset v3.11\bin.

image

image

image

Edita Product.wxs

Afegeix la configuració als fitxers que executen el .exe Ngen.

Wix/@xmlns

Afegeix l'espai de noms 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">

Afegir paràmetres als components (fitxers) que creen imatges natives

Afegeix netfx:NativeImage als elements secundaris del fitxer de destinació.

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

Si exe o dll es refereixen a (depèn) d'altres dlls a causa de la naturalesa de Ngen.exe, només podeu especificar l'exe o l'dll des del qual voleu referir-vos. Per exemple, si A.exe es refereix a B.dll, la configuració de NativeImage a A.exe només s'aplica automàticament a B.dll.

Tanmateix, si A.exe carrega dinàmicament B.dll utilitzant Assembly.Load i com després de l'execució, B.dll no és una dependència. L'ús de Ngen.exe per A.exe no compila el B.dll. En aquest cas, establir nativeImage a B.dll també.

@Id

Nom identificatiu de la imatge nativa. No se superposi a altres ID.

@Platform

Especifiqueu "32 bits", "64 bits" o "all". Canvieu la configuració a 32 bits o 64 bits per a l'aplicació que esteu instal·lant. Tot crea les dues imatges natives, de manera que especifiqueu les biblioteques que canvien segons l'estat d'execució, com ara "Qualsevol CPU".

@Priority

Quan s'ha d'executar Ngen.exe durant la instal·lació. Podeu especificar 0-3, però per a més informació, consulteu el lloc web oficial.

Resum

Després de crear l'instal·lador, podeu veure que si la instal·lació té èxit, es crea una imatge nativa i es registra a la carpeta d'assemblat.

image