Delen via


Installatiebronnen beheren

Gebruikers en toepassingen met beheerdersbevoegdheden kunnen informatie over de lijst met netwerk-, URL- en mediabronnen ophalen en wijzigen voor Windows Installer-toepassingen en -patches op het systeem.

Windows Installer 2.0: Niet ondersteund. Beheerders kunnen vermeldingen in de bronlijst niet lezen, opnieuw ordenen of vervangen en kunnen de eigenschappen van de bronlijst niet wijzigen of ophalen. Het is mogelijk netwerkbronnen te beheren, maar niet url- of mediabronnen. Beheerders kunnen alleen bronlijsten beheren voor toepassingen per machine of toepassingen die zijn geïnstalleerd per gebruiker voor de huidige gebruiker. Hiermee voorkomt u dat beheerders versies ouder dan Windows Installer versie 3.0 gebruiken om bronlijstgegevens te beheren voor alle gebruikers in het systeem.

Windows Installer 3.0 en hoger: gebruikers en toepassingen met beheerdersbevoegdheden kunnen informatie over de bronlijst ophalen en wijzigen voor Windows Installer-toepassingen en -patches die zijn geïnstalleerd op het systeem voor alle gebruikers. De bronlijstfuncties kunnen worden gebruikt voor het beheren van bronlijsten en eigenschappen van bronlijsten voor netwerk-, URL- en mediabronnen. Het installatieprogramma kan bronlijsten van een extern proces opnieuw ordenen.

Gebruikers en toepassingen met beheerdersbevoegdheden kunnen de volgende typen bronlijstgegevens lezen en wijzigen:

  • Bronlijsten voor toepassingen en patches die zijn geïnstalleerd voor alle gebruikers op het systeem.
  • Bronlijsten voor patchbronnen die naast de toepassingsbronnen bestaan.
  • Bronlijsten voor URL- en mediabronnen die naast netwerkbronnen bestaan.
  • Eigenschappen van de bronlijst, zoals MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedTypeen PackageName.

De functies voor bronlijsten kunnen het bereik van de bronlijsten beperken door de installatiecontext en gebruikerscontext op te geven. Er zijn drie mogelijke installatiecontexten: per gebruiker (onbeheerd), per machine en per gebruiker beheerd. De gebruikerscontext kan een bepaalde gebruiker of alle gebruikers op het systeem zijn.

Niet-beheerders kunnen de bronlijst van een exemplaar van een toepassing of patch die bestaat onder de context van een andere gebruiker (beheerd of onbeheerd) niet wijzigen. Niet-beheerders kunnen de bronlijsten wijzigen van een exemplaar van een toepassing of patch die onder de volgende contexten is geïnstalleerd:

Beheerders kunnen elke bronlijst wijzigen die een niet-beheerder kan wijzigen. Daarnaast kunnen beheerders en toepassingen met beheerdersbevoegdheden de bronlijsten van een toepassing of patch wijzigen die onder de volgende contexten is geïnstalleerd:

  • Context per machine.
  • Hun eigen per gebruiker (onbeheerde) of hun eigen beheerde context per gebruiker.
  • De door een andere gebruiker beheerde context voor elke gebruiker.

Notitie

Gebruikers en toepassingen met beheerdersbevoegdheden kunnen de bronlijst van een exemplaar van een toepassing of patch die is geïnstalleerd in de context per gebruiker (onbeheerd) van een andere gebruiker niet wijzigen.

 

Netwerk- en URL-bronnen voor producten en patches beheren

Gebruik de functie MsiSourceListAddSourceEx om de bronlijst met netwerk- en URL-bronnen voor een patch of toepassing in een bepaalde context toe te voegen of opnieuw te ordenen. Gebruik de parameter dwContext om de installatiecontext op te geven. Gebruik de parameter szUserSid om de gebruikerscontext op te geven.

Gebruik de functie MsiSourceListAddSourceEx om een bronlijst te maken voor een patch die nog niet is toegepast op een toepassing in de opgegeven context. Dit kan handig zijn bij het registreren van een patch met verhoogde bevoegdheden. Zie Patching Per-User Managed Applicationsvoor meer informatie over het registreren van verhoogde bevoegdheden voor een patch.

Gebruik de functie MsiSourceListClearSource om een bestaande bron voor een toepassing of patch in een opgegeven context te verwijderen. Als u de huidige bron voor een toepassing of patch verwijdert, moet het installatieprogramma de bronlijst voor een bron doorzoeken wanneer een bron de volgende keer is vereist.

Gebruik de functie MsiSourceListEnumSources om bronnen op te sommen in de bronlijst van een opgegeven patch of toepassing.

Mediabronnen voor producten en patches beheren

Gebruik de MsiSourceListAddMediaDisk functie om de schijfgegevens van de mediabron van een geregistreerde toepassing of patch toe te voegen of bij te werken. Elke vermelding wordt uniek geïdentificeerd door een schijf-id. Als de schijf al bestaat, wordt deze bijgewerkt met het nieuwe volumelabel en de schijfpromptwaarden. Als de schijf niet bestaat, wordt er een nieuwe schijfvermelding gemaakt met de nieuwe waarden.

Gebruik de functie MsiSourceListClearMediaDisk om een bestaande geregistreerde schijf onder de mediabron te verwijderen voor een toepassing of patch in een specifieke context.

Gebruik de functie MsiSourceListEnumMediaDisks om een lijst op te sommen met schijven die zijn geregistreerd onder de mediabron voor een toepassing of patch.

Ophalen en wijzigen van bronlijstgegevens

Gebruik de functies MsiSourceListGetInfo en MsiSourceListSetInfo om informatie over de bronlijst voor een toepassing of patch in een specifieke context op te halen of te wijzigen. Gebruik de parameter dwContext om de installatiecontext op te geven. Gebruik de parameter szUserSid om de gebruikerscontext op te geven.

Eigenschappen van de bronlijst, zoals MEDIAPACKAGEPATH, DiskPrompt, LastUsedSource, LastUsedTypeen PackageName zijn toegankelijk.

Notitie

De eigenschap LastUsedType bronlijst kan alleen worden gelezen. Het kan niet rechtstreeks worden ingesteld met behulp van de MsiSourceListSetInfo functie.

 

De volledige bronlijst wissen of een bronnenoplossing afdwingen

Gebruik de functie MsiSourceListClearAllEx om alle bestaande bronnen van een bepaald brontype voor de opgegeven toepassing of patch-instantie te verwijderen. De patchregistratie wordt ook verwijderd als de patch niet is geïnstalleerd door een toepassing in dezelfde context. Gebruik de parameter dwContext om de installatiecontext op te geven. Gebruik de parameter szUserSid om de gebruikerscontext op te geven.

Gebruik de MsiSourceListForceResolutionEx om de laatst gebruikte bronvermelding voor een toepassing of patch in de opgegeven context te wissen. Met deze functie wordt de registratie van de eigenschap met de naam LastUsedSourceverwijderd. Deze functie heeft geen invloed op de geregistreerde bronlijst. Als u de LastUsedSource-registratie wist, wordt het installatieprogramma gedwongen om een bronoplossing uit te voeren op de geregistreerde bronnen de volgende keer dat een bron nodig is.