I've developed a number of python toolbox tools and my latest has a problem that I can't figure out. It works fine when I run it from my ArcPro tool folder, but not when it is run as a shared geoprocessing package downloaded from ArcGIS Online
After inserting log statements I see that the root of the problem is that the hasBeenValidated setting on the input parameters is always False for all of the parameters. Nothing I do in the UI results in a True setting. I have 2 parameters that interact based on hasBeenValidated. When parameter A has not been validated, I repopulate the list associated with parameter B and set its value to the first element in the list. But since parameter A always shows up a not validated, it is impossible to make stick any change to parameter B.
This is only happening in 2 of my tools - the unique thing about them is that parameter A is a GPFeatureLayer. These are the only 2 tools with that type of parameter. hasBeenValidated is a readonly value so I don't see how anything I do has any control over it but without it I don't see how I can make the tool work correctly.
I'm running this on ArcPro 2.4.3 and Python 3.6.8 and Advanced license.