0

We are trying to deploy an office excel addin for testing purposes on a network share. We tried using the preferred approach of Microsoft Admin Center. It loads the adding successfully for Excel online, but for some reason it does not work for the local installation of office 365 on the user's machine. We quickly discovered that they use a on premise ad server and according to the documentation this is not supported.

We then tried hosting the addin on a network share so we can at least get going while we figure out a way to deploy the addin in a more appropriate fashion. However no matter what we do, the add in does not appear under the shared folder tab.

I am sure it is something simple, but for the life of me I cannot figure it out. We have run npm validate and this has not found any issues. Any thoughts or suggestions would be appreciated.

Here is our XML file (redacted with ----):

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">
  <Id>974191fc-621f-423d-9364-eb9d7b7e3ae8</Id>
  <Version>1.2.3.0</Version>
  <ProviderName>-----------------------</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="-------------------"/>
  <Description DefaultValue="-------------------"/>
  <IconUrl DefaultValue="https://localhost:3000/assets/icon-32.png"/>
  <HighResolutionIconUrl DefaultValue="https://localhost:3000/assets/icon-64.png"/>
  <SupportUrl DefaultValue="https://www.contoso.com/help"/>
<!--   <AppDomains>
    <AppDomain>https://www.contoso.com</AppDomain>
  </AppDomains> -->
  <Hosts>
    <Host Name="Workbook"/>
  </Hosts>
  <Requirements>
    <Sets DefaultMinVersion="1.1">
      <Set Name="SharedRuntime" MinVersion="1.1"/>
    </Sets>
  </Requirements>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://localhost:3000/taskpane.html"/>
  </DefaultSettings>
  <Permissions>ReadWriteDocument</Permissions>
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Hosts>
      <Host xsi:type="Workbook">
        <Runtimes>
          <Runtime resid="Taskpane.Url" lifetime="long" />
        </Runtimes>
        <AllFormFactors>
          <ExtensionPoint xsi:type="CustomFunctions">
            <Script>
              <SourceLocation resid="Functions.Script.Url"/>
            </Script>
            <Page>
              <SourceLocation resid="Taskpane.Url"/>
            </Page>
            <Metadata>
              <SourceLocation resid="Functions.Metadata.Url"/>
            </Metadata>
            <Namespace resid="Functions.Namespace"/>
          </ExtensionPoint>
        </AllFormFactors>
        <DesktopFormFactor>
          <GetStarted>
            <Title resid="GetStarted.Title"/>
            <Description resid="GetStarted.Description"/>
            <LearnMoreUrl resid="GetStarted.LearnMoreUrl"/>
          </GetStarted>
          <FunctionFile resid="Taskpane.Url"/>
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <CustomTab id="Navi.Tab">
              <Group id="Navi.Tab.Group1">
                <Label resid="Group1.Label"/>
                <Icon>
                  <bt:Image size="16" resid="Icon.16x16"/>
                  <bt:Image size="32" resid="Icon.32x32"/>
                  <bt:Image size="80" resid="Icon.80x80"/>
                </Icon>
                <Control xsi:type="Button" id="TaskpaneButton">
                  <Label resid="TaskpaneButton.Label"/>
                  <Supertip>
                    <Title resid="TaskpaneButton.Label"/>
                    <Description resid="TaskpaneButton.Tooltip"/>
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Icon.16x16"/>
                    <bt:Image size="32" resid="Icon.32x32"/>
                    <bt:Image size="80" resid="Icon.80x80"/>
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <TaskpaneId>ButtonId1</TaskpaneId>
                    <SourceLocation resid="Taskpane.Url"/>
                  </Action>
                </Control>
              </Group>
              <Label resid="CustomTab.Label" />
            </CustomTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>
    <Resources>
      <bt:Images>
        <bt:Image id="Icon.16x16" DefaultValue="https://localhost:3000/assets/logo-full.jpeg"/>
        <bt:Image id="Icon.32x32" DefaultValue="https://localhost:3000/assets/logo-full.jpeg"/>
        <bt:Image id="Icon.80x80" DefaultValue="https://localhost:3000/assets/logo-full.jpeg"/>
      </bt:Images>
      <bt:Urls>
        <bt:Url id="Functions.Script.Url" DefaultValue="https://localhost:3000/functions.js"/>
        <bt:Url id="Functions.Metadata.Url" DefaultValue="https://localhost:3000/functions.json"/>
        <bt:Url id="GetStarted.LearnMoreUrl" DefaultValue="https://go.microsoft.com/fwlink/?LinkId=276812"/>
        <bt:Url id="Taskpane.Url" DefaultValue="https://localhost:3000/taskpane.html"/>
      </bt:Urls>
      <bt:ShortStrings>
        <bt:String id="Functions.Namespace" DefaultValue="----"/>
        <bt:String id="GetStarted.Title" DefaultValue="---------"/>
        <bt:String id="Group1.Label" DefaultValue="System"/>
        <bt:String id="CustomTab.Label" DefaultValue="----------"/>
        <bt:String id="TaskpaneButton.Label" DefaultValue="------------"/>
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="GetStarted.Description" DefaultValue="-------------"/>
        <bt:String id="TaskpaneButton.Tooltip" DefaultValue="Click to show the taskpane."/>
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</OfficeApp>

