Влияет ли размер файла .exe на отображение его значка?

У меня есть большой кластер файлов, которые я пытаюсь упаковать в один самораспаковывающийся исполняемый файл, и до сих пор мне удавалось сделать это с помощью Installshield 10.5 и Winzip Self-Extractor 4.0, однако я не могу отобразить значок для окончательный файл .exe (сейчас отображается белое окно по умолчанию / синий значок заголовка Windows)

Я пробовал использовать утилиты, встроенные в NSIS, Installshield, Winzip Self-Extractor, и даже использовал Reshacker и eXe в окончательном файле .exe, чтобы изменить значок. Согласно каждому решению, файлы значков действительно встроены в .exe, но они не отображаются в проводнике.

Итак, я подумал, что эта проблема может быть связана с большим размером файла .exe (1,39 ГБ), возможно, при сканировании файла на наличие .ico он не смог проанализировать весь файл и сдается.

Я протестировал это с помощью Winzip Self-Extractor, чтобы создать файл .exe меньшего размера (10 МБ), и действительно, значок отображается, работает как задумано.

Однако это не решает мою проблему, и я застрял на этом этапе. Возможно, есть способ отобразить этот значок, несмотря на проблемы с операционной системой, но я его еще не нашел. Я был бы признателен, если бы кто-нибудь мог дать мне какое-либо понимание или указать мне правильное направление.

Я тестировал это на: Windows XP Home, 2002, SP2 Windows XP Pro, 2002, SP3


person Community    schedule 15.07.2009    source источник


Ответы (2)


Да, значки больших .exe не отображаются.

Есть ли причина, по которой вы упаковываете все в один .exe? Рассмотрите другие варианты для вашего установщика, такие как сохранение файлов в папке и копирование файлов установщиком из этой папки (с NSIS - команда CopyFiles).

person jimyi    schedule 15.07.2009

Иконки программ берутся из ресурсов программы, которые могут быть раздуты из-за полезной нагрузки установщика. Возможно, какое-то приложение для редактирования ресурсов или настройки упаковщика могут переместить значок в сторону начала файла, чтобы облегчить работу проводника.

person ymv    schedule 15.07.2009