Я делаю что-то похожее на Сашу, но я ленивее. ; -)
Я создаю компонент для каждого ярлыка на рабочем столе (я ненавижу программное обеспечение, которое предполагает , которое позволяет создавать ярлыки на моем рабочем столе); нет файла в компоненте. Затем я назначаю каждому из этих компонентов свою особенность. Затем я могу использовать стандартные диалоговые окна выбора функций (которые встроены автоматически и используются, когда пользователь выбирает выборочную установку), чтобы позволить пользователю выбирать функции ярлыков на рабочем столе.
Я не вижу много установщиков программного обеспечения, предлагающих установить дополнительные ярлыки в диалоге выбора функций, но me кажется естественным местом для этого. Более технические пользователи могут видеть это как смешивание метафор.
FWIW, я изначально делал это в проекте InstallScript / MSI, и я только что сделал то же самое в прямом проекте MSI, и техника отлично работает в обоих случаях.