Delen via


Aangepaste actiebeveiliging

Het installatieprogramma voert standaard aangepaste acties met gebruikersbevoegdheden uit om de toegang van aangepaste acties tot het systeem te beperken. Het installatieprogramma kan aangepaste acties uitvoeren met verhoogde bevoegdheden als een beheerde toepassing wordt geïnstalleerd of als het systeembeleid is opgegeven voor verhoogde bevoegdheden.

Gebruik de eigenschap MsiHiddenProperties en msidbCustomActionTypeHideTarget om logboekregistratie van gevoelige informatie die wordt gebruikt door de aangepaste actie te voorkomen. Zie voor meer informatie over msidbCustomActionTypeHideTargetaangepaste actie verborgen doeloptie.

Wis de eigenschap CustomActionData nadat u deze hebt ingesteld om ervoor te zorgen dat gevoelige gegevens niet meer beschikbaar zijn. Voorbeeldcode hieronder is een fragment dat wordt gebruikt door een onmiddellijke aangepaste DLL-actie die gegevens instelt voor gebruik door een uitgestelde aangepaste actie met de naam 'MyDeferredCA':

#include <windows.h>
#include <Msiquery.h>
#pragma comment(lib, "msi.lib")

UINT __stdcall MyImmediateCA(MSIHANDLE hInstall)
{
    // set up information for deferred custom action called MyDeferredCA
    const TCHAR szValue[] = TEXT("data");
    UINT uiStat = ERROR_INSTALL_FAILURE;
    if (ERROR_SUCCESS == MsiSetProperty(hInstall, TEXT("MyDeferredCA"), szValue))
    {
        uiStat = MsiDoAction(hInstall, TEXT("MyDeferredCA"));

        // clear CustomActionData property
        if (ERROR_SUCCESS != MsiSetProperty(hInstall, TEXT("MyDeferredCA"), TEXT("")))
            return ERROR_INSTALL_FAILURE;
    }

    return (uiStat == ERROR_SUCCESS) ? uiStat : ERROR_INSTALL_FAILURE;    
}

Houd er rekening mee dat alleen aangepaste acties voor de msidbCustomActionTypeNoImpersonate kenmerk kunnen gebruiken. Zie aangepaste actie In-Script uitvoeringsoptiesvoor meer informatie.

Als de msidbCustomActionTypeNoImpersonate bit niet is ingesteld voor een aangepaste actie, voert het installatieprogramma de aangepaste actie uit met bevoegdheden op gebruikersniveau. Zie Aangepaste actie In-Script Uitvoeringsoptiesvoor meer informatie.

Als de msidbCustomActionTypeNoImpersonate bit is ingesteld en een beheerde toepassing wordt geïnstalleerd met beheerdersmachtigingen, kan het installatieprogramma de aangepaste actie uitvoeren met verhoogde bevoegdheden. Als een gebruiker echter de beheerde toepassing zonder beheerdersmachtiging probeert te installeren, voert het installatieprogramma de toepassing uit met bevoegdheden op gebruikersniveau, ongeacht of msidbCustomActionTypeNoImpersonate- is ingesteld.

Houd er rekening mee dat een aangepaste actie kan worden uitgevoerd met systeembevoegdheden, zelfs wanneer de msidbCustomActionTypeNoImpersonate bit niet is ingesteld. Dit gebeurt als een beheerder de toepassing installeert voor alle gebruikers op een server waarop de terminalserverfunctieservice wordt uitgevoerd met Windows 2000 en de actie niet is gemarkeerd met msidbCustomActionTypeTSAware-. Een aangepaste actie kan ook worden uitgevoerd met systeembevoegdheden als de installatie wordt aangeroepen wanneer er geen gebruikerscontext is. Als er bijvoorbeeld geen aangemelde gebruiker is tijdens een installatie die wordt aangeroepen door Windows 2000 Application Deployment.

Wanneer u uw eigen aangepaste acties maakt, moet u altijd de aangepaste actie maken met behulp van beveiligde methoden. Zie Richtlijnen voor het beveiligen van aangepaste actiesvoor meer informatie.