I have built a package that has a post install script. Now trying to install it into a professional edition, it doesn't install because of no apex permission in the org.
Now, I cannot delete the apex class from my packaging org even though managed package component deletion is enabled (because the post install class is a global class). So, the only thing I can do is deprecate the class. So that it can be installed in the professional edition without showing up in the 'code secition' But when I deprecate the class, and try to upload it, it asks for a test class. So I include the test class, that covers the deprecated class, so the upload succeeds. but now when I try to install in the professional edition, the same error shows up saying apex not enabled, because test class is counting as an apex class, is there a way to deprecate the test class as well but successfully upload the package?
update : I was able to deprecate both a post install class and its test class, and then try the installation. That does not work either. Even though it doesn't show up in the code components section when installing the package, it results in the same error of missing feature: apex class. so no point deprecating.