Install Progressive Web Apps on Surface Hub

Progressive Web App (PWA) support significantly extends the library of available apps that can run on Surface Hub. Users can access apps outside of the Microsoft Store and run them directly from the App menu. Compared to web pages, PWAs behave more like native apps with offline functionality and the ability to update in the background. Most websites can be installed as PWAs and take advantage of any additional functionality enabled by web developers.

Admins can remotely install PWAs on Surface Hubs via mobile device management (MDM) providers like Microsoft Intune. Or you can use a provisioning pack. This article describes both methods with sample code for installing YouTube, WebEx, Zoom, and Uber and instructions for installing your own PWAs. To learn more, see Overview of Progressive Web Apps.

Note

Before you install PWAs, ensure that your Surface Hub has KB5011543 (or a subsequent Windows update) installed. To learn more about the latest Windows 10 Team updates, refer to Surface Hub update history.

Users can also install PWAs for use during their Hub session. When the session ends, PWAs are removed. To learn more, see Install, manage, or uninstall apps in Microsoft Edge

Install PWAs via Intune

Use Intune or another MDM provider to install PWAs on Surface Hubs. To learn more, refer to Manage Surface Hub with an MDM provider.

Get started

  1. Sign in to the Intune portal at Microsoft Intune admin center.

  2. Go to Devices > Configuration Policies > Create profile.

  3. Under Platform, select Windows 10 and later. Under Profile type, select Templates. Under Template name, select Administrative Templates.

  4. Select Create.

    Create Intune Configuration profile

  5. Name the profile, enter an optional description, and select Next.

    Name profile

Configure force-installed Web Apps policy (Intune)

  1. Under All Settings > Computer Configuration, select Microsoft Edge and in the Search box, enter force-installed, select force-installed Web Apps, and then select Enabled.

    Enable force-installed Web apps

  2. Under URLs for Web Apps to be silently installed, copy and enter the following code snippet to install PWAs for YouTube, Webex, Zoom, and Uber. Or skip to the next step to install other PWAs.

    Enter list of force-installed Web apps

    [
    { "url": "https://www.youtube.com/",       "default_launch_container": "window" },
    { "url": "https://signin.webex.com/join",  "default_launch_container": "window" },
    { "url": "https://zoom.us/join",           "default_launch_container": "window" },
    { "url": "https://www.uber.com/",          "default_launch_container": "tab"}
    ]
    
  3. Alternatively, you can create a JSON snippet from the following syntax to install other PWAs.

    [ { "url": "https://www.contoso.com ",   "default_launch_container": "window" }, 
    
    { "url": "https://www.fabrikam.com/",   "default_launch_container": "tab"  } ]
    
  4. On the Scope tags page, select Next to skip.

  5. On the Assignments page, under Included groups, select Add groups.

    Add groups

  6. Under Select groups to include, enter the name of a group containing the Surface Hubs you wish to target, choose Select, and then click Next. To learn more about assigning a Configuration profile to a group, see Add groups to organize users and devices.

    Select groups

  7. Review and then select Create.

    Create profile

  8. To apply the Configuration profile immediately, select Devices > All devices and find the device you targeted. Open its Overview pane, and select Sync.

    Sync Tenant

Important

To complete installation of PWAs, go to your Surface Hub and launch Edge. PWAs are installed and appear in the Start menu All apps list.

Add PWAs to Start menu

You can modify the default Start menu so users have quick access to PWAs at the start of each Surface Hub session. To learn more, see Configure Surface Hub Start menu

Troubleshooting Intune-managed PWAs

If you don't see PWAs listed under All apps:

  • Make sure your Surface Hub has the latest updates, specifically KB5011543 (or a subsequent Windows update). To learn more about the latest Windows 10 Team updates, refer to Surface Hub update history.
  • Check to ensure the Configuration profile has successfully applied and has no conflicts with other settings.
  • Check to ensure the Configuration profile is targeted to a security group that contains your Surface Hub.
  • Remember to launch Edge a single time on your Surface Hub, which is required for Intune-managed PWAs to successfully install.

Install PWAs via provisioning package

You can install PWAs by applying a provisioning package to Surface Hubs using a USB drive. To learn more refer to Create provisioning packages.

Get started with provisioning

  1. On a separate PC running Windows 10 or Windows 11, install Windows Configuration Designer (WCD) from the Microsoft Store.

  2. In WCD, create a new Project. Select Provision Desktop Devices, provide a name for the project and choose Finish.

  3. Select Switch to advanced editor and select Yes to confirm.

