I found this recently. It works if you have the property defined as a component template and a blpackage property, rather than a server property.
Also, I got it to work, if I created a snapshot, and made the package from the snapshot.
Ok, so the Component Template references a local property, which in turn references a target property?
Where does the BLPackage property come into play?
Lets say you have an APP_PATH property that is a string.
You need to set an APP_PATH property for the component template, and for the package.
It looks more clever if you have a property class!
I guess the other problem I'm forseeing is paramaterization through the BLPackage. For example, what if I want to parameterize the path and the value I'm deploying in my BLPackage like this:
What would my path look like in the Component Template?
The path should look like that (??TARGET.PROPERTY??) or could be a custom property in a custom property class that references a property in the Server Property class.
You don't need ??TARGET.APP_PATH??
Here is the quickest way to get it working:
Create component template with dir like "/abc"
Add Local Property APP_PATH, Create Property Instance DEFAULT pointing to APP_PATH=/abc
Change the directory in the part to ??APP_PATH??
Save the template.
Create a component, choose the DEFAULT property instance, and the server.
Browse the server to make sure it works.
Create package from template (It will pick up the APP_PATH property.)
Set the property when you deploy it.