ScreenSteps Help

ScreenSteps Sidekick – Enterprise (MDM) Deployment Guide

Updated on

What this enables

  • Force-install the extension for users (no manual install).
  • Pre-configure managed settings (via chrome.storage.managed) so the extension knows which ScreenSteps “setup page” to use.

The extension currently supports one managed setting:

Managed storage schema (copy/paste)

This is the extension’s managed storage schema:

{
  "type": "object",
  "properties": {
    "setupUrl": {
      "title": "ScreenSteps Setup URL",
      "description": "The full URL to your ScreenSteps extension setup page (e.g., 'https://acme.screenstepslive.com/extension/setup' or 'https://help.yourcustomdomain.com/extension/setup')",
      "type": "string"
    }
  }
}

Extension IDs (choose the correct one)

Use the ID that matches the store listing you deploy.

  • Chrome Web Store: kjnpdblaciideghjecicchjnjpmodnfp
  • Microsoft Edge Add-ons: mmhfdlbngmgnfphepihackgejcjepmkj

Deployment checklist

  • Decide browser: Chrome/Edge
  • Force-install the extension
  • Set managed configuration (setupUrl)
  • Verify in the extension service worker console
  1. Force-install the extension (Chrome / Edge)

    Use your MDM / policy tooling to force-install the extension by ID.

    You’ll need:

    • Chrome update URL (Chrome Web Store): https://clients2.google.com/service/update2/crx
    • Edge update URL (Edge Add-ons): https://edge.microsoft.com/extensionwebstorebase/v1/crx

    If your environment uses offline CRX distribution or a private store, use your standard method for that and still apply the managed configuration in the next section.

    Example: ExtensionSettings (copy/paste)

    Chrome (Chrome Web Store):

    {
      "kjnpdblaciideghjecicchjnjpmodnfp": {
        "installation_mode": "force_installed",
        "update_url": "https://clients2.google.com/service/update2/crx"
      }
    }

    Edge (Edge Add-ons):

    {
      "mmhfdlbngmgnfphepihackgejcjepmkj": {
        "installation_mode": "force_installed",
        "update_url": "https://edge.microsoft.com/extensionwebstorebase/v1/crx"
      }
    }
  2. Configure managed storage (setupUrl)

    The extension reads managed settings from chrome.storage.managed (Chromium browsers).

    Set the value:

    • Key: setupUrl
    • Value: https://<your-domain>/extension/setup

    Windows (Registry / GPO) — managed storage keys

    Managed extension storage is written under the browser policy hive:

    • Chrome:
      • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\<extension_id>\policy
    • Edge:
      • HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\3rdparty\extensions\<extension_id>\policy

    Example .reg (copy/paste and customize):

    Windows Registry Editor Version 5.00
    
    ; ScreenSteps Sidekick managed storage policy
    ; Requires Administrator privileges
    
    ; Chrome
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\3rdparty\extensions\<CHROME_EXTENSION_ID>\policy]
    "setupUrl"="https://<your-domain>/extension/setup"
    
    ; Edge
    [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\3rdparty\extensions\<EDGE_EXTENSION_ID>\policy]
    "setupUrl"="https://<your-domain>/extension/setup"

    macOS (Configuration Profile / .mobileconfig) — Chrome managed storage

    On macOS, extension managed storage must be delivered by a configuration profile (MDM).

    Chrome extension managed settings use the preference domain:

    • com.google.Chrome.extensions.<extension_id>

    Within that, use a Forced payload and set:

    • mcx_preference_settings.setupUrl = "https://<your-domain>/extension/setup"

    Example payload snippet (copy/paste and customize):

    <key>PayloadContent</key>
    <array>
      <dict>
        <key>PayloadContent</key>
        <dict>
          <key>com.google.Chrome.extensions.<CHROME_EXTENSION_ID></key>
          <dict>
            <key>Forced</key>
            <array>
              <dict>
                <key>mcx_preference_settings</key>
                <dict>
                  <key>setupUrl</key>
                  <string>https://your-domain/extension/setup</string>
                </dict>
              </dict>
            </array>
          </dict>
        </dict>
        <key>PayloadType</key>
        <string>com.apple.ManagedClient.preferences</string>
      </dict>
    </array>
  3. Verify the policy is applied

    Verify in the browser

    • Chrome: open chrome://policy and confirm policies are present.
    • Edge: edge://policy often does not show extension-level managed storage. Use the runtime verification below.

    Verify from the extension (recommended)

    1. Open chrome://extensions/ (Chrome) or edge://extensions/ (Edge)
    2. Enable Developer mode
    3. Find “ScreenSteps Sidekick” and click Service worker to open DevTools for the background context
    4. In the console, run:
    chrome.storage.managed.get(null, console.log);

    Expected output includes:

    { setupUrl: "https://<your-domain>/extension/setup" }

Troubleshooting

  • Policy changes not taking effect:
    • Fully quit and relaunch the browser (on macOS: Cmd+Q)
    • On Windows, ensure policies are set in HKLM (machine-level) if you expect them to apply to all users
  • Wrong extension ID:
    • Confirm the ID in chrome://extensions/ / edge://extensions/ (Developer mode shows it)
    • Ensure you used the correct Chrome vs Edge ID for the store listing you deployed
  • Managed settings are empty ({}):
    • Confirm the policy path/domain exactly matches the extension ID
    • Confirm your MDM/GPO is actually deploying the payload to the target device/user group
Previous Article How to switch between sites in the browser extension
Next Article How to Refresh the Browser Extension