In Salesforce, when installing or upgrading a managed package, you're presented with three options for component visibility and permissions. These options determine who in your org gets access to the components (like Apex classes, objects, tabs, Visualforce pages, etc.) included in the package.
⚙️ The 3 Installation Options Are:
1. Install for Admins Only
? Use When: You want only System Administrators to access the package immediately.
✅ What It Does:
Only users with the System Administrator profile (or permissions equivalent to it) can access the package components.
No permissions (like object permissions, tab visibility, etc.) are granted to other profiles or permission sets.
? Example:
You install a Time Tracker package, but you want to test and configure it first. So you choose "Admins Only", and only you and other admins can see and use the app until you assign access to other users manually.
2. Install for All Users
? Use When: You want everyone in your org to immediately use the package.
✅ What It Does:
Salesforce tries to assign appropriate permissions automatically to all profiles (e.g., read/edit on objects, tab visibility).
All standard profiles get access unless explicitly restricted.
⚠️ Caution:
This can result in too many users getting access before testing. Not recommended for complex or sensitive packages.
? Example:
You install a company-wide knowledge base app. You want it available to all users right away, so you choose "All Users" and skip manual assignments.
3. Install for Specific Profiles
? Use When: You want to control exactly who gets access at install time.
✅ What It Does:
You can select individual profiles (e.g., Sales User, Custom Support Profile) that should get access to package components.
Only those profiles will get permissions; others will be excluded.
? Example:
You install a Project Management package. Only the "Project Manager" and "Admin" profiles should use it. You select just those two profiles when choosing "Specific Profiles".
? When Upgrading a Package:
The same three options are shown because the new version might include new components (like a new object or Lightning page). Salesforce needs to know:
Should these new components be exposed to everyone?
Or just admins or specific profiles?
✅ Best Practice:
Start with "Admins Only" in dev/sandbox or initial install.
After testing, assign access using:
Permission Sets
Profile updates
Manual sharing/configuration