Använda API:et för att sammanfoga en sammanslagningsmodul till en databas
Merge-moduler tillhandahålla en standardmetod för utvecklare för att leverera delade Windows Installer-komponenter och konfigurationslogik till sina program. Sammanslagningsmoduler måste sammanfogas i ett installationspaket med hjälp av ett sammanslagningsverktyg. Det bästa alternativet är att skaffa ett fritt distribuerat sammanslagningsverktyg eller köpa något av de sammanslagningsverktyg som är tillgängliga från oberoende programvaruleverantörer. Du kan till exempel använda funktionerna som tillhandahålls av Mergemod.dll.
Använd följande steg i följd för att sammanfoga en sammanslagningsmodul till en Windows Installer-installationsdatabas med API:et för Mergemod.dll.
Så här sammanfogar du en sammanslagningsmodul till en Windows Installer-installationsdatabas
Öppna en loggfil med OpenLog. Det här steget krävs bara om du behöver skapa en loggfil eller lägga till en befintlig loggfil för sammanslagningsprocessen.
Öppna installationsdatabasen, en .msi-fil, som tar emot kopplingsmodulen med hjälp av OpenDatabase. Det här steget krävs.
Öppna sammanslagningsmodulen, en .msm-fil, som sammanfogas i databasen med hjälp av OpenModule. En modul måste öppnas innan den kan sammanfogas med en installationsdatabas. Det här steget krävs.
Koppla modulen till installationsdatabasen med hjälp av Slå samman eller MergeEx. Observera att Merge eller MergeEx bara kan anropas en gång för att sammanfoga en viss kombination av .msi- och msm-filer. MergeEx är endast tillgängligt när du använder Mergemod.dll version 2.0 eller senare och endast när du använder gränssnittet IMsmMerge2. Det här steget krävs.
Anropa get_Errors och granska den hämtade samlingen med fel för sammanslagningskonflikter eller andra fel. Hämtningen är icke-destruktiv. Flera instanser av felsamlingen kan hämtas genom att upprepade gånger anropa get_Errors. Du måste lösa eventuella fel efter behov för ditt ärende.
Associera komponenterna i sammanslagningsmodulen med eventuella ytterligare funktioner som har sammanfogats eller kommer att sammanfogas i installationsdatabasen med hjälp av Connect. Funktionen måste redan finnas innan den här metoden anropas. Det här steget krävs bara om du har ytterligare funktioner. Mer information finns i Ansluta en sammanslagningsmodul till flera funktioner
Om det behövs kan du extrahera källfiler från modulen genom att göra något av följande.
Om du vill extrahera filer från en inbäddad .cab fil och sedan kopiera till en angiven katalog använder du ExtractFiles eller ExtractFilesEx. Observera att ExtractFilesEx kräver Mergemod.dll version 2.0 eller senare.
Om du vill extrahera filer från en inbäddad .cab fil och sedan spara i en angiven fil använder du ExtractCAB-.
Om du vill extrahera filer från en modul och sedan kopiera till en källavbildning på disken efter kopplingen använder du CreateSourceImage. Observera att CreateSourceImage endast är tillgängligt med Mergemod.dll version 2.0 eller senare.
Stäng den aktuella öppna sammanslagningsmodulen med hjälp av CloseModule. Det här steget krävs.
Stäng den aktuella öppna installationsdatabasen med hjälp av CloseDatabase. Det här steget krävs. Om du stänger en databas rensas all beroendeinformation men påverkar inte eventuella fel som inte har hämtats.
Stäng den aktuella loggfilen med hjälp av CloseLog. Det här steget krävs om du har öppnat en loggfil.
När modulen har sammanfogats i databasen med hjälp av Mergemod.dllmåste Media Table uppdateras för att beskriva den önskade källbildlayouten. Sammanslagningsprocessen som tillhandahålls av Mergemod.dll uppdaterar inte medietabellen eftersom användaren av sammanslagningsmodulen kan välja olika sätt att layouta källbilden.