Dela via


Översikt över utökad programhantering

Som standard har programhantering stöd för att skapa flera distributionstyper, till exempel Windows Installer, Script Installer, Microsoft Application Virtualization, Nokia SIS-filer och Windows Mobile Cabinet-fildistributionstekniker. Partner som måste fortsätta att använda en specifik distributionsteknik som inte stöds internt av Configuration Manager kan utöka programhanteringsmodellen för att stödja en anpassad distributionstyp.

I Programhantering är programobjektet det övergripande objekt som Configuration Manager administratörer skapar, distribuerar och övervakar. Distributionstypobjektet representerar den teknik som ska identifieras, installeras och avinstalleras i slutanvändarsystemen. Programhanteringsmodellen kan utökas genom att skapa en instans av distributionstypen med en anpassad distributionsteknik.

Distributionstypobjektet består av flera objekt: distributionsteknik, värdteknik, installationsteknik, innehållsimportör och installationsprogrammet. Installationsobjektet är en viktig tilläggspunkt eftersom det tillhandahåller egenskaperna för en teknik, samt logiken för identifiering, installation och avinstallation av tekniken i klientsystemet.

För att utöka programmodellen krävs att du utökar Configuration Manager-konsoler och Configuration Manager klienter som använder den anpassade distributionstypen. På servern åstadkoms tillägget genom att skapa och registrera en anpassad distributionstekniksammansättning och genom att utöka Configuration Manager-konsolen (lägga till anpassade egenskapsblad och guider). Klienttillägget uppnås genom att utöka WMI och lägga till en anpassad hanterare (en offentlig COM-klass och metoder). Det bör noteras att klienttillägget mappar nära till installationsobjektet, definierat som en del av distributionstypen. De egenskaper och metoder som definieras i installationsobjektkartan direkt till egenskapsvärdena lagras i WMI och de offentliga COM-metoderna som definieras i den anpassade hanteraren.

När du konceptualiserar en anpassad distributionstyp kan det vara bra att överväga produkthanteringen av Windows Installer-filer (*.msi).

Tips

Ett fullständigt exempelprojekt som implementerar en anpassad distributionstyp för filer med Remote Desktop Protocol (*.rdp) tillhandahålls separat som referens. Diskussionen i avsnittet Utöka programhantering använder exempelprojektet Remote Desktop Protocol till exempel och illustration.

Översikt

Server

  1. Skapa en anpassad SDK-sammansättning

    Den anpassade SDK-sammansättningen innehåller en gränssnittsimplementering av både värdteknik och installationsteknik. AssemblySuffix bör motsvara det som anges för attributet AssemblySuffix i DeploymentTechnology.xml-filen, till exempel Microsoft.ConfigurationManagement.ApplicationManagement.<Sammansättningssuffix>.dll.

    1. Distributionsteknik – Klassen DeploymentTechnology är det objekt som är registrerat med Configuration Manager Application Model SDK. När du implementerar en ny distributionsteknik måste du implementera en klass som härleds från den här klassen. Den nya klassinstansen definierar distributionstekniken som används för att distribuera ett specifikt program till enheter.

    2. Värdteknik – Klassen HostingTechnology används för att definiera interaktion och konfiguration av körningstid för tekniker.

    3. Installationsteknik – Klassen InstallerTechnology används för att definiera specifika metadata om identifiering, installation och avinstallation av programmet.

    4. Installationsprogram – Klassen Installer används för att definiera egenskaper och metoder som används på klienten för att faktiskt identifiera, installera och avinstallera programmet.

    5. Innehållsimportör – Klassen ContentImporter används för att tillåta att anpassade tekniker kan läsa en specifik innehållsfil och skapa motsvarande DeploymentType-objekt med hjälp av information som hämtas från innehållsfilen. Innehållsimportören för Windows Installer läser till exempel Windows Installer-filer (*.msi) och kan fylla i Rubrik, Beskrivningsegenskaper för Installer DeploymentType-objektet och skapa åtgärderna Identifiera, Installera och Avinstallera för installationsprogrammet.

    6. Resurser – För att stödja installationsprogrammet bör ett anpassat XML-schema ingå som en del av sammansättningen. Schemafilen (XSD) måste inkluderas som en resurs i sammansättningen.

  2. Skapa XML-registreringsfilerna

    Som en del av att definiera en anpassad distributionsteknik för programhantering skapar du tre registreringsfiler/sammanfattningar. Dessa registreringsfiler/sammandrag används för att registrera distributionstekniken med Configuration Manager.

    1. DeploymentTechnology.xml – Sammanfattning av distributionstekniken.

    2. HostingTechnology.xml – Sammanfattning av värdtekniken.

    3. InstallerTechnology.xml – Sammanfattning av installationstekniken.

  3. Skapa användargränssnittstillägget

    Om du vill utöka Configuration Manager-konsolen skapar du en UX-sammansättning, anpassade egenskapsblad och guider.

    Sammansättningen bör motsvara följande namngivningskonvention: AdminUI.DeploymentType.<Sammansättningssuffix>.dll.

    1. AdminUI.DeploymentType.<Sammansättningssuffix>.dll

      Obligatoriskt – innehåller UX-implementering, som sedan är bunden till Configuration Manager-konsolen med hjälp av följande XML-filer:

    2. < CreateApp_TechnologyId>.xml

      Obligatoriskt – tilläggs-XML för guiden Skapa program.

    3. < CreateDeploymentWizard_TechnologyId>.xml

      Obligatoriskt – tilläggs-XML för guiden Distributionstyp.

    4. < TechnologyId>DeploymentTypePropertySheet.xml

      Obligatoriskt – XML för standardegenskapssidan för egenskapssidan För distributionstyp.

