Dela via


InstallValidate-åtgärd

Åtgärden InstallValidate verifierar att alla volymer som kostnad har tilldelats har tillräckligt med utrymme för installationen. Åtgärden InstallValidate avslutar installationen med ett allvarligt fel om någon volym saknar diskutrymme.

Åtgärden InstallValidate meddelar också användaren om en eller flera filer som ska skrivas över eller tas bort för närvarande används av en aktiv process. Mer information finns i System Reboots.

Sekvensbegränsningar

Åtgärden CostFinalize och alla UI-dialogrutor som gör det möjligt för användaren att ändra markeringstillstånd och/eller kataloger ska sekvenseras före åtgärden InstallValidate.

Anpassade åtgärder som ändrar installationstillståndet för funktioner eller komponenter måste sekvenseras före åtgärden InstallValidate.

ActionData-meddelanden

Det finns inga ActionData-meddelanden.

Anmärkningar

Normalt bör en tidigare UI-dialogruta utföra samma verifiering som installValidate-åtgärden när användaren försöker initiera kopieringen av filer. Den här dialogrutesekvensen för användargränssnittet bör innehålla en dialogruta med slut på diskutrymme om de valda volymerna inte har tillräckligt med utrymme för installationen. Dialogrutorna för användargränssnittet bör redigeras på ett sätt som förhindrar att användaren fortsätter med installationen om det inte finns tillräckligt med diskutrymme. Vid en tyst installation finns det inget användargränssnitt och åtgärden InstallValidate avslutar installationen om det inte finns tillräckligt med diskutrymme. Orsaken till den för tidiga avslutningen registreras i loggfilen om loggning är aktiverad.

En post läggs till i en intern FilesInUse-tabell om någon fil skrivs över eller tas bort när den är öppen för körning eller ändring av någon process under fil kostar. Tabellen FilesInUse innehåller kolumner för filens namn och fullständiga sökväg. När åtgärden InstallValidate körs frågar installationsprogrammet tabellen FilesInUse efter poster och avgör namnet på processen med hjälp av filen. Åtgärden InstallValidate lägger till en post i ListBox användargränssnittstabell för varje unik process som identifieras av den här frågan. Posten innehåller följande värden i varje kolumn:

property: FileInUseProcess

 

Värde: Namn på process

 

Text: Text som finns i beskrivningen av huvudfönstret i processen

Åtgärden InstallValidate visar sedan dialogrutan Filer som används. I den här dialogrutan visas de processer som måste stängas av för att undvika kravet på att starta om systemet för att ersätta filer som används.

Åtgärden InstallValidate frågar tabellen Dialog för en redigerad dialogruta med det reserverade namnet FilesInUse dialogruta och visar den. Den här dialogrutan måste innehålla en ListBox- kontroll som är kopplad till en egenskap med namnet FileInUseProcess. Enligt konventionen har den här dialogrutan en avsluta, Försök igeneller knappen Ignorera, men det är upp till UI-författaren. Varje knapp ska vara kopplad till en EndDialog ControlEvent i tabellen ControlEvent. Åtgärden InstallValidate svarar på följande sätt på värdet som returneras av DoAction ControlEvent, enligt något av dessa EndDialog argument som är associerade med knappen som användaren trycker på:

Försök igen: Alla värden som läggs till i tabellen ListBox rensas och hela filen kostar procedur upprepas och kontrolleras igen för filer som fortfarande används. Om en eller flera processer fortfarande identifieras som att de använder filer som ska skrivas över eller tas bort upprepas processen. Annars returnerar InstallValidate kontrollen till installationsprogrammet med statusen msiDoActionStatusSuccess.

Avsluta: Åtgärden InstallValidate returnerar omedelbart kontrollen till installationsprogrammet med statusen msiDoActionStatusUserExit. Installationen avslutas.

Alla andra returvärden: Åtgärden InstallValidate returnerar omedelbart kontrollen till installationsprogrammet med statusen msiDoActionStatusSuccess. I det här fallet, eftersom en eller flera filer fortfarande används, måste efterföljande InstallFiles och/eller InstallAdminPackage åtgärder schemalägga att de filer som används ska ersättas eller tas bort när systemet startas om.

Om det inte finns någon ListBox- tabell i databasen avslutas InstallValidate tyst utan ett fel.

Semikolonet är listgränsaren för transformeringar, källor och korrigeringar och bör inte användas i dessa filnamn eller sökvägar.

Filer som markerats som skrivskyddade på en skrivskyddad plats anses aldrig användas av installationsprogrammet.

En standarddialogruta slut på diskutrymme som innehåller Avbryt och Försök igen knappar visas för användaren om användargränssnittsnivån är grundläggande.