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:

  • setupUrl(string): Full URL to your ScreenSteps extension setup page (example: https://help.yourdomain.com/extension/setup).

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)
  • Deploy force-install (ExtensionSettings) and managed setupUrl (3rd-party policy) — both are usually required for a silent, pre-configured install.
  • 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"
      }
    }

    Note on ExtensionSettings in the registry (no Group Policy)

    If you deploy policies without Group Policy (for example by importing a .reg file, running a script, or using MDM “custom registry”), force-install still uses the same JSON as above, but on Windows it must be stored as a single registry value:

    • Chrome — Key: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome
    • Edge — Key: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge

    Value name: ExtensionSettings
    Value type: REG_SZ (string)
    Value data: the JSON object, on one line is fine (minified).

    Important: If ExtensionSettings already exists for other extensions, merge this extension into the existing JSON. Replacing the entire value with only Sidekick will remove policy for other extensions.

  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

    The registry paths below apply only to managed storage (setupUrl). They do not force-install the extension. To force-install without GPO, set ExtensionSettings as described in the previous section, or use your MDM/GPO extension policy features.

    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
  • Extension never installs: Confirm ExtensionSettings is deployed (GPO/MDM or the ExtensionSettings REG_SZ on the correct Chrome vs Edge key), JSON is valid, and you used the extension ID and update URL for the store you chose (Chrome Web Store vs Edge Add-ons).
  • setupUrl is empty in chrome.storage.managed: Confirm only the 3rd-party registry path and extension ID; ExtensionSettings does not set setupUrl.
  • Edge on Windows: Use the Edge Add-ons ID and Edge update URL when standardizing on Edge.
Previous Article How to switch between sites in the browser extension
Next Article How to view what site you're logged into on Sidekick