Overview

There are many different ways in which an application can be delivered. To determine the best way of delivering an application it may be necessary to take into account the type, ownership and the physical location of the device. However, in some cases an application may already be installed, either by the user themselves or through a means of delivery outside of AppsAnywhere, so it is not necessary to deliver the application at all.

To give a consistent experience, if an app is already installed on a user’s device, they should still be able to launch it via AppsAnywhere. This is the purpose of the locally installed delivery method.

This delivery method uses the AppsAnywhere client to detect apps that are installed on the device and make them launchable from within AppsAnywhere but does not (at this stage at least) support all apps. If you wish for the user to launch an app that you have specifically deployed to your managed devices, it may be worth considering the Locally Deployed delivery method instead.

Common Uses

Most AppsAnywhere customers choose to deploy Microsoft Office as part of their base image. This causes confusion for users who have been told that all of their applications are available through AppsAnywhere and they don't actually think to check the Start Menu for these more traditionally-deployed applications. This delivery method is used to remove that confusion and allow administrators to advertise locally deployed applications alongside all of the other applications available through AppsAnywhere

Windows

Before you start

There are three ways to detect an app on windows. All three detection methods require the Launch exe to be provided, and these options fall back in the order they are listed in below.

Not all apps are compatible with the locally installed delivery method. For an app to be compatible, it must work with at least one of the three detection methods listed below.

AppPaths

The first detection method is by far the easiest to set up and involves the App Paths registry keys found in the following locations:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\App Paths
CODE

Each executable installed by an app should (according to Microsoft recommendations) be registered in one of the App Paths registry hives. If it has been registered, then the AppsAnywhere client will be able to detect and launch the app, regardless of where it is installed, by knowing only the name of the executable. 

Start by looking for the name of the executable you wish to advertise under the App Paths registry hives and ensure it has the location defined in the registry keys contained within. 

For more information on App Registration in the App Paths hive, see this MSDN article.

Uninstall Keys

The second detection method is used as a fallback in order to increase coverage of supported apps. It involves the information stored in the following locations and is considered a fallback as it is slightly more cumbersome to use in the first instance.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
CODE

Each piece of software installed on a Windows device should register itself in one of these locations so that it can be removed from the "Add/Remove Programs" / "Programs and Features" / "Apps and Features" control panel item. Each registry key in this location should include a specific set of information about the related piece of software such as the name, version, publisher and most importantly for us, an install location. 

In addition to searching the App Paths locations, the AppsAnywhere client will detect any app registered in the Uninstall keys, as long as it has an InstallLocation value defined.

This detection method works slightly differently as it does not reference specific executables. Where an app is defined with an InstallLocation against an Uninstall key, it is possible to launch any executable that can be found within the InstallLocation path.

If your app executable is not listed under the App Paths keys, then locate the reference to the installation in the Uninstall keys and if there is an InstallLocation defined, make a note of the Uninstall key and the path of the executable you wish to launch, relative to the defined InstallLocation.

For more information on uninstall information found in the registry, see this MSDN article.

Directories

As a final fallback, you may provide a list of directories in which the executable for the app could be found.

You should provide a list of directory paths without the exe name, as the value you have provided for the Launch exe field will be appended to each launch directory path by AppsAnywhere. Each path should be placed on a separate line.

Before you try and set up these delivery methods, be sure to determine whether not they can be detected and which detection method you will need to use.

To assist with this a tool has been created and is available on the AppsAnywhere Forum on the Tool to export registry keys for Locally Installed Apps article.

macOS

On macOS, the application name will be used to find the application directly, simply enter the name of the application in the macOS launch application name field.

Common Delivery Method Settings

All delivery methods share some basic, common settings that you will need to understand before continuing. Make sure you have read the Common Delivery Method Settings article before continuing.

Once you understand the common settings and how they work, you can go to the application you want to manage:

  1. Log into AppsAnywhere as an admin user

  2. Click on Return to Admin to access the AppsAnywhere admin portal

  3. On the navigation menu at the top of the page, go to Applications > Manage Applications

  4. Click Edit next to the application you wish to manage

Creating the delivery method

Adding a new delivery method:

  1. On the application management page, select the Delivery Methods tab

  2. Under the list of current delivery methods, you will see the Add New Delivery Method section

  3. Select Locally Installed from the Add Delivery Method screen

  4. Click Add or double click the delivery method

  5. The form for adding a new Locally Installed delivery method will then load up on the right-hand side

  6. Complete the required details (described below)

  7. Set the Operating System Compatibilities and the Restrictions for your delivery method

  8. Click Save 

If the save was successful, you will see the form replaced with the following message and your new delivery method will be added to the bottom of the list on the left-hand side

If there were any errors with the data you entered, you will be prompted to correct these before you can continue. 

Delivery Method Fields

The following table describes each field and setting available for this delivery method, its intended value and an example for each.

Before you start, you must select whether you want to offer a locally installed option for Windows devices, macOS devices or both using the toggle buttons at the top of the form. 

Field Name

OS

Description

Intended Value

Example

Launch exe

Windows

The executable to launch on the target device

If the executable is registered under the App Paths keys then you need only enter the name of the executable. If you are using the Uninstall key method then enter the executable name and the path to it, relative to the InstallLocation value.

firefox.exe

or

application.exe

Launch parameters

Windows

The parameters to send to that executable when launching it

Any parameters you wish to pass to the executable, as you would enter them if you were launching the application from the command line

/a

Uninstaller key

Windows

The registry key name that identifies the software package that includes the target executable

The registry key name in which the information for the software can be found under either Uninstall key

{3B7E914A-93D5-4A29-92BB-AF8C3F66C431}

or

Audacity®_is1

Local path

Windows

The relative directory path to the executable from the uninstaller key directory, this is combined with the Launch exe field

The relative directory path to the executable from the uninstaller key directory

\Application\bin

Executable directories

Windows

A list of directories in which the executable for the app could be found. Note that each directory will have the launch exe appended to it to attempt to find the application

Investigation may be required to determine a list of directories where the exe may be installed on the user’s device

C:\Users\AppsAnywhere\AppData\Local\Audacity

macOS launch application name

Mac

The name of the application to launch on macOS

This will be the name of the app as seen by the AppsAnywhere Client

VLC.app

You can see the names of all the application that the AppsAnywhere Client is detecting during validation by inspecting the client log files. If you are unsure of which values to enter in the delivery method settings, use the validation logs as a hint.

Prioritizing 

Now that your delivery method is in the list of those available, it is important that you prioritize it accordingly to determine exactly when it will be used. 

To understand this process completely, take a look at the Prioritizing delivery methods article. 

In the majority of cases, it is expected that the locally installed option would most likely be the highest priority delivery method, as a local launch would usually be preferable. This may not always be the case however as you may want to ensure a particular version of the software is delivered (using a method such as Cloudpaging) on managed devices, but allow it to be launched locally (whatever the version) if a user has it installed on their own device.