Проект установки Visual Studio - используйте exe Icon для установленных ярлыков - PullRequest
2 голосов
/ 20 июля 2011

У меня есть приложение, которое развертывается на клиентских компьютерах с проектом установки Visual Studio 2010. Мое приложение создает ярлык на рабочем столе для основного файла EXE.

Если я открою свойства ярлыка и выберу «изменить значок», я вижу, что значок, используемый для ярлыка, выглядит примерно так:

%SystemRoot%\Installer\{5B821236-4F7A-4AC9-8BA6-441F456F12F0}\_83771230001D45618121E3.exe

Но я хочу, чтобы это было

%Program Files%\MyCompany\MyApp\MyApp.exe

или

%Program Files%\MyCompany\MyApp\MyIcon.ico

Есть ли способ достичь этого?

Я уже использую кусочек Javascript, который изменяет мои настройки в шаге PostBuild, чтобы добавить

DISABLEADVTSHORTCUTS =  1

к таблице свойств в файле установки. Возможно, решение похоже, но я не знаю, что изменить.

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

Настоящая проблема, похоже, заключается в ошибке в Проекте установки, создающей только значки низкого качества (48x48 px max), которая была подтверждена Microsoft, но до сих пор не исправлена.

См. http://connect.microsoft.com/VisualStudio/feedback/details/540424/setup-deployment-project-creates-poor-defaulticon-for-file-type

Вы можете исправить это, отредактировав файл * .msi с помощью Orca:

  1. Посмотрите на таблицу Shortcut, найдите ярлык на рабочем столе, запомните значение Icon_.

  2. Перейдите в Таблицу значков, которая содержит записи с именами и столбцами данных.Найдите нужный значок, дважды щелкните запись [Binary Data] и найдите значок с высоким разрешением.

К сожалению, вам приходится делать это каждый раз, когда вы воссоздаете проект установки, но, по крайней мере, у вас естьхороший результат.Если у меня будет свободное время, я постараюсь автоматизировать процесс и обновить этот пост.

0 голосов
/ 20 июля 2011

Ярлыки, созданные установщиком Windows, автоматически используют ресурс из кэша установщика Windows (папка «C: \ Windows \ Installer»). Это нормальное поведение, и обычно это не проблема. Так что вы можете просто проигнорировать это.

Однако, если вы действительно хотите установить собственный путь к значку, вы можете попробовать использовать настраиваемое действие для создания ярлыка вручную.

...