Getting started with App deployment
- Martin Gudme Søndergaard
Introduction
Before starting the deployment of apps, there are some considerations to take into account.
Who is the owner?
Is it a personal mobile phone used in work applications? Is it a full company owned and controlled device?
Following best practice, it is necessary to consider the type of devices your organization utilizes and the usage pattern for the devices.
It is important to consider distinguishing between company devices, which is used for a dedicated purpose, like in meeting rooms, receptions, etc. and devices given as a personal device to an individual user. Each type of user pattern might require different application usage and configuration setup.
An example for the use of different apps could be a company app for sales. Such an app would probably not be distributed to all user devices and perhaps not any of the Company devices.
Another example could be a meeting room app, which can be distributed to all devices in the organization.
Who is the user?
How is the device used on a daily basis? Is it a personal device, a kiosk system with no user, or maybe a multi-user system?
In order to deploy apps from Apple App Stores, Google Play, or Windows Store, usually, there needs to be assigned an account to each device. This can be either an Apple ID, Google Account or Microsoft account. Depending on the type of usage for a product, it might be beneficial to use a company account instead of normal user accounts. There is an exception to the account requirement if you use Apple's Volume Purchase Program and devices have iOS9 or higher.
iOS units support the restriction of App Store and Apps. If a device has a profile with such restrictions, it might not be possible to deploy some apps to the device due to these restrictions.
If the device needs some restrictions which prevent the use of the App Store, then the managed Apps must be installed prior to applying the restriction profile or alternatively the restriction profile must be removed during app deployment and reapplied afterward.
Android units enrolled as Device Owner and Samsung KNOX units support the restriction of Play Store and Apps.
If a device has a profile with such restrictions, it might not be possible to deploy some apps to the device due to these restrictions. If the device needs some restrictions which prevent the use of Play Store, then the managed Apps must be installed prior to applying the restriction profile or alternatively the restriction profile must be removed during app deployment and reapplied afterward.
Creating Device Applications
In general an app is a program designed to run on a mobile device, the same as any other program running on a PC. A Device Application is conceptually the same as a CapaInstaller package. It contains a program/app and a "recipe" for installing and uninstalling this program/app.
Unlike on PCs, apps for mobile devices are generally distributed by a dedicated application store, and support for non-application store apps is either not permitted or they require special handling.
CapaInstaller supports all official marketplaces and mainstream devices/platforms.
Windows Mobile Android including KNOX Apple iOS and macOS
Device Management requirements
Creating Enterprise Device Applications
Distributing Device Applications
The device application can now be deployed directly to Devices, Users, or assigned to Groups just like working with all other CapaInstaller packages.
Assign applications to a device
If a Device Application doesn't contain e.g. an Android payload and it is linked to an Android device, the package status will be "Not Applicable". So there is no harm done in bulk deploying Device Applications across device types.
It is like normal packages always recommended that a package is tested in your Development Management Point and later promoted to your production environment.
In most cases, the installation of an app will include prompting the user on the device who will have to accept. On Android and Windows Phone devices, the user is always prompted, and if its an app that costs money, the account on the device will be billed. This is usually also the case with iOS devices, but with the use of Apple's Volume Purchase Program (VPP), there are other options available.
Installing Apps on Apple Devices
The most basic scenario is installing a free app without the use of Licensing on a device with an Apple ID. In this scenario, the user will simply be prompted before the installation.
If instead, you are installing a paid app, the result depends on whether or not the Apple ID on the device has previously purchased that app.
- If it has not been purchased, the installation will fail and its status in the CapaInstaller Console will change to 'Needs License Key'.
- If it has been purchased, the user will be prompted before the installation just as if it was a free app.
If you take advantage of Apple's Volume Purchase Program (VPP), it will give you more options in the distribution of apps. You can purchase licenses in your VPP for the apps you wish to distribute, link it to CapaInstaller Solution and from there assign licenses to users or devices.
You can manage your VPP Licenses and assign them to users and devices separate from the deployment of apps, or you can set it up so that an App automatically retrieves and assigns a license to the devices it is scheduled to be installed on. You can even deploy apps to devices without an Apple ID, by using the device assigned licenses, and this will work for both paid and free apps.
The requirement for user-assigned VPP licenses is that devices run iOS8 or higher, and a device-assigned license is supported from iOS9 and higher.
When Installing apps on macOS there are a few limitations. App Store apps can only be installed through Apple Volume Purchase Program. So in order to install an App Store app, you will need to purchase the app in the Apple Volume Purchase Program (this includes free apps as well).
Please be aware that VPP apps exist for iOS and macOS, so you will have to purchase apps for different platforms.
It is not possible (yet) to remotely uninstall apps on macOS, so when you uninstall an app the license will be released and the app will continue to work on the device, for some time afterward (How long time the app will work after it has lost its license is for Apple to decide).
If you take advantage of Apple's Volume Purchase Program (VPP), it will give you more options in the distribution of apps. You can purchase licenses in your VPP for the apps you wish to distribute, link it to CapaInstaller Solution, and from there assign licenses to users or devices.
You can manage your VPP Licenses and assign them to users and devices separate from the deployment of apps, or you can set it up so that an App automatically retrieves and assigns a license to the devices it is scheduled to be installed on. You can even deploy apps to devices without an Apple ID, by using the device assigned licenses, and this will work for both paid and free apps.
Installing Apps on Android Devices
Installing Apps on Windows Phone Devices
Removing or unlinking Device Applications
There are two ways of working with Device Application removal in CapaInstaller. "Remove Application" will uninstall the app on the device and once that is done it will be unlinked in the console. "Unlink Application" will not uninstall the app, but only unlink it in the console. If you know that the app is no longer installed on the device you could use the Unlink action, but it is recommended to use Remove Application. Both will revoke any VPP Licenses assigned to the device or the Apple ID on the device if the device application is configured to use those VPP licenses.
Updating Device Applications
App updating is handled automatically directly on the device when a new version is available on the relevant vendor marketplace.
CapaInstaller updating of Device Applications from AppStore
If an App needs to be updated on an Apple device it can be either done manually by Setting the App to status "Waiting", or by enabling the "Auto-update application" feature in the App profile. See How to Manage Automatic Application Updates
Updating an Enterprise Device Application
Resetting an App before the update
- To completely wipe App data and user-configured options for the App, Remove the old version of the app, and distribute the updated App again.
Configuring Device Applications
Configuring Apps on Apple Devices
On iOS 7 and above some Apps require further configuration options like an URL, a network port or an email address,
With AppConfig it is possible to configure these and apply them to a Device Application.
Requirements
- AppConfig works on devices with iOS7 or higher.
- The app is developed with iOS “Managed Configuration” capabilities built-in
- The app developer supplies an XML definition file, documenting the configurations that the app supports
- The application can be a public app in the iTunes store or maybe an internally developed app signed for the enterprise.
Configuring Apps on Android Devices
Please be aware of the below requirements to be able to use Application Configuration (Appconfig)
- AppConfig works on Android devices with version 5.0 or higher (Lollipop).
- The CapaInstaller Android Agent on the Device must be enrolled as "Device Owner"
- The App needs to support App configuration in order to work.
- App configurations are individual for each app and perhaps also App versions.
- Some App configuration settings may be dependent on other app configuration settings.
- The app configuration can work for all types of Android apps (Play store Apps, Enterprise Apps or System Apps).
- In order for an App configuration to take effect, it might be necessary to launch the App after the app configuration.
- Changing App configuration for running apps will not necessarily take effect before the Apps is restarted.
On Android, it is possible to make individual App configurations. An App configuration makes it possible to configure App settings for deployed apps.
Typically an App configuration will be used on a managed App, either a Play Store App or and Enterprise App. It can also be used on System Apps.
The App developer provides possible configurations. The configurations can be retrieved by either checking the App developer's support pages or by retrieving the possible app configurations from an Android device that has installed the App through CapaInstaller.
If an App configuration is stored it can be retrieved by clicking the load button.
Licensing
Licensing Apps on Apple Devices
Currently, CapaInstaller supports Apple's Volume Purchase Programs for bulk licensing of Apps.