Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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
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.
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.
Värdteknik – Klassen HostingTechnology används för att definiera interaktion och konfiguration av körningstid för tekniker.
Installationsteknik – Klassen InstallerTechnology används för att definiera specifika metadata om identifiering, installation och avinstallation av programmet.
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.
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.
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.
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.
DeploymentTechnology.xml – Sammanfattning av distributionstekniken.
HostingTechnology.xml – Sammanfattning av värdtekniken.
InstallerTechnology.xml – Sammanfattning av installationstekniken.
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.
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:
< CreateApp_TechnologyId>.xml
Obligatoriskt – tilläggs-XML för guiden Skapa program.
< CreateDeploymentWizard_TechnologyId>.xml
Obligatoriskt – tilläggs-XML för guiden Distributionstyp.
< 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.
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.
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
Så här skapar du filnamnstillägget för Configuration Manager-distributionstyp (*.cmdtx)
Skapa en tom katalog för att mellanlagra innehållet
Skapa och kopiera följande filer till den här katalogen:
DeploymentTechnology.xml – En sammanfattning av distributionstekniken
HostingTechnology.xml – En sammanfattning av värdtekniken
InstallerTechnology.xml – En sammanfattning av installationstekniken
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.
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.
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.
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; }
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.
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):
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:
< CreateApp_TechnologyId>.xml
Obligatoriskt – tilläggs-XML för guiden Skapa program.
< CreateDeploymentWizard_TechnologyId>.xml
Obligatoriskt – tilläggs-XML för guiden Distributionstyp.
< TechnologyId>DeploymentTypePropertySheet.xml
Obligatoriskt – XML för standardegenskapssidan för egenskapssidan För distributionstyp.
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