Klient

Klienttillägget uppnås genom att utöka WMI och lägga till en anpassad hanterare (offentlig COM-klass och metoder). Det bör noteras att klienttillägget mappar nära till installer-objektet, definierat som en del av DeploymentType. Egenskapsvärden lagras i WMI och de offentliga COM-metoderna mappar till identifiering, installation och avinstallation.

  1. Skapa en AppSynclet MOF-fil

    Om du vill definiera en anpassad MOF-synkroniseringsfil skapar du en instans av klassen CCM_AppHandlers. Den nya klassinstansen identifierar den anpassade hanteraren på klientsidan. Skapa dessutom instanser av klassen CCM_HandlerSynclet som lagrar installations-, avinstallations- och identifieringsegenskaper som kan användas av motsvarande hanteringsmetoder på klientsidan.

  2. Skapa en hanterare på klientsidan

    Den anpassade hanteraren på klientsidan måste implementera ett offentligt COM-gränssnitt och -metoder (InstallApp, UninstallApp och DiscoveryApp). Metoderna anropas av Configuration Manager-klientramverket. De faktiska funktionerna i metoderna definieras dock av hanterarutvecklaren på klientsidan.

Installation

  1. Så här skapar du filnamnstillägget för Configuration Manager-distributionstyp (*.cmdtx)

    1. Skapa en tom katalog för att mellanlagra innehållet

    2. Skapa och kopiera följande filer till den här katalogen:

      1. DeploymentTechnology.xml – En sammanfattning av distributionstekniken

      2. HostingTechnology.xml – En sammanfattning av värdtekniken

      3. InstallerTechnology.xml – En sammanfattning av installationstekniken

      4. Den anpassade SDK-sammansättningen (Microsoft.ConfigurationManagement.ApplicationManagement.<Sammansättningssuffix>.dll) – Innehåller gränssnittsimplementering av både värdteknik och installationsteknik Obs! AssemblySuffix bör motsvara det som anges för AssemblySuffix-attributet i DeploymentTechnology.xml-filen.

      5. HostingApplication.zip – valfritt. Importbart program som representerar värdprogrammet, som innehåller innehåll (om sådant finns). Detta bör skapas med hjälp av funktionen Exportera på noden Program i Configuration Manager-konsolen.

      6. HandlerApplication.zip – valfritt. Importbart program som representerar hanterarprogrammet för klienten, som innehåller innehåll (om sådant finns). Detta bör skapas med hjälp av funktionen Exportera på noden Program i Configuration Manager-konsolen.

    3. Använd metoden DeploymentTypeExtender.CreateExtension, som finns i namnområdet Microsoft.ConfigurationManagement.ApplicationManagement, för att skapa filen Deployment Type Extension (*.cmdtx) baserat på innehållet i mellanlagringskatalogen.

      // Summarizes progress from CreateExtension method to a log file or the console.   
      // <param name="summaryText">Summary text to be presented</param>  
      public void Summarize(string summaryText)   
      {  
            System.Console.WriteLine(summaryText);   
            return;   
      }   
      // Creates a new Deployment Type Extension using the specified source path  
      // <param name="sourcePath">Source path used to create the Deployment Type Extension</param>  
      // <param name="deploymentTypeExtensionFilePath">Resulting Deployment Type Extension file</param>  
      private void CreateDeploymentTypeExtensionFile(string sourcePath, string deploymentTypeExtensionFilePath)   
      {  
            DeploymentTypeExtender.CreateExtension(sourcePath, deploymentTypeExtensionFilePath, this.Summarize);   
            return;   
      }  
      
  2. Så här skapar du Windows Installer-filen (*.msi)

    När *.cmdtx har skapats skapar du en Windows Installer-fil (*.msi) som innehåller *.cmdtx-filen och UX-filerna. Installationsprogrammet ansvarar för att installera UX-filerna på rätt platser.

    1. Installera UX-filerna på rätt platser. I grund och botten omfattar detta att inkludera följande filer (med avseende på tillägg för distributionstyper):

      1. AdminUI.DeploymentType.<AssemblySuffix>.dll

        Obligatoriskt – innehåller UX-implementering, som sedan är bunden till Configuration Manager-konsolen med hjälp av följande XML-filer:

      2. < CreateApp_TechnologyId>.xml

        Obligatoriskt – tilläggs-XML för guiden Skapa program.

      3. < CreateDeploymentWizard_TechnologyId>.xml

        Obligatoriskt – tilläggs-XML för guiden Distributionstyp.

      4. < TechnologyId>DeploymentTypePropertySheet.xml

        Obligatoriskt – XML för standardegenskapssidan för egenskapssidan För distributionstyp.

    2. Registrera *.cmdtx

      Windows Installer-filen (*.msi) ska innehålla kod/skript för att anropa metoden DeploymentTypeExtender.Extend, som finns i namnområdet Microsoft.ConfigurationManagement.ApplicationManagement. Då registreras tilläggsfilerna för en viss platsserverdator. För en Configuration Manager administratörskonsoldator initierar detta cacheminnet för den användaren.

      using DCM = Microsoft.ConfigurationManagement.AdminConsole.DesiredConfigurationManagement;   
       [...]  
          ConnectionManagerBase connectionManager = new WqlConnectionManager();  
          connectionManager.Connect("SiteServerName");  
          DeploymentTypeExtender.Extend(@"C:\PartnerTechnology.cmdtx", new  DCM.ConsoleDcmConnection(connectionManager, null), @"\\SiteServerName\root\sms\site_SITECODE");  
      

Namnområden

Microsoft.ConfigurationManagement.AdminConsole

Microsoft.ConfigurationManagement.AdminConsole.AppManFoundation

Microsoft.ConfigurationManagement.AdminConsole.CreateDT

Microsoft.ConfigurationManagement.AdminConsole.DesiredConfigurationManagement

Microsoft.ConfigurationManagement.ApplicationManagement

Microsoft.ConfigurationManagement.ApplicationManagement.Serialization

Microsoft.ConfigurationManagement.ManagementProvider

Microsoft.ConfigurationManagement.ManagementProvider.ConnectionManagerBase

Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine

Sammansättningar

AdminUI.AppManFoundation

AdminUI.CreateDT

AdminUI.DcmObjectWrapper.dll

AdminUI.WqlQueryEngine.dll

Microsoft.ConfigurationManagement.exe

Microsoft.ConfigurationManagement.ApplicationManagement.dll

Microsoft.ConfigurationManagement.ApplicationManagement.Extender.dll

Microsoft.ConfigurationManagement.ManagementProvider.dll

Se även

Configuration Manager referens