У меня есть проект установки Visual Studio 2008, который создает ярлыки на рабочем столе и в меню запуска во время установки.Созданные ярлыки вызывают приложение, если пользователь нажимает на них.Тем не менее, ярлыки не могут быть использованы в качестве цели отбрасывания.Кроме того, ярлык также нельзя использовать с помощью команды SendTo из проводника.Если вы проверяете свойства ярлыка из Проводника, у цели есть только имя приложения и он недоступен (например, MyApplication).В ярлыке, созданном вручную, у цели есть полный путь к приложению (например, C: \ Program Files \ MyCompany \ MyApplication.exe).Остальные настройки такие же.После более детального изучения ярлыка, созданного установщиком, выяснилось, что внутренне ярлык имеет цель, указывающую на некоторый исполняемый файл, созданный установщиком: C: \ WINDOWS \ Installer {6806F37B-0B4F-4002-AB09-380926EC572E} _F9EFFA12305AA4213985DC.exe,Я полагаю, что этот промежуточный исполняемый файл предназначен для проверки целостности установки или чего-то подобного.Расположение значка также перенаправлено на этот исполняемый файл.Хотя намерение могло быть хорошим, как я упоминал выше, похоже, что это не дает ярлыку распознаваться как цели отбрасывания и отправки.Есть ли способ сказать установщику создать ярлыки для фактической цели, а не промежуточного exe?
Возможность SendTo в проекте установки, по-видимому, имеет дополнительную проблему, поскольку она устанавливает ярлыки SendTo только для текущего вошедшего в систему пользователя, даже если установлено «Установить для всех пользователей».Похоже, что разработчик просто выполнил незавершенную работу, потому что немного сложнее установить SendTo для всех пользователей, поскольку профиль «All Users» не поддерживает SendTo.Вместо этого вы должны установить ярлык в профиль «Пользователь по умолчанию», который позаботится обо всех будущих профилях пользователей, затем перечислить все существующие профили пользователей и добавить SendTo в каждый существующий профиль.Я предполагаю, что кодировщик ярлыков проекта установки взял ярлык здесь ...
В настоящее время я просто позволяю установщику установить все, что он хочет, а затем в действии после установки измените установленные ярлыки и вручную установите ярлыки sendto для всех пользователей (как описановыше).Это работает, но мне было интересно, есть ли более чистое решение обеих этих проблем.