Когда был починен .rsrc-баг?

Тема в разделе "WASM.WIN32", создана пользователем Sol_Ksacap, 28 май 2008.

  1. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Во многих источниках утверждается, что есть в винде такая нелепость - директорию данных IMAGE_DIRECTORY_ENTRY_RESOURCE она чуть ли не игнорирует, а данные об иконке и версии файла берёт прямиком из секции с именем ".rsrc". Так вот, на win2k3 x86 sp2 имя секции с ресурсами значения уже не имеет. И, собственно, субъект - начиная с какой версии винды всё было починено? XP sp2? Или раньше даже?
    (Если один захочет проверить, то он должен учитывать, что после манипуляций с PE-заголовком файл необходимо переименовать, т.к. нажатия F5 недостаточно (кэширование)).
     
  2. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    В XP SP3 пофиксено - только что проверил. В SP2 глюк точно был.
     
  3. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    А-ха. Благодарю.
     
  4. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    в сп3 в oleaut32.dll есть код с проверкой на ".rsrc" это надовит на мысли.
     
  5. diamond

    diamond New Member

    Публикаций:
    0
    Регистрация:
    21 май 2004
    Сообщения:
    507
    Адрес:
    Russia
    В винде есть много разного кода. Если говорить о коде, причастном к обработке ресурсов, то в абсолютном большинстве случаев этот код честно работает с IMAGE_DIRECTORY_ENTRY_RESOURCE. Так что для того, чтобы у exe-шника была нормальная иконка в explorer'е, секции .rsrc не нужно. Есть ровно одно исключение - oleaut32.dll и проверка на ресурсы typelib. (Насчёт отображения иконки в файле без секции .rsrc - проверял на 98 и XP SP2, в обоих случаях всё нормально.)
    P.S. Тема много раз обсуждалась на форуме: например,
    http://www.wasm.ru/forum/viewtopic.php?pid=147410#p147410
    http://www.wasm.ru/forum/viewtopic.php?pid=203926#p203926