How to Create the Windows Installer File (*.msi)
After the Deployment Type Extension file (*.cmdtx) is created, you're expected to generate a Windows Installer file (*.msi) which contains the *.cmdtx file and the UX files. The Windows Installer needs to copy the files into the correct locations and register the custom extension with the site server.
The basic contents of the Windows Installer file are shown below:
To Create the Windows Installer File (*.msi)
Generate a Windows Installer file which contains the *.cmdtx file, and UX files. The Windows Installer file is responsible for installing the UX files in the correct locations, using the standards defined by the Admin Console team. Basically, this will involve including the following files:
UX Assembly, for example, AdminUI.DeploymentType.<AssemblySuffix>.dll
This file is required and contains the UX implementation, which is then bound to the Configuration Manager console using the below XML files.
The Installer should copy this file to sms\AdminConsole\bin.
CreateApp_<TechnologyID>.xml
This file is required and provides the console extension for the Create Application Wizard.
The Installer should copy this file to sms\AdminConsole\XmlStorage\Extensions\Forms.
CreateDeploymentWizard_<TechnologyID>.xml
This file is required and provides the console extension for the Create Deployment Type Wizard.
The Installer should copy this file to sms\AdminConsole\XmlStorage\Extensions\Forms.
<TechnologyID>DeploymentTypePropertySheet.xml
This file is required and provides the Deployment Type property page.
The Installer should copy this file to sms\AdminConsole\XmlStorage\Forms.
The Windows Installer file should contain code to invoke the DeploymentTypeExtender.Extend method, which is located in the Microsoft.ConfigurationManagement.ApplicationManagement namespace. This will then register the extension files for a given site server computer. For an administrator console computer, this initializes the cache for that user. The Extend method call requires the *.cmdtx file created earlier.
Make a standard WqlConnectionManager connection to the site server.
Call the Extend method, passing the *cmdtx file, the ConnectionManagerBase object through an instance of ConsoleDcmConnection for the method connection parameter, and the connection path (example below).
Warning
In order to use ConsoleDcmConnection, you will need to add an assembly reference to AdminUI.DcmObjectWrapper.dll.
using DCM = Microsoft.ConfigurationManagement.AdminConsole.DesiredConfigurationManagement; [...] ConnectionManagerBase connectionManager = new WqlConnectionManager(); connectionManager.Connect("SiteServerName"); DeploymentTypeExtender.Extend(@"C:\RdpTechnology.cmdtx", new DCM.ConsoleDcmConnection(connectionManager, null), @"\\SiteServerName\root\sms\site_ABC");
Client Installation (HandlerApplication.zip)
To install the client extension files, either as part of the HandlerApplication or as a separate installation:
Compile the AppSynclet MOF file. On the client, compile the custom synclet MOF file to create the necessary instance of the CCM_AppHandler class and the corresponding instances of the CCM_HandlerSynclet classes.
C:\> mofcomp appsynclet_<technologyid>
Copy the handler .dll to the Configuration Manager client directory and register the .dll on the system.
C:\> regsvr32 <technologyid>handler.dll
Note
The handler .dll must be compiled to match the operating system – either 32-bit or 64-bit.
Namespaces
Microsoft.ConfigurationManagement.ApplicationManagement
Microsoft.ConfigurationManagement.ManagementProvider
Microsoft.ConfigurationManagement.ManagementProvider.WqlQueryEngine
Assemblies
AdminUI.DcmObjectWrapper.dll
AdminUI.WqlQueryEngine.dll
DcmObjectModel.dll
Microsoft.ConfigurationManagement.ApplicationManagement.dll
Microsoft.ConfigurationManagement.ApplicationManagement.Extender.dll
Microsoft.ConfigurationManagement.ManagementProvider.dll
See Also
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for