function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
mahesh.sidhu58@gmail.commahesh.sidhu58@gmail.com 

Do we need to send package for Security Review to install the package in Professional Edition?

Hi Guys,

Hope you guys are doing great.

I have created a package to install in Professional Edition but when I try to install that pacakge in PE its giving me error saying.

Installing this package requires the following feature and its associated permissions: Apex Classes

Is it necessary to send to security review or is there any alternative to install in PE.

If there is any alternative that will save lot of time.

Thank you
Mahesh S
 
Neetu_BansalNeetu_Bansal
Hi Mahesh,

As a general rule, one cannot run Apex in a Professional Edition or Group Edition. However, there is one exception to this rule. Apex that you develop in Developer Edition can run in GE and PE, if the following conditions are met:
  • Apex is installed into the GE and PE org via a managed package.
  • Apex does not expose classes as a Web service - these can be installed, but not invoked (more below).
  • Apex is not dependent on features and functionality that exist only in EE or UE (e.g., record types and/or Campaigns) unless it's dynamic Apex.
  • Your app and Apex have passed the Security Review and been "Apex Authorized."
Apex Authorization means that Apex (classes, triggers and email services) in your app will run in GE and PE, even though those editions do not support Apex by default. It is important to note this does not mean the GE or PE customer can create new Apex or modify Apex in your app. They can only run the existing Apex in your app. As noted above, any Apex classes that have been exposed as a Web service cannot be invoked from an external Web app in GE or PE even with this special permission.

To be clear, let's say you also host a separate Web app that needs to call an Apex class in your app. You might expose one of your Apex classes as a Web service and include it in your managed package. For DE, EE or UE, you will be able to invoke this Web service externally, but in GE and PE, it will not work.

However, using Apex to make Web service callouts is allowed in GE and PE. For instance, if you are planning to make a Web service callout to an external Web service like Google, as long as the managed package is authorized, these classes will function in GE and PE.

For more details, refer this:
https://developer.salesforce.com/docs/atlas.en-us.packagingGuide.meta/packagingGuide/dev_packages_for_pe_ge.htm

If this help, please mark it as best answer so will help others in future.

Thanks,
Neetu