Andy in the Cloud

From BBC Basic to and beyond…

24 thoughts on ““Look ma, no hands!” : Automating Install and Uninstall of Packages!

  1. Pingback: Managed packages can take hours to become available | Force 201

  2. Hi Andy, great post by the way!

    Are you missing the serverurl attribute from your task within ant-salesforce.xml?

  3. Pingback: Calling Salesforce API’s from Ant Script – Querying Records | Andy in the Cloud

  4. Hi Andy,
    I have implemented a “Managed Package Installer” in Apex for my companies’ Salesforce Application.
    It has been working for the last month in our test orgs until yesterday I got an error saying “no clean data columns available for custom fields”.
    The package has a lot of custom fields associated with it. When I delete the installed package metadata does it delete all of the custom fields associated with this package as well. I am wondering if this is the cause of the error.
    I appreciate any help you can offer me.



  5. Hi Andy,

    It turns out when you Delete an Installed package using the CRUD API methods it literally does just that. It does not delete the custom objects/fields etc.
    They will be gone from the SF UI and will not be accessible via workbench either but they will still be there in backend somewhere. Apparently it is a Bug on the Salesforce side and when they build up I get the “no clean data columns available for custom fields” error.
    I wrote my package installer in APEX using the CRUD API methods.
    I will try using the second method listed above (the one that is suggested on the SF Docs for automating managed package installations )
    I will be sure to let you know the outcome as I can test it rigorously in one of my Developer Orgs.


  6. Hi Andy,

    Is there a way to automate package upload itself when creating managed package?


  7. Hi Andy,
    I couldn’t get “<installPackage" named tag details anywhere. Can you provide details on this. also in this tag there is no "deployRoot" attribute.

  8. Hi Andy,
    I am installing a pkg using MetaData apex wrapper, with method “createMetadata” which has return type “MetadataService.SaveResult”.
    So as installing a pkg took time, it throw exception “System.CalloutException: IO Exception: Read timed out”. How can i check the pkg installation status, and do some DML after that.

  9. Adding one more point to my last comment, “MetadataService.SaveResult” it doesn’t have any Id in its object ,so, how i can check ongoing status of process.

  10. Hi Andy,

    I’m using described approach to automate package installation, but the problem is that our managed package have profiles included. When you install it manually using url, as the first step it asks for what profiles in your system you want to install this package. By any change, do you happen to know how to set up this profile mapping in your ant target (if possible)

    • The Salesforce API does not support this. The best practice is to package permission sets and then use the sf API to assign those post install.

  11. Hi Andy,

    I’m using Apex class to automate package installation, its throwing an error as “Method does not exist or incorrect signature: void create(List) from the type MetadataService.MetadataPort”.

    How do I resolve it, Please help me out.

  12. Pingback: deploying managed package to scratch org failing giving Invalid username, password, security token; or user locked out

  13. Pingback: Retrieve Setup>Create>Packages – GrindSkills

Leave a Reply to Deep Sukhwani Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s