in implementation guides ~ read.
Appexchange Install Guide

Appexchange Install Guide

DOWNLOAD

First things first !
To download this implementation guide, click the download button below.
If you need more information about the implementation guide, you can read the Table of Contents below.

Download

Application Installation Guide
Version Spring

salesforcedocs
Last updated February

Copyright salesforcecom inc All rights reserved Salesforce is a registered trademark of salesforcecom inc

as are other names and marks Other marks appearing herein may be trademarks of their respective owners

CONTENTS

Chapter What Is AppExchange
Chapter Before Installing a Package
Chapter Unauthorized Managed Packages
Chapter Installing Packages
Chapter App Rollout
Chapter After Installing a Package

Chapter FAQ

Chapter AppExchange Considerations
Chapter Glossary

CHAPTER

What Is AppExchange
AppExchange is a marketplace offering solutions such as apps components and consulting services
To make your own solution publicly available to potential customers you must be a Salesforce partner

How Does AppExchange Work
The creative power behind each AppExchange solution is a Salesforce partner AppExchange gives
partners a place to create and publish extensions to Salesforce AppExchange is also the place for
Salesforce admins to choose and install solutions that fit their orgs needs Heres how AppExchange
works
Create

A Salesforce partner initiates the process by creating an innovation that can improve a business

process such as a custom object custom tab or component Partners share their customizations
with other Salesforce users as a packaged AppExchange solution whether an app a Bolt solution
a Flow solution Lightning data or a component
Publish
The Salesforce partner registers packages and publishes their solution on AppExchange They can
also create a demo of the functionality included in their solution for others to view before installing
and include a trial version
Install
Salesforce customers browse solutions published on AppExchange and choose which solutions to
install in their orgs Installing a published AppExchange solution is safe and simple Customers can
BrowseView the descriptions reviews and demos of solutions on AppExchange They choose
the solution that fits their needs
Test DriveReview a fully functional demo of the solution as a readonly user and plan their
implementation with their admins
InstallAdd the solution and all its components to their Salesforce environment
DeployImmediately give their users access to the solution or customize it for a select group
of users

Who Can Use AppExchange
Anyone can browse and test drive AppExchange listings Salesforce admins and users with the Download
AppExchange Packages permission can install AppExchange apps To publish a listing on AppExchange
a user needs both Create AppExchange Packages and Upload AppExchange Packages permissions

CHAPTER Before Installing a Package

Before you begin review AppExchange solutions and determine how they fit into your current
implementation of Salesforce

Taking a Test Drive

A test drive is a new fully functional Developer Edition Salesforce environment that contains the solution

Go to AppExchange find a solution and click Test Drive to try out the solution before you install it

Verifying Requirements
Every solution has its own requirements To verify that a solution is compatible with your Salesforce org
review the Requirements section of the solutions Overview tab

Determining If the Solution Supports Upgrades
To upgrade a solution choose a managed package solution first Unmanaged packages arent
upgradeable

CHAPTER Unauthorized Managed Packages

To participate in the AppExchange Partner Program Salesforces partners must meet certain standards
and submit their AppExchange products for security review When you install a managed package that
the AppExchange Partner Program hasnt authorized for distribution we notify you during installation

The notification appears when you configure the package installation settings Before you install the
package you must confirm that you understand that the package isnt authorized for distribution
For information about the AppExchange Partner Program and its requirements visit the Salesforce
Partner Community For information about nonSalesforce providers see our Master Subscription
Agreement

CHAPTER Installing Packages

Installing an AppExchange solution in your Salesforce org is
straightforward You install the solution as an unmanaged or
managed package and then you configure it for your environment
and users
Warning If the solution is in a managed package you cant
change certain Salesforce components after you install them
For a list of editable components in a managed package see
the ISVforce User Guide Managed packages also have a
namespace prefix that is prepended to all uniquely named
components such as custom fields For more information on
namespace prefixes see Register a Namespace Prefix in
Salesforce Help

EDITIONS

Available in Group
Professional Enterprise
Performance Unlimited
and Developer Editions

USER PERMISSIONS

To install packages
Download AppExchange
Packages

Only one person in your organization can install or upload a package
at a time
Go directly to AppExchange
To find the solution that you want to install browse AppExchange
Click Get It Now on the solutions listing page
If the listing doesnt have a Get It Now option its a partner app that you can download and use
outside of Salesforce For more information contact the publisher
Select your environment type production or sandbox test
Enter the requested information
For production environments enter your username and password read the user terms select the

I have read and agree checkbox and click Install

For sandbox environments complete the information in the form provided and click Submit This
package is removed from your sandbox organization whenever you create a sandbox copy
Enter the requested information
If the package is passwordprotected enter the password you received from the publisher
Review the package items and click Continue
To install a new version of a managed package review the list of new items included in the upgraded
package
Note Some package items such as validation rules or record types dont display in the
Package Item list but are included in the package and install with the other items If there are
no items in the Package Items list the package contains only minor changes not recorded in
the Package Items list

