Jim,
That is correct. As a rule of thumb: Any api that will show a popup dialog will only work from the Canvas page.
What some app developers do is to have a shareApp Link on Home or Profile. That link will redirect you to the canvas page. And you pass in an appParam action="shareApp" and when you load the app you check your params.When you get this shareApp action you invoke your shareApp method.
It's a workaround. But it works. Check out the FriendSlider app that has this implemented in silverlight.