Internal App Deployment

Use Workspace ONE to distribute, track, and manage your internal applications. These are applications built in-house and not hosted on Public App Stores. You can upload the application files directly to AirWatch console for deployment. However, if you use an external repository to host your internal applications, then you can easily integrate that host with AirWatch, instead of migrating the entire catalog to AirWatch.

Supported File types for different platforms:

Platform File Type
Android APK
iOS IPA
macOS APP Package Bundles
Windows Desktop APPX, EXE, MSI, ZIP
Windows Phone APPX, XAP

Once the application is installed, you can track the installation status and reason codes in case of failures.

1. Upload Internal Application with a Local File

In this section, we are going to add an iPA file to AirWatch console as an internal iOS app.

1.1. Add Internal Application

In the AirWatch console,

  1. Click on Add
  2. Click Internal Application

1.2. Upload

Click Upload

1.3. Choose File

Click Choose File

  1. Click on Downloads
  2. Select AppLifecycle_101.ipa
  3. Click Open

1.5. Save

Click Save

1.6. Continue After Uploading IPA

Click Continue.

1.7. Application Details

  1. Notice how AirWatch can parse the Application bundle ID from the IPA File. All the application versioning within the AirWatch Console is based on the Application ID.
  2. Notice how AirWatch can also parse the Application Version number from the IPA File.
  3. Select Category Productivity (System)
  4. You can also change the minimum OS requirement to be able install this app. For this lab, we are going to keep this value to default iOS 9.0.0.
  5. Click on Save & Assign

Categories are useful to group the apps so that they are easy to find from the catalog.

Internal app version for iOS is determine by CFBundleVersion and CFBuildShortVersionString from info.plist

2. Add an Assignment to the Internal Application

We will now configure which devices will receive the internal application.

2.1. Add Assignment

Click Add Assignment

2.2. Add Delivery method

  1. All the assignments in AirWatch are done via Assignment Groups. These assignment groups can be created by specifying different filter criteria on your devices and/or users. For this lab we are going to select our default group All Devices
  2. Your App Delivery method can be Auto where the application is installed automatically to the enrolled device. However, for this lab, we are going to select On Demand to see how can we download these apps from Workspace One Catalog.
  3. You can also select the Deployment Begin Date for a particular app assignment. If you select a date in future, the app will not be available for download until that time. For this lab, we are going to keep the default value, which should reflect the current date.

2.3. Enable Remove on Unenroll

  1. Scroll down until you see the section Policies
  2. Select Enable for Remove on Unenroll
  3. Click on Add to continue.

By enabling this option, you are flagging this app to be removed when the device is un-enrolled after this lab is ended. We will have the same configuration for all the apps that we are going to deploy in this lab.

Enable this flag if you want to un-install the app so that the app data is not leaked when an employee leaves the organization or when the device is lost or stolen.

2.4. Save & Publish

Click on Save & Publish to continue.

2.5. Publish

Preview your device assignment and click Publish to continue.

3. Provisioning Profiles for Enterprise Distribution

  1. Click Apps & Books
  2. Expand Applications
  3. Click Native
  4. Click the Internal tab.
  5. Validate that you have the application uploaded with the name as AppLifecycle.
  6. In the Version column, you will see the version as 1.0.1
  7. In the column Renewal Date, you will see when the provisioning profile is going to expire for this particular app.

You can renew this provisioning profile from AirWatch console itself (via Application Details > Files menu), without having to rebuild and re-upload the app to the AirWatch console. This simplifies the recurring task of profile renewal, without any intervention from App Developer and any interruption on the end user devices.

For this lab, we are not going to renew the provisioning profile of this app.