--- title: Allow COM object registration in an App Control policy description: You can allow COM object registration in an App Control for Business policy. ms.localizationpriority: medium ms.date: 02/01/2025 ms.topic: how-to --- # Allow COM object registration in an App Control for Business policy [!INCLUDE [Feature availability note](../includes/feature-availability-note.md)] The [Microsoft Component Object Model (COM)](/windows/desktop/com/the-component-object-model) is a platform-independent, distributed, object-oriented system for creating binary software components that can interact. COM specifies an object model and programming requirements that enable COM objects to interact with other objects. ## COM object configurability in App Control policy App Control for Business enforces a built-in allowlist for COM object registration. While this list works for most common application usage scenarios, you might need to allow more COM objects to support the apps used in your organization. You can specify allowed COM objects via their GUID in your App Control policy as described in this article. > [!WARNING] > When App Control is enforced, .NET doesn't load certain COM objects if their registration GUID doesn't match the one calculated by the system at runtime. When that happens, the user sees a general COM load error dialog, but no events or other information is logged to the system. The COM allowlist mechanism described in this article **doesn't affect .NET's GUID validation check for COM objects** leaving those .NET apps incompatible with App Control at this time. For more information, see [App Control Admin Tips & Known Issues: .NET doesn't load COM objects with mismatched GUIDs](../operations/known-issues.md#net-doesnt-load-component-object-model-com-objects-with-mismatched-guids). ### Get COM object GUID You can get the COM application GUID from the 8036 COM object block events in Event Viewer located at **Application and Service Logs > Microsoft > Windows > AppLocker > MSI and Script**, and extract the GUID from the event data. ### Author policy setting to allow or deny COM object GUID Three elements: - Provider: platform on which code is running (values are PowerShell, WSH, IE, VBA, MSI, or a wildcard "AllHostIds") - Key: GUID for the program you wish to run, in the format Key="{33333333-4444-4444-1616-161616161616}" - ValueName: needs to be set to "EnterpriseDefinedClsId" One attribute: - Value: needs to be "true" for allow and "false" for deny > [!NOTE] > Deny only works in base policies, not supplemental policies - The setting needs to be placed in the order of ASCII values (first by Provider, then Key, then ValueName) ### Multiple policy considerations Similar to executable files, COM objects must pass all enforced App Control policies on the system to run. For example, if the COM object under evaluation passes most but not all of your App Control policies, the COM object is blocked. If you're using a combination of base and supplemental policies, the COM object just needs to be allowlisted in either the base policy or one of the supplemental policies. ### Examples Example 1: Allows registration of all COM object GUIDs in any provider ```xml true ``` Example 2: Blocks a specific COM object from being registered via Internet Explorer (IE) ```xml false ``` Example 3: Allows a specific COM object to register in PowerShell ```xml true ``` ### How to configure settings for the CLSIDs Here's an example of an error in the Event Viewer found at **Application and Service Logs > Microsoft > Windows > AppLocker > MSI and Script**: > Log Name: Microsoft-Windows-AppLocker/MSI and Script
> Source: Microsoft-Windows-AppLocker
> Date: 11/11/2020 1:18:11 PM
> Event ID: 8036
> Task Category: None
> Level: Error
> Keywords:
> User: S-1-5-21-3340858017-3068726007-3466559902-3647
> Computer: contoso.com
> Description: {f8d253d9-89a4-4daa-87b6-1168369f0b21} was prevented from running due to Config CI policy. Event XML: ```XML 8036 0 2 0 0 0x4000000000000000 819347 Microsoft-Windows-AppLocker/MSI and Script contoso.com false {f8d253d9-89a4-4daa-87b6-1168369f0b21} ``` To add this CLSID to the existing policy, follow these steps: 1. Open PowerShell ISE with Administrative privileges. 2. Copy and edit this command, then run it from the admin PowerShell ISE. Consider the policy name to be `AppControl_policy.xml`. ```PowerShell PS C:\WINDOWS\system32> Set-CIPolicySetting -FilePath \AppControl_policy.xml -Key "{f8d253d9-89a4-4daa-87b6-1168369f0b21}" -Provider WSH -Value true -ValueName EnterpriseDefinedClsId -ValueType Boolean ``` Once the command runs, find the following section added to the policy XML. ```XML true ``` ### Default COM Object allowlist The table that follows describes the list of COM objects that are inherently trusted in App Control for Business. Objects in this list don't need to be allowlisted in your App Control policies. They can be denied by creating explicit deny rules in your App Control policy. | File Name | CLSID | |--------|-----------| | scrrun.dll | EE09B103-97E0-11CF-978F-00A02463E06F | | scrrun.dll | 0D43FE01-F093-11CF-8940-00A0C9054228 | | vbscript.dll | 3F4DACA4-160D-11D2-A8E9-00104B365C9F | | WEX.Logger.Log | 70B46225-C474-4852-BB81-48E0D36F9A5A | | TE.Common.TestData | 1d68f3c0-b5f8-4abd-806a-7bc57cdce35a | | TE.Common.RuntimeParameters | 9f3d4048-6028-4c5b-a92d-01bc977af600 | | TE.Common.Verify | e72cbabf-8e48-4d27-b14e-1f347f6ec71a | | TE.Common.Interruption | 5850ba6f-ce72-46d4-a29b-0d3d9f08cc0b | | msxml6.dll | 2933BF90-7B36-11d2-B20E-00C04F983E60 | | msxml6.dll | ED8C108E-4349-11D2-91A4-00C04F7969E8 | | mmcndmgr.dll | ADE6444B-C91F-4E37-92A4-5BB430A33340 | | puiobj.dll | B021FF57-A928-459C-9D6C-14DED0C9BED2 | | wdtf.dll | 041E868E-0C7D-48C6-965F-5FD576530E5B | | wdtfedtaction.dll | 0438C02B-EB9C-4E42-81AD-407F6CD6CDE1 | | wdtfioattackaction.dll | 078B1F7D-C34C-4B13-A7C3-9663901650F1 | | wdtfmutt2tcdsimpleioaction.dll | 0ABB2961-2CC1-4F1D-BE8E-9D330D06B77D | | wdtfdriverpackageaction.dll | 0D7237E6-930F-4682-AD0A-52EBFFD3AEE3 | | wdtf.dll | 0D972387-817B-46E7-913F-E9993FF401EB | | wdtf.dll | 0E770B12-7221-4A5D-86EE-77310A5506BB | | wdtfdriversetupdeviceaction.dll | 0FA57208-5100-4CD6-955C-FE69F8898973 | | wdtf.dll | 1080A020-2B47-4DA9-8095-DBC9CEFFFC04 | | wdtfnetworksimpleioaction.dll | 10CF2E12-1681-4C53-ADC0-932C84832CD8 | | wdtf.dll | 140F2286-3B39-4DE1-AF94-E083DEEA6BB9 | | wdtfinterfaces.dll | 1A7D6D61-4FE5-42E2-8F23-4FC1731C474F | | wdtfaudiosimpleioaction.dll | 1C658D42-4256-4743-A4C5-90BF3A3A186A | | wdtf.dll | 2236B1F3-4A33-48C2-B22C-A1F93A626F05 | | wdtfsystemaction.dll | 23440924-1AB0-41F2-A732-B75069E5C823 | | wdtfdriversetupsystemaction.dll | 238C0AEB-1DFC-4575-AAF3-C67FE15C1819 | | wdtffuzztestaction.dll | 23D0E542-0390-4873-9AC7-EF86E95E5215 | | wdtf.dll | 240FA08C-1D70-40CB-BDB3-2CC41A45496B | | wdtf.dll | 26CC4211-A9A6-4E5C-A30D-3C659BB4CDC9 | | wdtf.dll | 28EE5F0B-97D8-4A59-BAC8-A8A80E11F56B | | wdtf.dll | 2C9AF7D6-2589-4413-A2BA-9926EBCFD67C | | wdtf.dll | 32A9798D-987F-489E-8DB6-2EFB240248BD | | wdtfinterfaces.dll | 3C0B0D50-611A-4368-AC87-4488D6E0C4A7 | | wdtfcdromsimpleioaction.dll | 3F2C07F3-199B-4165-A948-B8B59A97FCC5 | | wdtf.dll | 485785D3-8820-4C3D-A532-4C0F66392A30 | | wdtfinterfaces.dll | 5EAE59BE-6946-44B7-A7B3-1D59811B246A | | wdtfiospyaction.dll | 698F6A82-7833-4499-8BA5-2145D604ABD4 | | wdtfdevicesupportaction.dll | 69D94D1B-0833-40D4-9AE7-7FC6F64F2624 | | wdtf.dll | 6EE5B280-3B0F-4358-9E20-99F169FAA700 | | wdtfmuttsimpleioaction.dll | 7776915A-0370-49A7-90B7-20EB36E80B6D | | wdtfcpuutilizationsystemaction.dll | 7926C7DE-299C-4B09-BB1B-649A4B917ED0 | | wdtfwirelesssimpleioaction.dll | 7A686BCD-9203-435C-8B06-9D7E7A518F98 | | wdtfbluetoothsimpleioaction.dll | 7E6C4615-6184-4077-A150-5D30F29993A4 | | wdtf.dll | 9663A00A-5B72-4810-9014-C77108062949 | | wdtfinterfaces.dll | 9C261B2B-DBD6-4087-B636-ABE1607989E8 | | wdtfwebcamsimpleioaction.dll | A1B74619-F02D-4574-8091-2AADD46A5B2B | | wdtf.dll | A2FD15D7-64F0-4080-AABD-884380202022 | | wdtfvolumesimpleioaction.dll | AC91E813-B116-4676-AE33-2988B590F3C7 | | wdtfconcurrentioaction.dll | AE278430-ABC2-49D1-AF30-910B9A88CB1E | | wdtf.dll | B43FF7F1-629C-4DE5-9559-1D09E0A07037 | | wdtfdriververifiersystemaction.dll | B7770265-B643-4600-A60B-93F9BA9F4B24 | | wdtfpnpaction.dll | B8D74985-4EB9-46AA-B2ED-DD2D918849DF | | wdtfmobilebroadbandsimpleioaction.dll | BCFBBB02-4DA5-466C-9DA7-DC672877B075 | | wdtf.dll | BE56FAD1-A489-4508-ABB7-3348E1C2C885 | | wdtfpnpaction.dll | C0B6C572-D37D-47CC-A89D-E6B9E0852764 | | wdtfioattackaction.dll | C88B324E-6B26-49BC-9D05-A221F15D7E13 | | wdtfsensorsiosimpleioaction.dll | C8BF7EC0-C746-4DE8-BA46-34528C6329FB | | wdtfanysimpleioaction.dll | C8C574DA-367B-4130-AED6-1EA61A5C6A4B | | simpleio_d3dtest.dll | CBC36BDB-A6BC-4383-8194-659470553488 | | wdtfsystemaction.dll | D30E1E07-AA39-4086-A7E6-9245FBD0A730 | | wdtf.dll | DD34E741-139D-4F4C-A1E2-D4184FCDD4F9 | | wdtfsupaction.dll | EA48171B-4265-48C3-B56B-70B175A7FDFA | | wdtfinterfaces.dll | EB9DB874-D23D-44D5-A988-85E966322843 | | wdtfinterfaces.dll | ED05EF76-09A9-4409-90CA-C5D0711CA057 | | wdtfwpdsimpleioaction.dll | EEA17F2B-8E8E-41A3-9776-A87FACD625D0 | | wdtfinterfaces.dll | F30FC2BB-F424-4A1F-8F95-68CFEE935E92 | | wdtfedtaction.dll | F6694E02-5AD0-476D-BD2D-43F7E5D10AF6 | | wdtfsmartcardreadersimpleioaction.dll | FA6F7E49-76C6-490C-B50E-8B1E8E0EEE2A | | wdtfiospyaction.dll | FE36026D-CDA8-4514-B3D9-57BDA3870D0C |