FAQ for developing apps for Office

apps for Office

This topic answers frequently asked questions for developing apps for Office.

Last modified: July 21, 2014

Applies to: Access app for SharePoint | Excel 2013 | Excel 2013 RT | Excel 2013 SP1 | Excel Online | Outlook 2013 | Outlook 2013 RT | Outlook 2013 SP1 | Outlook Web App | OWA for Devices | PowerPoint 2013 | PowerPoint 2013 RT | PowerPoint 2013 SP1 | PowerPoint Online | Project 2013 | Project 2013 SP1 | Word 2013 | Word 2013 RT | Word 2013 SP1

   Office.js: v1.0, v1.1

   Apps for Office manifests schema: v1.0, v1.1

Note Note

"Outlook" in this article refers to the Outlook rich client, Outlook RT, Outlook Web App, and OWA for Devices.

In this article
FAQ
Additional resources

  • Can I use apps for Office if I don’t use Internet Explorer?

    You do not necessarily have to use Internet Explorer as the default browser—you can use Safari, Firefox, or Chrome. However, if you are using a supporting Office rich client (such as Excel, Word) or Outlook Web App as the host application, you must have Internet Explorer 9, or a later version, installed on the client computer, because the Office host application uses Internet Explorer 9 components to open an HTML page in the browser control. For versions and other details of the various browsers, operating systems, and form factors that support apps for Office, see Overview of apps for Office.

  • Can I access the COM object model of the Office host application from an app for Office?

    You cannot access the host application COM object model from an app for Office. The apps for Office platform offers a more unified web-based extensibility platform for Office client applications running on Windows desktop computers, tablets and mobile phones. Relying on COM would render an app unavailable to users in these scenarios. On the other hand, apps for Office are not intended to replace or supersede the existing client COM-based object models. Based on this premise, the capabilities of apps for Office do not overlap with some of those supported by the client object models (for example, extending the Microsoft Office Fluent user interface, automating an Office client application, or creating a new process for the Office client application).

  • Can I use ActiveX controls in an app for Office?

    No, you may not use ActiveX controls on apps for Office. If you want to integrate functionality specific to Windows, for example, gaining access to a microphone or downloading a file, you can do this in a pop-out browser window.

  • Can I have an image to represent my app for Office in the user interface?

    There are 2 images you can use. You can specify an icon image to represent your app in the host application user interface. If you submit your app in the Office Store, you can specify an app logo image to represent your app. See the section Create a consistent visual identity for your app in How to: Create an effective Office Store listing for your app for Office or SharePoint for details such as requirements for size and format.

  • Can I make web service calls from an app for Office?

    Whether you can make a web service call from an app for Office depends on the location of the web service:

    • If the web service is on the same web server as the HTML source file of the app for Office, you can call the web service using standard JavaScript techniques without causing a cross-domain scripting error.

    • If the web service is on any other server, the same-origin policy would prevent the HTML page of an app (that runs JavaScript code) from one domain from getting or setting properties of a document from another domain. You would need a proxy for the web service, on the server that hosts the source files for the app. One way to do this is using JSON/P: provide a proxy for the web service by including a script tag with a src attribute that points to some script hosted on the other domain. For an example of JSON/P, see Sample: Create a mail app to view YouTube videos in Outlook. Exchange and SharePoint supply client-side proxies for enabling cross-domain access. For more information, see Addressing same-origin policy limitations in apps for Office.

    • For mail apps, you can use the makeEwsRequestAsync method to call an Exchange web service. Make sure you request ReadWriteMailbox permission in the manifest so as to be able to use this method. For more information, see Call web services from a mail app for Outlook.

  • I am new to apps for Office, recently downloaded some sample apps, of which some work fine, but one of them gives me an HTTP Error 404. What can I do to troubleshoot?

    In general, start troubleshooting apps problems with the following basic steps:

    1. If the app runs in a document on Excel, Word, PowerPoint, or Project, close and reopen the document. If that does not change the behavior, or if the app is a mail app, restart the host application. This usually resolves most issues on the client host application.

    2. Check the security settings for the Internet zone on your browser, resetting them to the default settings and try again.

    3. If you have another computer, does the same problem occur there? This can help identify issues with your computer configuration.

    4. In particular, problems that impact one app but not others may be related to services that the app relies on. An HTTP 404 error is often a result of a server not finding a web page. The page may be available again in the future, so you can try the app again after a while.

    5. For mail apps, you can also refer to Troubleshoot mail apps activation for more tips.

  • What are the recommended debugging tools for developing apps for Office?

    You can use any common web development and debugging tool that allows saving a file as text, or take advantage of "Napa" Office 365 Development Tools or Visual Studio, both of which offer a development environment, project templates, and debugging tools especially for creating apps for Office. You can also set up and use the Telemetry Log for Office to track app-related events, such as loading an app manifest and closing the app, and issues with licensing, parsing the HTML markup, activating, using CPU resource, and other runtime errors. To find out more about the convenience of using "Napa" Office 365 Development Tools or Visual Studio, see Sign up for an Office 365 Developer Site, set up your tools and environment, and start deploying apps. For more information about using the Telemetry Log for apps, see Following resource usage rules in apps for Office.

  • Why is the app pane blank when I expect my HTML code to be working?

    If your HTML or JavaScript code is displaying the user interface as you expect in a browser, make sure that the DOM has been loaded and the app runtime environment is ready (as indicated by the Office.initialize event) before the main function of your app starts.

    One way to check such conditions is to use the jQuery function, $(document).ready(). For example, the following initialize event handler function checks whether the DOM is first loaded before the code specific to initializing the app runs.

    Office.initialize = function () {
        var mailbox = Office.context.mailbox;
        _Item = mailbox.item;
    
        // Checks for the DOM to load.
        $(document).ready(function () {
            // After the DOM is loaded, app-specific code can run.
            initDialer();
        });
    }
    

    The phone dialer sample mail app shows a slightly different approach using only JavaScript to check these same conditions. For a description of the code, see the "JavaScript implementation" section of Sample: Create a mail app for Voice Over IP dialing in Outlook.

    Important: If you fail to include an Office.initialize event handler, your app may raise an error when it starts. Also, if a user attempts to use your app with an Office Online web client, such as Excel Online, PowerPoint Online, or Outlook Web App, it will fail to run.

    If your app includes more than one page, whenever it loads a new page that page must include or call an Office.initialize event handler.

    For more details about the sequence of events when an app is initialized, see Loading the DOM and runtime environment.