Review the API access that package components have been granted to ensure that theyre acceptable

and if they are click Next If they arent click Cancel

For more information see About API and Dynamic Apex Access in Packages in Salesforce Help

Installing Packages

When installing unmanaged packages you can select Resolve Naming Conflicts
Automatically
When this option is selected Salesforce changes the name of the component in the package being
installed
In Enterprise Unlimited Performance and Developer Editions choose a security option and click
Next
Install for Admins Only
Specifies the following settings on the installing administrators profile and any profile with the
Customize Application permission
Object permissionsRead Create Edit Delete View All and Modify All enabled
Fieldlevel securityset to visible and editable for all fields
Apex classesenabled
Visualforce pagesenabled
App settingsenabled
Tab settingsdetermined by the package creator
Page layout settingsdetermined by the package creator
Record Type settingsdetermined by the package creator
After installation if you have Enterprise Performance Unlimited or Developer Editions set the
appropriate user and object permissions on custom profiles as needed
Install for All Users
Specifies the following settings on all internal custom profiles
Object permissionsRead Create Edit and Delete enabled
Fieldlevel securityset to visible and editable for all fields
Apex classesenabled
Visualforce pagesenabled
App settingsenabled
Tab settingsdetermined by the package creator
Page layout settingsdetermined by the package creator
Record Type settingscopied from admin profile
Note The Customer Portal User Customer Portal Manager High Volume Customer Portal
Authenticated Website Partner User and standard profiles receive no access
Install for Specific Profiles
Enables you to choose the usage access for all custom profiles in your organization You can set
each profile to have full access or no access for the new package and all its components
Full AccessSpecifies the following settings for each profile
Object permissionsRead Create Edit Delete View All and Modify All enabled
Fieldlevel securityset to visible and editable for all fields
Apex classesenabled
Visualforce pagesenabled
App settingsenabled
Tab settingsdetermined by the package creator

Installing Packages

Page layout settingsdetermined by the package creator
Record Type settingsdetermined by the package creator
No AccessSpecifies the same settings as Full Access except all object permissions are
disabled
If the publisher included settings for custom profiles other options are available You can
incorporate publishers custom profile settings into your profiles without affecting your settings
Choose the name of the profile settings in the dropdown list next to the profile to which you
want to apply them The current settings in that profile remain intact
Alternatively to give this setting to all user profiles click Set All next to an access level
Note Depending on the type of installation its possible this option doesnt appear For
example in Group and Professional Editions or if the package doesnt contain a custom object
Salesforce skips this option which gives all users full access
In Enterprise Unlimited Performance and Developer Editions if you chose Select security settings
select the level of access to give users in each profile and click Next
Standard options are
Full AccessSpecifies the following settings for each profile
Object permissionsRead Create Edit Delete View All and Modify All enabled
Fieldlevel securityset to visible and editable for all fields
Apex classesenabled
Visualforce pagesenabled
App settingsenabled
Tab settingsdetermined by the package creator
Page layout settingsdetermined by the package creator
Record Type settingsdetermined by the package creator
No AccessSpecifies the same settings as Full Access except all object permissions are disabled
If the publisher included settings for custom profiles other options are available You can incorporate
the publishers custom profile settings into your profiles without affecting your settings Choose the
name of the profile settings in the dropdown list next to the profile to which you want to apply
them The current settings in that profile remain intact
Alternatively to give this setting to all user profiles click Set All next to an access level
To install all the components in the package you selected click Install
Note During installation Salesforce automatically resolves any references to package
components from the source organization For example if a custom link in the package refers

to a document the Salesforce Help ID for the document is different after you install it Salesforce

automatically alters the installed custom link to refer to the new ID in your organization

Salesforce also checks and verifies any dependencies An installers organization must meet
all dependency requirements listed on the Show Dependencies page or else the installation
fails For example the installers organization must have divisions enabled to install a package
that references divisions For more information on package dependencies see Understanding
Dependencies in Salesforce Help

Installing Packages

When you install a component that contains an Apex script all unit tests for your organization are
run including the unit tests contained in the new package If a unit test relies on a component that
is initially installed as inactive such as a workflow rule this unit test can fail You can select to install
regardless of unit test failures
For reasons why Salesforce can prevent an install see Why did my installation or upgrade fail in
Salesforce Help

Click OK

Configure your package For more information see Configuring Installed Packages in Salesforce Help
If the package includes permission sets assign the included permission sets to your users who need
them
In managed packages you cant edit permission sets that are included in the package but subsequent
upgrades happen automatically If you clone a permission set that comes with a managed package
or create your own you can make changes to the permission set but subsequent upgrades dont
affect it
If youre reinstalling a package see Importing Package Data in Salesforce Help to reimport the package
data using the export file you received after uninstalling
If you installed a managed package click Manage Licenses to assign licenses to users For more
information see Managing Licenses for Installed Packages in Salesforce Help

CHAPTER App Rollout

