Настройка правильного значка ярлыка в проекте установки VS2010 - PullRequest
14 голосов
/ 26 января 2012

У меня есть небольшое приложение с проектом установки. Если я создаю ярлык для моего основного вывода, то он получает стандартный значок Win7, а не значок, указанный в значке приложения моего exe-файла?

Как лучше всего убедиться, что значок ярлыка на рабочем столе совпадает с значком моего exe-файла? например Если я поменяю значок exe, то я бы тоже хотел, чтобы значок Setup изменился.

Ответы [ 4 ]

18 голосов
/ 26 января 2012

Если вы установите значок для ярлыка, вы можете установить основной выход в качестве источника.В редакторе файловой системы проекта установки нажмите на поле со списком «(Значок)» на панели свойств ярлыка, затем выберите «(Обзор ...)», кнопку «Обзор ...».Вы увидите это:

Add Output

Затем добавьте выход и выберите основной выход exe.

3 голосов
/ 02 марта 2016

Вы можете добавить значок из файла target.exe в ярлык ... в Файловая система на целевой машине, найдите ярлык в папке, в которую вы хотите добавить значок (рабочий стол пользователя и т. Д.).Щелкните правой кнопкой мыши по ярлыку и выберите «Окно свойств».Вы увидите строку значков ... щелкните ее, выберите «Обзор», затем перейдите к папке «Папка приложения» / yourExe.exe (измените с ICON на Exe-файлы) и скажите «ОК».Он покажет вам выбранный вами файл exEx.exe, скажем, OK.По сути, вы должны сделать то же самое для своего значка «Добавить / удалить» (отображается на панели управления / удаление) ... страницы свойств для вашего проекта установки.Вы должны сделать это для всех ярлыков в разных папках (рабочий стол пользователя, запуск пользователя и т. Д.) Все значки хороши сейчас!

2 голосов
/ 01 июня 2014

Чтобы добавить ответ Герта: сначала убедитесь, что вы строите свой проект.В противном случае приложение установки не увидит значок.

1 голос
/ 11 августа 2016

Очень простой способ использования IWshShortcut (работает также в .net 2):

WshRuntimeLibrary.IWshShortcut MyShortcut = (IWshRuntimeLibrary.IWshShortcut)WshShell.CreateShortcut(fullPathLnk);    
string iconLoc = MyShortcut.IconLocation; // <- example: "c:\icon.ico,0"

Я использую, чтобы проверить, существует ли iconLoc, исправьте, если нет, вы можете использовать, чтобы найти и прочитать файл значков и т. Д.и т.д.

...