Icon for task pane and content apps for Office
  • How do I decide whether to use a content app or task pane app?

    Content apps let you integrate web-based features in-line with a document (for example, integrating data visualization or embedding media in a video player or picture gallery). Task pane apps let you provide contextual information and functionality side-by-side with a document, to enhance the viewing and authoring experience (for example, providing a look-up and retrieval service).

    Because content apps are intended to integrate additional web content, they support the following features:

    • Printing content in an app.

    • Zooming into content in an app.

    • An option to show a saved image of the content in an app. This is useful in scenarios where you expect the audience of the document is interested in only viewing some elaborate data visualization but not modifying the content.

    • Allowing snapshots of the last-saved content in the app. This is useful if the document is consumed in a down-level or off-platform scenario.

    Task pane apps support locking and unlocking, to prevent a user accidentally closing the task pane app in a template document and not knowing how to add it back. With this feature, a user must unlock the task pane app before closing it.

  • Why does my app not activate in some documents?

    First, check to make sure that your administrator has not disabled apps using a Group Policy Object (GPO). There are other reasons for apps to not activate:

    • The document is protected by Information Rights Management (IRM).

    • The document is in protected view or safe mode.

    • If you have uploaded the app in an app catalog, a reason could be that the app catalog is in the Intranet Zone and the catalog URL is not in the list of trusted catalogs.

    • The host application does not support any of the capabilities requested by the app in its manifest. For more information about capabilities, see How to: Specify the Office host applications your app supports (manifest schema v1.0).

  • My app specifies ReadWriteDocument permission, why does writing keep failing?

    Even though the permission enables the subset of API to write, the document or the selection within the document must also be in a state that allows writing. To test this state, try typing into the area of the document as an end user would.

Icon for mail apps for Office
  • Why is the Manage Apps button missing in the Backstage view in Outlook?

    To use mail apps in Outlook, aside from using Outlook 2013, your Outlook account must be on an Exchange 2013 server. If your Outlook account is on a different kind of server such as POP, or is on a version of Exchange Server earlier than Exchange 2013, you cannot use mail apps and, therefore, will not see the Manage Apps button in the Backstage view.

  • Why does my mail app activate on some email messages but not on other items?

    There are certain kinds of email messages on which Outlook would not activate mail apps:

    • The message is protected by Information Rights Management (IRM).

    • The message is in S/MIME format or encrypted in other ways for protection.

    • The message is a draft (does not have a sender assigned to it), or is in the Outlook Drafts folder.

    • The message is in the Junk Email folder.

    • The message is an Exchange Non-Delivery Report (NDR).

    • A .msg file which is an attachment to another message, or opened from the file system.

    Also, if you use an ItemHasRegularExpressionMatch rule to activate a mail app and specifies the BodyAsHTML value for the PropertyName attribute, because appointment items are always saved in Rich Text Format, that rule would never activate the mail app for appointments. There are other issues you should be aware of when using ItemHasRegularExpressionMatch rules. For more details, see Use regular expression activation rules to show a mail app in Outlook.

    There are other reasons that may cause your mail app to not activate on some messages as expected. See Troubleshoot mail apps activation for more information.

  • If I have installed multiple mail apps in Outlook, what determines the sorting order of the apps in the app bar?

    Mail apps are displayed in the order they were installed, from the most recent to least recent.

  • What is the limit to the number of mail apps that can be displayed on the app bar and overflow menu in the Outlook rich client?

    The limit is 20 for the Outlook rich client. However, this is not the only restriction for mail apps in the Outlook rich client. For individual apps, there are also rules on performance, memory, and CPU usage that mail apps running on the Outlook rich client must follow. For more information, see Following resource usage rules in apps for Office.

  • Can I access the user’s data on the local computer from a mail app?

    A mail app runs in an IFrame process in an app runtime environment and, therefore, cannot access data on the user’s local computer. Mail apps can access data by the following means: mail apps can access the user’s profile by using the Mailbox.userProfile property, persist data about a mailbox by using roaming settings, and persist data about an Outlook item by using custom properties. A mail app that has read/write mailbox permission can read and write all properties of any item in the user's mailbox.

  • Why does Outlook not activate my mail app when I have set an ItemHasKnownEntity rule and I expect Outlook to recognize the address in the message body?

    Recognizing an item as containing certain entities, such as an address and contact, generally depends on the context of the occurrence. The recognition is based on a learning model that has been trained on a large amount of natural language data. For an address to be recognized, it should follow the structure of a United States postal address, with most of the elements of a street number, street name, city, state, and zip code present. For more information, see Match strings in an Outlook item as well-known entities.

    Also, Outlook can extract entity strings only in English, regardless of the default locale specified in the manifest.

Show:
© 2014 Microsoft