У меня на рабочем столе есть ярлыки/ссылки для нескольких автономных/портативных приложений. До прошлой недели все эти ярлыки имели свои собственные значки (т. е. значки по умолчанию для соответствующих приложений). Однако некоторые из них теперь показывают значок «пустой страницы», который обычно используется Windows, когда значка нет. Это также распространяется на сами приложения/exe, а не только на ярлыки.
Когда я проверяю один из этих файлов .lnk с отсутствующим значком и перехожу в Свойства > Изменить значок, мне говорят: "Файл example.exe не содержит значков". И это несмотря на то, что значок example.exe все еще отображается на панели задач и в окне свойств при его использовании. Он просто не отображается на ярлыке на рабочем столе или при просмотре самого приложения в проводнике.
Если я скопирую или перемещу приложение в любой другой каталог, значок появится без проблем. Затем я могу создать новый ярлык для приложения в новом месте, и значок будет работать правильно. Но как только я перемещу его обратно в исходное место или создам новый ярлык для указанного места, значок снова перестанет работать.
Наконец, я использовалРесурсыИзвлечьв одном из проблемных приложений, и он прекрасно извлек .ico.
Может ли кто-нибудь предложить возможное объяснение столь странного поведения?
РЕДАКТИРОВАТЬ:Проблема, из-за которой значки приложений при просмотре в Проводнике, а также ярлыки/ссылки на рабочем столе не отображались должным образом, оказалась отдельной и не связанной с той, которая упомянута в заголовке.
Для тех, кому интересно, это было связано с разрешениями папки, в которой хранились приложения (в моем случае C:\bin). Я смог решить эту проблему с помощью PowerShell, войдя в командную строку администратора и используя Get-Acl 'C:\Program Files\' | Set-Acl C:\bin\
.
Поскольку мой основной вопрос остался без ответа, я оставляю его пока нерешенным.
решение1
Я не знаю, что именно сломалось, но сообщение совершенно нормальное: Windows попыталась извлечь значок, но потерпела неудачу и выдала вам сообщение об ошибке, которое какой-то разработчик когда-то посчитал самым коротким, простым и полезным сообщением, которое, скорее всего, будет правильным.
"Значок не извлечен". Наиболее вероятная причина: "Значок не был обнаружен". Скорее всего, будет полезно "Значок не был обнаружен". Как и этот ответ, вряд ли он вам поможет: "Возможно, где-то что-то сломалось"
Так было всегда. В 1995 году мы получали ошибки "недостаточно памяти". Это никогда не означало "недостаточно памяти", это всегда означало "попытка получить память не удалась".