The problem with bringing together a wealth of different delivery methods is that each delivery technology tends to come with its own client to install on the target device, with AppsAnywhere itself being no exception! If we were to expect the user to install all of the clients that were required themselves and keep them all up to date then the support team would be inundated with requests for help. To remove this burdon from the user, we have built AppsAnywhere to completely automate the version control for all third party clients and update itself as and when required; we call it "Advanced Client Management".
This functionality basically allows you, as the administrator, to define exactly which clients you want installed on the user's device and which versions you want them to be using, then AppsAnywhere and the AppsAnywhere Client handle the rest.
At the moment, the advanced client management includes the AppsAnywhere Windows Client (and its associated updater app), the AppsAnywhere Mac Client and all of the third party clients required by the delivery technologies AppsAnywhere is currently integrated with. As it currently stands, this includes:
VMWare View client for Windows
VMWare View client for Mac
Parallels RAS Client for Windows
Parallels RAS Client for Mac OS
How does it work?
At AppsAnywhere HQ, we store a central repository of each version of every client that is managed by the system. The information relating to which clients are available is then made available to each AppsAnywhere installation via a global API. When you visit the Client Settings in page in AppsAnywhere, AppsAnywhere contacts the central API and retrieves the latest version information for each product. Each product is then listed on the page shown below and the most recently released version shown on the far right hand side, along with an indication of whether or not you are using that version.
You then have the ability to choose which version you wish to be used with your installation.
The version you select as the "Current Version" is the one you wish to be deployed to your end users if they haven't already got that particular product. When you select a new current version, AppsAnywhere will download the installers for that version of the product and save them to the public/downloads folder on your server so that the client can download it, as required, from your AppsAnywhere server. If you have more than one AppsAnywhere server setup then AppsAnywhere will also instruct those other servers to do the same so that the file is available from all servers (See Server Clustering).
The version you select as the "Minimum Version" dictates at what point a user will be upgraded if they already have a version of the product installed. The AppsAnywhere client will ensure that everyone is running at least the minimum specified version of each product and so changing this value could potentially result in all of your users being upgraded.
For each third party client you can decide whether or not you want it to be installed by default when the user installs AppsAnywhere.
With the Pre-Deploy checkbox Checked, the product will be installed straight after the AppsAnywhere client installation completes (as AppsAnywhere initializes for the first time) ready for the first time someone wishes to use an app that requires that client.
With the Pre-Deploy checkbox Un-Checked, the product will be installed the first time the user tries to launch an app that requires it.
There is an obvious trade-off between slowing down the initial installation time and not delaying the user when they launch an app for the first time. You should consider which third party clients your users are most likely to require and consider these for pre-deployment whilst maybe leaving those that are less likely to be used to be installed when required.
Syncing Between Servers
Whenever a change is made on the client settings page, AppsAnywhere instructs all other servers in the cluster (defined under Environments > AppsAnywhere Servers) to apply the same update. If you have changed the current version of a client, this will have resulted in that version being downloaded from the Software2 CDN to the server on which you made the change. Once the server has the file, it will instruct each of the other servers to download that file from the initiating server so that it exists on all servers and is available for download. Each of the other servers in the cluster will download the file from the initiating server using it's defined hostname over HTTP.
When do upgrades occur?
Upgrades to AppsAnywhere itself are executed by the Updater task which runs at a predetermined time each day. This is dictated by the Scheduled Task setup on Windows devices which will run at a random time during working hours. Third party clients are upgraded when the AppsAnywhere client initializes, either at logon or the first time AppsAnywhere is used for each logon session.