Outlook iOS App Config for third-party MDM

Copper Contributor

Hello,

 

I work for an MDM provider and our customers use an appconfig.org XML specification file for configuring Outlook on iOS. The XML configuration previously worked, but recently when Outlook for iOS was updated (Late October 2019 timeframe), it stopped working. By stopped working, I mean account information for the end user does not get automatically applied during installation or settings update. This means our end users aren't getting exchange automatically configured on their devices. I am currently testing with Outlook 4.15.0.

 

I have verified from the MDM server that the app configuration XML is being converted into an MDM plist without issue and I can even request the app configuration from the device for Outlook and it looks how I expect.

 

This is the XML that they currently use (that no longer works):

 

<?xml version="1.0" encoding="UTF-8"?>
<managedAppConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <version>2</version>
    <bundleId>com.microsoft.Office.Outlook</bundleId>
    <dict>
        <!--
         Configuration copied from here:
         https://technet.microsoft.com/EN-US/library/mt829322(v=exchg.160).aspx#kvp
         -->
        <string keyName="com.microsoft.outlook.EmailProfile.EmailAccountName"/>
        <string keyName="com.microsoft.outlook.EmailProfile.EmailAddress"/>
        <string keyName="com.microsoft.outlook.EmailProfile.EmailUPN"/>
        <string keyName="com.microsoft.outlook.EmailProfile.ServerAuthentication">
            <defaultValue>
                <value>Username and Password</value>
            </defaultValue>
            <constraint>
                <values>
                    <value>Username and Password</value>
                    <value>Certificates</value>
                </values>
            </constraint>
        </string>
        <string keyName="com.microsoft.outlook.EmailProfile.ServerHostName"/>
        <string keyName="com.microsoft.outlook.EmailProfile.AccountDomain"/>
        <string keyName="com.microsoft.outlook.EmailProfile.AccountType">
            <defaultValue>
                <value>BasicAuth</value>
            </defaultValue>
        </string>
    </dict>
    <presentation defaultLocale="en-US">
        <fieldGroup>
            <name>
                <language value="en-US">Exchange Account</language>
            </name>
            <field keyName="com.microsoft.outlook.EmailProfile.EmailAccountName" type="input">
                <label>
                    <language value="en-US">Account Name</language>
                </label>
                <description>
                    <language value="en-US">This value specifies the display name email account as it will appear to users on their devices.</language>
                </description>
            </field>
            <field keyName="com.microsoft.outlook.EmailProfile.EmailAddress" type="input">
                <label>
                    <language value="en-US">Email Address</language>
                </label>
                <description>
                    <language value="en-US">This value specifies the email address to be used for sending and receiving mail.</language>
                </description>
            </field>
            <field keyName="com.microsoft.outlook.EmailProfile.EmailUPN" type="input">
                <label>
                    <language value="en-US">Email UPN</language>
                </label>
                <description>
                    <language value="en-US">This value specifies the User Principal Name for the email profile that will be used to authenticate the account.</language>
                </description>
            </field>
            <field keyName="com.microsoft.outlook.EmailProfile.ServerAuthentication" type="select">
                <label>
                    <language value="en-US">Server Authentication</language>
                </label>
                <description>
                    <language value="en-US">This value specifies the authentication method for the user.</language>
                </description>
                <options>
                    <option value="Username and Password">
                        <language value="en-US">Username and Password</language>
                    </option>
                    <option value="Certificates">
                        <language value="en-US">Certificates</language>
                    </option>
                </options>
            </field>
            <field keyName="com.microsoft.outlook.EmailProfile.ServerHostName" type="input">
                <label>
                    <language value="en-US">Server Hostname</language>
                </label>
                <description>
                    <language value="en-US">This value specifies the host name of your Exchange server.</language>
                </description>
            </field>

            <field keyName="com.microsoft.outlook.EmailProfile.AccountDomain" type="input">
                <label>
                    <language value="en-US">Account Domain</language>
                </label>
                <description>
                    <language value="en-US">This value specifies the user's account domain.</language>
                </description>
            </field>

            <field keyName="com.microsoft.outlook.EmailProfile.AccountType" type="input">
                <label>
                    <language value="en-US">Account Type</language>
                </label>
                <description>
                    <language value="en-US">This value specifies the account type being configured based on the authentication model.</language>
                </description>
            </field>
        </fieldGroup>
    </presentation>
</managedAppConfiguration>


The XML above was generated by hand from this source: https://technet.microsoft.com/EN-US/library/mt829322(v=exchg.160).aspx#kvp

 

We have looked at the configuration at this source as well:  https://docs.microsoft.com/en-us/exchange/clients-and-mobile-in-exchange-online/outlook-for-ios-and-... - When I use keys from this document Outlook detects the `IntuneMAMUPN` key, but adding the account fails with a cryptic error: "<IntuneMAMUPN value> can't be added right now. Please try again later from Settings."

 

- What is the difference?

- Why are the keys different?

- What keys are supported for iOS? Is there a comprehensive document describing the supported app configuration for iOS?

- When I look at the device console logs, I don't see any messages indicating why the app configuration is invalid, and I don't see any failures or errors that would give me any clues either. How can I debug this further?

 

Thank you,

 

Jon G.

0 Replies