Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Specify value for ~remoteAppUrl in an Office add-in manifest

I'm writing an add-in for Outlook using the new framework. The manifest in the project template uses ~remoteAppUrl to represent the location of the web files. It works great during development, but to publish to the Office Store I need the production URL there. If I save the production URL to the manifest, the production server gets used during debugging, and so local changes don't show up.

The documentation mentions Visual Studio filling in this value during debugging:

Next, Visual Studio does the following:
1. Modifies the SourceLocation element of the XML manifest file by replacing the ~remoteAppUrl token with the fully qualified address of the start page (for example, http://localhost/MyAgave.html).

Is there a built-in way to have Visual Studio fill in the production URL at the appropriate time (before/during Office Store submittal), and not break debugging?

like image 443
Vimes Avatar asked Jul 20 '16 21:07

Vimes


People also ask

How do I add manifest file to Outlook?

Deploying to All Users in the OrganizationOpen the Exchange Admin Center and navigate to Organization > add-ins. Install the manifest file by clicking the + drop down button and do one of the following: To install from the web, select Add from URL, enter https://www.expta.com/quarantine/manifest.xml, and click OK.

What is an add-in manifest?

The XML manifest file of an Office Add-in describes how your add-in should be activated when an end user installs and uses it with Office documents and applications.

How to debug Office js?

Start the Excel, PowerPoint, or Word add-in projectStart the project by choosing Debug > Start Debugging from the menu bar or press the F5 button. Visual Studio will automatically build the solution and start the Office host application.


1 Answers

Yes, there is a built-in way to have Visual Studio replace the ~remoteAppUrl symbolic reference token by the target URL of your choice.

  1. From Visual Studio, access the "Publish..." option of the add-in project, then click on the "Package the add-in" button
  2. You can then enter the URL in the modal dialog that pops up
  3. A build is then triggered that will inject the URL in the produced Manifest XML file
  4. A Windows Explorer window will conveniently open to show the produced file.

The following ways are not built-in but may be useful as well.

If you want this in an automated build, you need to specify values for the build parameters IsPackaging (True) and RemoteAppUrl.

If you want this in the standard Visual Studio Build, given that Visual Studio does not provide an easy way to specify Build parameters (see How to emulate /p msbuild parameter in Visual Studio build?) you will need to edit your project file to set the values of the same build parameters. For instance like this:

...
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    ...
    <IsPackaging>True</IsPackaging>
  </PropertyGroup>
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
    ...
    <RemoteAppUrl>https://localhost:44300</RemoteAppUrl>
  </PropertyGroup>
  ...  
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
    ...
    <RemoteAppUrl>https://your.own.url</RemoteAppUrl>
  </PropertyGroup>
...
like image 88
DeChrist Avatar answered Sep 22 '22 14:09

DeChrist