Before you deploy the solution to your users notify them of the new functionality and educate them
on how to use it Then make it available to the users who have appropriate permissions
Review the Splash Page
The developer of a solution can include a splash page that users see when they click a custom tab
Splash pages explain how the custom object fits in a Salesforce environment and can contain training
or support links Instruct users to review the splash pages for each custom tab Show them how to
use the Dont show me this again link If the publisher didnt provide splash pages create your
own
Preview the Solution for Select Users
Preview the solution with key users in your Salesforce org Make any suggested changes from the
feedback that you receive
Announce the New App
Send an announcement to your users one week before deploying the solution Let them know when
the rollout is and how it benefits them On the day of the deployment send another announcement
telling users to look for the new solution

CHAPTER After Installing a Package

After installing a solution from AppExchange manage it like you manage the other solutions and packages
you installed in your Salesforce org

Manage Installed Packages
Manage packages installed in your Salesforce org including assigning licenses to users uninstalling
packages and exporting package data
Note Salesforce only lists license information for managed packages For unmanaged packages
the licenserelated fields such as Allowed Licenses Used Licenses and Expiration Date displays

the value NA

Click Uninstall to remove the package and all its components from your Salesforce organization
Click Manage Licenses to assign available licenses to users in your organization
Note If you purchased a site license or if the managed package is not licensed Salesforce
assigns licenses to all your users and you cant manage licenses Your users can use the package
as long as they have the appropriate permissions
Click Become Primary Contact to update the current contact for the installed package to your
username This contact name displays for the package publisher from the Push Package Upgrade
page Initially its set to the name of the person who installed the package If you have Download
AppExchange Packages permission and arent the current primary contact this option is enabled
Click Configure if the publisher has included a link to an external website with information about
configuring the package
Click the package name to view details about this package
View the publisher of the package
View the status of the licenses for this package Available values include
Trial
Active
Suspended
Expired
Free
This field is only displayed if the package is managed and licensed
Track the number of licenses available Allowed Licenses and the number of licenses that
are assigned to users Used Licenses
View the date your licenses for this package are scheduled to expire
View the date your licenses were installed
View the number of custom apps tabs and objects this package contains
See whether the custom apps tabs and objects count toward your organizations limits If they do
the box in the Limits column is checked

After Installing a Package

Note If you have not installed a licensed managed package the Publisher Status
Allowed Licenses Used Licenses and Expiration Date fields do not appear
After an uninstall Salesforce automatically creates an export file containing the package data associated
notes and any attachments When the uninstall is complete Salesforce sends an email containing a link
to the export file to the user performing the uninstall The export file and related notes and attachments
are listed below the list of installed packages We recommend storing the file elsewhere because its
only available for a limited time after the uninstall completes Using this list you can
Click Download to open or store the export file
Click Del to delete the export file
If a criteriabased sharing rule references a field from a licensed managed package whose license has
expired expired is appended to the label of the field The field label is displayed in the field
dropdown list on the rules definition page in Setup Criteriabased sharing rules that reference expired
fields arent recalculated and new records arent shared based on those rules However the sharing of
existing records prior to the packages expiration is preserved

Uninstall a Managed Package
Uninstalling a managed package removes its components and data from the org During the uninstall
process any customizations including custom fields or links that youve made to the package are
removed
From Setup enter Installed Packages in the Quick Find box then select Installed Packages
Click Uninstall next to the package that you want to remove
Determine whether to save and export a copy of the packages data and then select the
corresponding radio button

Select Yes I want to uninstall and click Uninstall

If you choose to save a copy of the package data we create an export file containing the package data
associated notes and any attachments When the uninstall is complete we send an email containing a
link to the export file to the user performing the uninstall We delete export files two days after a completed
package uninstall

Considerations on Uninstalling Packages
If youre uninstalling a package that includes a custom object all components on that custom object
are also deleted Deleted items include custom fields validation rules custom buttons and links
workflow rules and approval processes
You cant uninstall a package whenever a component not included in the uninstall references any
component in the package For example
When an installed package includes any component on a standard object that another component
references Salesforce prevents you from uninstalling the package An example is a package that
includes a custom user field with a workflow rule that gets triggered when the value of that field
is a specific value Uninstalling the package would prevent your workflow from working
When youve installed two unrelated packages that each include a custom object and one
custom object component references a component in the other you cant uninstall the package

After Installing a Package

An example is if you install an expense report app that includes a custom user field and create
a validation rule on another installed custom object that references that custom user field
However uninstalling the expense report app prevents the validation rule from working
When an installed folder contains components you added after installation Salesforce prevents
you from uninstalling the package
When an installed letterhead is used for an email template you added after installation Salesforce
prevents you from uninstalling the package
When an installed package includes a custom field thats referenced by Einstein Prediction Builder
or Case Classification Salesforce prevents you from uninstalling the package Before uninstalling
the package edit the prediction in Prediction Builder or Case Classification so that it no longer
references the custom field
You cant uninstall a package that removes all active business and person account record types
Activate at least one other business or person account record type and try again
You cant uninstall a package if a background job is updating a field added by the package such as
an update to a rollup summary field Wait until the background job finishes and try again

***