Startējiet ātrākas programmas, kas instalētas, izmantojot Ngen.exe

Lapas izveides datums :

vide

Visual Studio
  • Visual Studio kopiena 2017
  • Visual Studio kopiena 2019
WiX rīkukopa
3.11.2

※ Tas darbojas citās versijās, bet tas nav apstiprināts

Sākumā

Lietojumprogramma .NET Framework izveido un instalē vietējos attēlus, izmantojot Ngen.exe. Jūs varat paātrināt startēšanu un izpildi.

Tomēr, lai izveidotu vietējo attēlu, ir jāizmanto Ngen.exe vidē, kurā palaižat lietojumprogrammu. Nevar izplatīt iepriekš attēlotu attēlu. Tāpēc, vai vēlaties, lai lietotāji palaistu Ngen.exe manuāli? Tas ir jāpalaiž uzstādīšanas laikā.

Šajā sadaļā aprakstītas darbības, kas jāveic Ngen.exe mērķa exe vai dll WiX iestatījumos instalēšanas laikā.

Ņemiet vērā, ka Ngen.exe ir derīga tikai .NET Framework lietojumprogrammām un sākotnēji ir vietējā montāža. Nav jēgas to izmantot .NET Core lietojumprogrammām.

Sagatavošanās iepriekš

  • Pieņemsim, ka esat izveidojis instalētāju ar WiX.

Pievienot bibliotēkas atsauci

Pievienojiet savai atsaucei WixNetFxExtension.dll. Mapes ceļš ir C:\Program Files (x86)\WiX Toolset v3.11\bin.

image

image

image

Rediģēt Product.wxs

Pievienojiet iestatījumus failiem, kas darbojas Ngen.exe.

Wix/@xmlns

Pievienojiet NetFxExtension nosaukumvietu.

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
		 xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">

Parametru pievienošana komponentiem (failiem), kas veido vietējos attēlus

Pievienot netfx:NativeImage mērķa faila bērnelementiem.

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

Ja exe vai dll attiecas uz (atkarīgs) no citiem dll Ngen rakstura dēļ.exe, varat norādīt tikai exe vai dll, no kura vēlaties atsaukties uz to. Piemēram, ja A.exe attiecas uz B.dll, iestatījums NativeImage uz A.exe automātiski attiecas tikai uz B.dll.

Tomēr, ja A.exe dinamiski ielādē B.dll izmantojot Assembly.Load un tamlīdzīgi pēc izpildes, B.dll nav atkarība. Izmantojot Ngen.exe A.exe nekomubē B.dll. Šajā gadījumā iestatiet nativeImage arī uz B.dll.

@Id

Vietējā attēla identifikācijas nosaukums. Nepārklājiet citus D.

@Platform

Norādiet "32bit", "64bit" vai "all". Mainiet iestatījumus 32bit vai 64bit vietā lietojumprogrammai, kuru instalējat. Visi izveido abus vietējos attēlus, tāpēc norādiet bibliotēkas, kas pārslēdzas atbilstoši izpildes stāvoklim, piemēram, "Jebkurš centrālais procesors".

@Priority

Kad palaist Ngen.exe instalēšanas laikā. Jūs varat norādīt 0-3, bet, lai iegūtu vairāk informācijas, lūdzu, skatiet oficiālajā tīmekļa vietnē.

Kopsavilkuma

Pēc instalēšanas programmas izveides jūs varat redzēt, ka, ja instalēšana neizdodas, montāžas mapē tiek izveidots un reģistrēts vietējais attēls.

image