we have a problem with targetable components in relation to inheritance. Let's consider the following two cases:
1) You have an abstract component "A" that is targetable (targetRef). You inherit from A with component "B". B is not abstract, but inherits the defined targetability. Once you install B on a host, you'll get the defined virtual host associated with it. All fine.
2) B now is abstract, for whatever reason. Let's introduce component "C" which now inherits from B, so we have another level of inheritance. We would expect the same behavior from C, when installing it, but unfortunately, SPS swallows the virtual host, so it is never created with C.
Sorry, I guess I'm just not getting you. You said in your first post, "You inherit from A with component "B". B is not abstract," then you said, "B now is abstract". When you create a component, you explicitly declare it to be abstract (by adding the abstract keyword) or you don't. If you didn't change B, then it is not abstract. But I think you mean to say that a new component C inherits from B, not that B is abstract. Oh! Wait, now I understand. You're saying that you think the system mistakenly assumes B is abstract when you create C?