Dela via


Anpassade åtgärder för uppskjuten körning

Syftet med en anpassad åtgärd för uppskjuten körning är att fördröja körningen av en systemändring till den tidpunkt då installationsskriptet körs. Detta skiljer sig från en vanlig anpassad åtgärd, eller en standardåtgärd, där installationsprogrammet kör åtgärden omedelbart när den påträffas i en sekvenstabell eller i ett anrop till MsiDoAction. Med en anpassad åtgärd för uppskjuten körning kan en paketförfattare ange systemåtgärder vid en viss punkt i körningen av installationsskriptet.

Installationsprogrammet kör inte en anpassad åtgärd för uppskjuten körning när installationssekvensen bearbetas. I stället skriver installationsprogrammet den anpassade åtgärden i installationsskriptet. Den enda lägesparameter som installationsprogrammet anger i det här fallet är MSIRUNMODE_SCHEDULED. En beskrivning av parametrarna för körningsläge finns i MsiGetMode.

En anpassad åtgärd för uppskjuten körning måste schemaläggas i körningssekvenstabellen i avsnittet som utför skriptgenerering. Anpassade åtgärder för uppskjuten körning måste komma efter InstallInitialize och komma före InstallFinalize i åtgärdssekvensen.

Anpassade åtgärder som anger egenskaper, funktionstillstånd, komponenttillstånd eller målkataloger, eller som schemalägger systemåtgärder genom att infoga rader i sekvenstabeller, kan i många fall använda omedelbar körning på ett säkert sätt. Anpassade åtgärder som ändrar systemet direkt eller anropar en annan systemtjänst måste dock skjutas upp till den tid då installationsskriptet körs. Mer information om potentiella sammandrabbningar mellan deras anpassade åtgärder och huvudinstallationstråden finns i Synkrona och Asynkrona anpassade åtgärder.

Eftersom installationsskriptet kan köras utanför installationssessionen där det skrevs kanske sessionen inte längre finns under körningen av installationsskriptet. Det innebär att den ursprungliga sessionsreferensen och egenskapsdatauppsättningen under installationssekvensen inte är tillgängliga för en anpassad åtgärd för uppskjuten körning. Uppskjutna anpassade åtgärder som anropar DLL:er (Dynamic Link Libraries) skickar ett handtag som bara kan användas för att hämta en mycket begränsad mängd information, enligt beskrivningen i Hämta kontextinformation för uppskjuten körning anpassad åtgärd.

Observera att uppskjutna anpassade åtgärder, inklusive återställning av anpassade åtgärder och genomför anpassade åtgärder, är de enda typerna av åtgärder som kan köras utanför användarnas säkerhetskontext.

alternativ för anpassad åtgärd In-Script körning

anpassad åtgärdsreferens