To define a custom synclet MOF file, create an instance of the CCM_AppHandlers class. The new class instance will identify the custom client-side handler. Also, create instances of the CCM_HandlerSynclet class to store detect, install and uninstall property values.
The client extension maps closely to the Installer object, defined as part of the DeploymentType. Property values are stored in WMI and the public COM methods in the client-side handler map to detection, installation and uninstallation.
In this example, a new custom synclet MOF file is required for Remote Desktop Protocol (RDP) files. Support for RDP files is not built-in to Configuration Manager, so a custom synclet MOF file is required.
To define a custom synclet MOF file
-
Create an instance of the CCM_AppHandlers class. This class associates the synclet with the custom client-side handler. The HandlerCLSID value is the globally unique identifier that identifies the custom client-side handler’s COM object. This, and the other class instances will be stored in WMI under root\ccm\cimodels.
The following example from the RDP sample project demonstrates how to define a custom synclet MOF file.
Copy Code //****************************************************************************** // // The following are the registrations of the Rdp handler // //****************************************************************************** instance of CCM_AppHandlers { HandlerName = "Rdp"; HandlerCLSID = "{4A1FFE05-FEF1-41E3-8DE1-732474E5983D}"; };
-
Creates custom instance of the CCM_HandlerSynclet class to store the Detect action property values.
The following example from the RDP sample project demonstrates how to define a custom synclet MOF file.
Copy Code //****************************************************************************** // // Rdp_Detect_Synclet // //****************************************************************************** class Rdp_Detect_Synclet : CCM_HandlerSynclet { [ Not_Null ] string FileName; [ Not_Null ] string InstallFolder; [ Not_Null ] string FullAddress; string RemoteApplication; boolean RemoteApplicationMode; };
-
Create a custom instance of the CCM_HandlerSynclet class to store the Install action property values.
The following example from the RDP sample project demonstrates how to define a custom synclet MOF file.
Copy Code //****************************************************************************** // // Rdp_Install_Synclet // //****************************************************************************** class Rdp_Install_Synclet : CCM_HandlerSynclet { [ Not_Null ] string Filename; [ Not_Null ] string InstallFolder; sint32 FullScreen; sint32 DesktopWidth; sint32 DesktopHeight; sint32 AudioMode; string FullAddress; string RemoteServerName; sint32 RemoteServerPort; string RemoteApplication; boolean RemoteApplicationMode; boolean ConstructRdpOnClient; sint32 KeyboardMode; sint32 RedirectPrinters; sint32 RedirectSmartCards; string Username; string ContentFilename; };
-
Create a custom instance of the CCM_HandlerSynclet class to store the Uninstall action property values.
The following example from the RDP sample project demonstrates how to define a custom synclet MOF file.
Copy Code //****************************************************************************** // // Rdp_Uninstall_Synclet // //****************************************************************************** class Rdp_Uninstall_Synclet : CCM_HandlerSynclet { [ Not_Null ] string FileName; [ Not_Null ] string InstallFolder; };