The output of npm validate:

Validation Information:
Package Type Identified: Package of your add-in was parsed successfully.

Correct Package: Your package matches the submission type.

Valid Manifest Schema: Your manifest does adhere to the current set of XML schema definitions for Add-in manifests.

Manifest Version Correct Structure: The manifest version number has the correct structure for the platform that it supports.

Manifest Version Correct Value: The manifest version number is greater or equal to 1.0.

Manifest ID Valid Prefix: The product ID in the manifest has a valid prefix
  - Details: 974191fc-621f-423d-9364-eb9d7b7e3ae8

Manifest ID Correct Structure: The structure of the product ID is correct.
  - Details: 974191fc-621f-423d-9364-eb9d7b7e3ae8

Desktop Source Location Present: A desktop or default source location URL is found.

Secure Desktop Source Location: The manifest desktop source location URLs use HTTPS.

The manifest source location URLs are valid.: The manifest source location URLs are valid.

Supported Office Identified: Supported Office products were successfully determined.

Support URL Present: The manifest support URL is present.
  - Details: https://www.contoso.com/help

Valid Support URL structure: The manifest support URL has valid structure.

Valid OnlineMeetingCommandSurface ExtensionPoint.: OnlineMeetingCommandSurface ExtensionPoint extracted from manifest is found to be valid.

High Resolution Icon Present: A high resolution icon element was expected and is present.
  - Details: https://localhost:3000/assets/icon-64.png

Supported High Resolution Icon URL File Extension: The manifest high resolution icon URL has a valid image file extension.
  - Details: png

Secure High Resolution Icon URL: The manifest high resolution icon URL uses HTTPS.
  - Details: https://localhost:3000/assets/icon-64.png

Icon Present: A icon element was expected and is present.
  - Details: https://localhost:3000/assets/icon-32.png

Supported Icon URL File Extension: The manifest icon URL has a valid image file extension.
  - Details: png

The manifest icon URL uses HTTPS.: Secure Icon URL
  - Details: https://localhost:3000/assets/icon-32.png

All GetStarted strings are present in Resources: All GetStarted strings are present in Resources

Acceptance Test Completed: Acceptance test service has finished checking provided add-in.


Based on the requirements specified in your manifest, your add-in can run on the following platforms; your add-in will be tested on these platforms when you submit it to the Office Store:
  - Excel 2019 or later on Mac
  - Excel on Windows (Microsoft 365)
  - Excel on the web
  - Excel on Mac (Microsoft 365)
Important: This analysis is based on the requirements specified in your manifest and does not account for any runtime JavaScript calls within your add-in. For information about which API sets and features are supported on each platform, see Office Add-in host and platform availability. (https://learn.microsoft.com/office/dev/add-ins/overview/office-add-in-availability).

*This does not include mobile apps. You can opt-in to support mobile apps when you submit your add-in.

The manifest is valid.
Ivan May
  • 1
  • 1
  • I would do a few simple steps to start. Ask a client to do the following A) Open SMB Share, B) Click/Open ALL URLs in the Manifest and ensure they load in Browser. Finally, if those both work, I'd suspect the XML Manifest isn't working as those are the only reasons I've had it not load. – FreeSoftwareServers Sep 02 '22 at 21:37
  • The URL's in your post show `localhost`. Are the files hosted on a WebServer? – FreeSoftwareServers Sep 02 '22 at 21:45
  • Yeah, they are. Just kept them as is to verify the template. I will go through your suggestion though and update it here. – Ivan May Sep 05 '22 at 14:29

1 Answers1

0

The manifest looks good. Just make sure the host application version supports the requirement set specified in the manifest file.

The process of sideloading add-ins from a network share is described in the Sideload Office Add-ins for testing from a network share article. Make sure that you did all the steps.

See Deploy and publish Office Add-ins for all available options.

Eugene Astafiev
  • 47,483
  • 3
  • 24
  • 45
  • That is the thing. We followed all of these options, but for some reason, we still cannot get the add-in to load. Including manually adding the entries to registry as per the instructions – Ivan May Aug 26 '22 at 06:42
  • Does your target host support web add-ins? – Eugene Astafiev Aug 26 '22 at 10:26
  • So on the target host I can see that web add ins are not blocked in the trust center. ARe you referring to this? We are deploying to an Office E3 licence. I have added the output of npm validate as well – Ivan May Aug 26 '22 at 14:07
  • Hi Eugene. Any other thoughts on this? Will be much appreciated – Ivan May Aug 31 '22 at 12:04