Delen via


Bootstrapper-pakketten maken

Het installatieprogramma is een algemeen installatieprogramma dat kan worden geconfigureerd voor het detecteren en installeren van herdistribueerbare onderdelen zoals Windows Installer -bestanden (.msi) en uitvoerbare programma's. Het installatieprogramma wordt ook wel bootstrapper genoemd. Het wordt geprogrammeerd via een set XML-manifesten die de metagegevens opgeven voor het beheren van de installatie van het onderdeel. Elk herdistribueerbaar onderdeel of elke vereiste die wordt weergegeven in het dialoogvenster Vereisten voor ClickOnce is een bootstrapper-pakket. Een bootstrapper-pakket is een groep mappen en bestanden die manifestbestanden bevatten die beschrijven hoe de vereiste moet worden geïnstalleerd.

De bootstrapper detecteert eerst of een van de vereisten al is geïnstalleerd. Als de vereisten niet zijn geïnstalleerd, toont de bootstrapper eerst de licentieovereenkomsten. Ten tweede, nadat de eindgebruiker de licentieovereenkomsten heeft geaccepteerd, begint de installatie voor de vereisten. Anders, als alle vereisten worden gedetecteerd, start de bootstrapper gewoon het installatieprogramma van de toepassing.

Aangepaste bootstrapper-pakketten maken

U kunt de bootstrapper-manifesten genereren met behulp van de XML-editor in Visual Studio. Zie Walkthrough voor een voorbeeld van het maken van een bootstrapper-pakket: Een aangepaste bootstrapper maken met een privacyprompt.

Als u een bootstrapper-pakket wilt maken, moet u een productmanifest maken en, voor elke gelokaliseerde versie van een onderdeel, ook een pakketmanifest.

  • Het productmanifest, product.xml, bevat alle taalneutrale metagegevens voor het pakket. Dit bevat metagegevens die gebruikelijk zijn voor alle gelokaliseerde versies van het herdistribueerbare onderdeel. Raadpleeg Hoe een productmanifest te maken om dit bestand te maken.

  • Het pakketmanifest, package.xml, bevat taalspecifieke metagegevens; het bevat meestal gelokaliseerde foutberichten. Een onderdeel moet ten minste één pakketmanifest hebben voor elke gelokaliseerde versie van dat onderdeel. Zie Hoe maakt u een pakketmanifest voor instructies over het maken van dit bestand.

Nadat deze bestanden zijn gemaakt, plaatst u het manifestbestand van het product in een map met de naam voor de aangepaste bootstrapper. Het pakketmanifestbestand gaat in een map met de naam van de taalinstelling. Als het pakketmanifestbestand bijvoorbeeld voor Engelse herdistributie is, plaatst u het bestand in een map met de naam en. Herhaal dit proces voor elke taalinstelling, zoals 'ja' voor Japans en 'de' voor Duits. Het uiteindelijke aangepaste bootstrapper-pakket kan de volgende mapstructuur hebben.

CustomBootstrapperPackage
  product.xml
  CustomBootstrapper.msi
  de
    eula.rtf
    package.xml
  en
    eula.rtf
    package.xml
  ja
    eula.rtf
    package.xml

Kopieer vervolgens de herdistribueerbare bestanden naar de locatie van de bootstrapper-map. Zie Hoe een gelokaliseerd bootstrapperpakket te maken voor meer informatie.

*\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages*

of

*<VS Install Path>\MSBuild\Microsoft\VisualStudio\BootstrapperPackages*

Opmerking

Het bovenstaande pad onder het installatiepad van Visual Studio werkt vanaf de release van Visual Studio 2019 Update 7.

U kunt ook de locatie van de bootstrapper-map vinden vanuit de padwaarde in de volgende registersleutel:

*HKLM\Software\Microsoft\GenericBootstrapper*

Gebruik op 64-bits systemen de volgende registersleutel:

*HKLM\Software\Wow6432Node\Microsoft\GenericBootstrapper*

Elk herdistribueerbaar onderdeel wordt weergegeven in een eigen submap onder de map pakketten. Het productmanifest en de herdistribueerbare bestanden moeten in deze submap worden geplaatst. Gelokaliseerde versies van het onderdeel en pakketmanifesten moeten worden geplaatst in submappen met de naam Cultuurnaam.

Nadat deze bestanden zijn gekopieerd naar de map bootstrapper, wordt het bootstrapper-pakket automatisch weergegeven in het dialoogvenster Vereisten voor Visual Studio. Als uw aangepaste bootstrapper-pakket niet wordt weergegeven, sluit u het dialoogvenster Vereisten en opent u het opnieuw. Zie het dialoogvenster Vereisten voor meer informatie.

In de volgende tabel ziet u de eigenschappen die automatisch worden ingevuld door de bootstrapper.

Vastgoed Beschrijving
Applicatienaam De naam van de toepassing.
Processorarchitectuur De processor en bits per woord van het platform waarvoor uitvoerbare code is bedoeld. De waarden omvatten het volgende:

-Intel
- IA64
- AMD64
VersionNT Het versienummer voor de Windows-besturingssystemen. De syntaxis van de versie is Major.Minor.ServicePack.
VersionMSI De versie van de Windows Installer-assembly (msi.dll) die tijdens de installatie moet worden uitgevoerd.
AdminUser Deze eigenschap wordt ingesteld als de gebruiker beheerdersbevoegdheden heeft. Waarden zijn waar of onwaar.
Installatiemodus De installatiemodus geeft aan waar het onderdeel moet worden geïnstalleerd. De waarden omvatten het volgende:

- HomeSite - vereisten worden geïnstalleerd vanaf de website van de leverancier.
- SpecificSite - vereisten worden geïnstalleerd vanaf de locatie die u selecteert.
- SameSite : vereisten worden geïnstalleerd vanaf dezelfde locatie als de toepassing.

Herdistribueerbaars van toepassingsinstallaties scheiden

U kunt voorkomen dat uw herdistribueerbare bestanden worden geïmplementeerd in Setup-projecten. Hiervoor maakt u een herdistribueerbare lijst in de map RedistList in uw .NET Framework-map:

%ProgramFiles%\Microsoft.NET\RedistList

De herdistribueerbare lijst is een XML-bestand dat u een naam moet opgeven met de volgende indeling: <Bedrijfsnaam>.<Onderdeelnaam>.RedistList.xml. Als het onderdeel bijvoorbeeld DataWidgets wordt genoemd die door Acme zijn gemaakt, gebruikt u Acme.DataWidgets.RedistList.xml. Een voorbeeld van de inhoud van de herdistribueerbare lijst kan er als volgt uitzien:

<?xml version="1.0" encoding="UTF-8"?>
<FileList Redist="Acme.DataWidgets" >
<File AssemblyName="Acme.DataGrid" Version="1.0.0.0" PublicKeyToken="b03f5f7f11d50a3a" Culture="neutral" ProcessorArchitecture="MSIL" InGAC="true" />
</FileList>