Start hurtigere programmer installeret ved hjælp af Ngen.exe
miljø
- Visual Studio
-
- Visual Studio Community 2017
- Visual Studio Community 2019
- WiX-værktøjssæt
- 3.11.2
※ Det virker i andre versioner, men det er ubekræftet
Først
.NET Framework-programmet opretter og installerer indbyggede billeder ved hjælp af Ngen.exe. Du kan fremskynde start og udførelse.
Men for at oprette et oprindeligt billede skal du bruge Ngen.exe i det miljø, hvor du kører programmet. Du kan ikke distribuere et billede, der er afbildet på forhånd. Derfor vil du have brugerne til at køre Ngen.exe manuelt? Den skal køres under installationen.
I dette afsnit beskrives trinnene til at udføre Ngen.exe på destinationseksen eller dll-filen i wiX-indstillinger under installationen.
Bemærk, at Ngen.exe kun er gyldig for .NET Framework-programmer og oprindeligt er oprindelig oprindelig assembly. Der er ingen mening i at bruge det til .NET Core-programmer.
Forberedelse på forhånd
- Antag, at du har oprettet et installationsprogram med WiX.
Tilføj biblioteksreference
Føj WixNetFxExtension.dll til din reference. Mappestien er C:\Programmer (x86)\WiX Toolset v3.11\bin.
Rediger Product.wxs
Føj indstillinger til filer, der kører Ngen.exe.
Wix/@xmlns
Tilføj navneområdet 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">
Føje parametre til komponenter (filer), der opretter oprindelige billeder
Føj netfx:NativeImage til de underordnede elementer i destinationsfilen.
<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>
Hvis exe eller dll refererer til (afhænger) af andre dll-dll-fils på grund af Ngens art.exe, kan du kun angive den exe eller dll- fil, du vil referere til den fra. Hvis A.exe f.eks. henviser til B.dll, gælder indstilling af NativeImage til A.exe kun automatisk for B.dll.
Men hvis A.exe dynamisk indlæser B.dll ved hjælp af Assembly.Load og lignende efter udførelse, er B.dll ikke en afhængighed. Brug af Ngen.exe til A.exe kompilerer ikke B.dll. I dette tilfælde skal du også indstille nativeImage til B.dll.
@Id
Identifikationsnavnet på det oprindelige billede. Du må ikke overlappe andre id'er.
@Platform
Angiv enten "32bit", "64bit" eller "all". Skift indstillingerne ved 32bit eller 64bit for det program, du installerer. Alle opretter begge indbyggede billeder, så angiv biblioteker, der skifter i henhold til udførelsestilstanden, f.eks.
@Priority
Hvornår skal ngen.exe under installationen. Du kan angive 0-3, men for mere information, henvises til den officielle hjemmeside.
Resumé
Når du har oprettet installationsprogrammet, kan du se, at hvis installationen lykkes, oprettes og registreres en oprindelig afbildning i montagemappen.