Configure MSEdgePolicy

  1. In the Available customizations pane in WCD, go to \Runtime Settings\ADMXIngestion\ConfigOperations\ADMXInstall\AppName

  2. In the customizations edit pane, enter the app name as MSEdgePolicy and select Add.

    Enter app name as MSEdgePolicy

  3. In the Available customizations pane, select AppName: MSEdgePolicy and in the edit pane, change SettingType to Policy and choose Add.

  4. In the Available customizations pane, select SettingType: Policy and in the edit pane, set AdmxFileUid to MSEdgePolicy, and choose Add.

  5. In the Available customizations pane, select AdmxFileUid: MSEdgePolicy and in the edit pane, set MSEdgePolicy by entering the following code as a single line of text:

    Enter code for MSEdgePolicy

    <policyDefinitions revision="1.0" schemaVersion="1.0" xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions">  <!--microsoft_edge version: 96.0.1054.53-->  <policyNamespaces>    <target namespace="Microsoft.Policies.Edge" prefix="microsoft_edge"/>    <using namespace="Microsoft.Policies.Windows" prefix="windows"/>  </policyNamespaces>  <resources minRequiredRevision="1.0"/>  <supportedOn>    <definitions>      <definition displayName="$(string.SUPPORTED_WIN7_V80)" name="SUPPORTED_WIN7_V80"/>     </definitions>  </supportedOn>  <categories>    <category displayName="$(string.microsoft_edge)" name="microsoft_edge"/>    <category displayName="$(string.microsoft_edge_recommended)" name="microsoft_edge_recommended"/>  </categories>  <policies>    <policy class="Both" displayName="$(string.WebAppInstallForceList)" explainText="$(string.WebAppInstallForceList_Explain)" key="Software\Policies\Microsoft\Edge" name="WebAppInstallForceList" presentation="$(presentation.WebAppInstallForceList)">      <parentCategory ref="microsoft_edge"/>      <supportedOn ref="SUPPORTED_WIN7_V80"/>      <elements>        <text id="WebAppInstallForceList" maxLength="1000000" valueName="WebAppInstallForceList"/>      </elements>    </policy>    </policies></policyDefinitions>
    

Configure force-installed Web Apps policy (provisioning package)

  1. In the Available customizations pane in WCD, go to: \Runtime Settings\ADMXIngestion\ConfigADMXInstalledPolicy\AreaName

  2. In the customizations edit pane, enter the Areaname as MSEdgePolicy~Policy~microsoft_edge, select Add.

  3. In the Available customizations pane, select AreaName: MSEdgePolicy~Policy~microsoft_edge and in the edit pane, set Policy Name to WebAppInstallForceList and select Add.

  4. In the Available customizations pane, select PolicyName: WebAppInstallForceList and in the edit pane for WebAppInstallForceList enter PWA code as a single line of text.

    Enter code for force-installed Web Apps policy

PPKG code samples

  • YouTube PWA:

    <enabled/><data id="WebAppInstallForceList" value="[{&quot;url&quot;: &quot;https://www.youtube.com&quot;, &quot;create_desktop_shortcut&quot;: true, &quot;default_launch_container&quot;: &quot;window&quot;}]"/>
    
  • Multiple PWAs including YouTube, Webex, Zoom, and Uber:

     <enabled/><data id="WebAppInstallForceList" value="[{&quot;url&quot;: &quot;https://www.youtube.com&quot;, &quot;create_desktop_shortcut&quot;: true, &quot;default_launch_container&quot;: &quot;window&quot;},{&quot;url&quot;: &quot;https://signin.webex.com/join&quot;, &quot;create_desktop_shortcut&quot;: true, &quot;default_launch_container&quot;: &quot;window&quot;},{&quot;url&quot;: &quot;https://zoom.us/join&quot;, &quot;create_desktop_shortcut&quot;: true, &quot;default_launch_container&quot;: &quot;window&quot;},{&quot;url&quot;: &quot;https://www.uber.com&quot;, &quot;create_desktop_shortcut&quot;: true, &quot;default_launch_container&quot;: &quot;window&quot;}]"/>
    
  • Alternatively, you can create a JSON snippet from the following syntax to install other PWAs:

    <enabled/><data id="WebAppInstallForceList" value="[{&quot;url&quot;: &quot;https://www.contoso.com&quot;, &quot;create_desktop_shortcut&quot;: true, &quot;default_launch_container&quot;: &quot;window&quot;}]"/>
    

Export provisioning package and apply to Surface Hubs

  1. In the menu bar, select Export, select Provisioning Package and follow the prompts to generate the .ppkg file.

  2. Insert an empty USB flash drive. Select output location to go to the location of the package. Copy the .ppkg file to the USB drive.

  3. Apply the provisioning package via the Settings app or during first-run setup. To learn more, see Create provisioning packages

Troubleshooting provisioning package PWAs

If you don't see PWAs listed under All apps:

  • Make sure your Surface Hub has the latest updates, specifically KB5011543 (or a subsequent Windows update). To learn more about the latest Windows 10 Team updates, refer to Surface Hub update history.