In HeartGold you get it from the radio tower (in Goldenrod City) after you beat the Team Rocket leader (Archer) at the top of the tower. The Director comes in and gives it to you.
You can also get the Silver Wing in HG from from Pewter City after beating the Elite 4. In SoulSilver the item locations are reversed because you catch Lugia first.