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

Так я узнал, что такое OEM

Гугл мне быстро объяснил, что потерянная мною красивенькая иконочка являлась частью OEM информации, которая была стерта после обновления винды (что собственно логично).

OEM (original equipment manufacturer – «оригинальный производитель оборудования») в винде характеризуется следующими параметрами:

  • Manufacturer – производитель
  • Model – модель устройства
  • SupportHours – часы технической поддержки
  • SupportPhone – номер телефона технической поддержки
  • SupportURL – адрес сайта технической поддержки
  • Logo – логотип производителя (из-за которого все и началось)

Всю эту информацию можно добавить или изменить ручками через реестр ?[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation] используя строковые значения.

Ко всем параметрам есть ограничение в виде 256 символов на строку, а логотип же должен быть в формате .bmp и разрешением 120x120 пикселей.


Либо же для этих целей можно использовать уже готовые утилиты (в основном самописные).

Оба варианта мне не понравились, поскольку первый вариант предлагал делать все в лоб: руками, а во втором случае – стороннее, не сертифицированное ПО не вызывало доверие (мало ли что оно там с реестром понаделает)

Поэтому, я решил написать свое не сертифицированное ПО, но с одной оговоркой – выложить исходники, чтобы вышеуказанные недостатки отпали у тех, кто вдруг столкнется с такой же проблемой, что и я.

За пару вечеров получилось минималистичное приложение, выполняющее все возложенные на него функции.


Отдельно хотелось отметить кнопочку «Load config», позволяющую загрузить все OEM параметры из файла конфигурации (.exe.config)

Наверное, если бы не эта кнопочка, то поста бы и не было. Дело в том, что на текущем месте работы, мы иногда поставляем наше ПО вместе с железом, поэтому внесение OEM информации актуальная для нас задача (хотя странно, что об этом никто не задумался).

Сказано – сделано. Руководством одобрено. Теперь эта кроха трудится на благо общества компании.

В этом посте, помимо объяснения что такое OEM информация и как ее можно изменить, я больше хотел еще раз донести на простом примере простую мысль: Есть идея – реализуй! Не откладывай в ящик. Ведь проблема, с которой столкнулся ты, может быть актуальна и для других.

Комментарии (6)


  1. Pas
    29.10.2019 22:01

    Почему-то подумалось, что такие вещи должны быть в UEFI/BIOS прошиты. В принципе, текстовая информация, как правило, вытаскивается с BMC с помощью чего-то типа dmidecode, а вот лого фиг знает.


    1. APcode_ars Автор
      28.10.2019 23:06

      Да, я тоже сначала в сторону BIOS'а подумал)

      Еще странно, что указывается только информация о производителе (Manufacture), хотя я бы еще отдельно добавил информацию о поставщике. Мб такая и есть, и я ее не нашел =/


  1. firedragon
    29.10.2019 08:54

    Я бы экспортировал эту ветку и накатывал бы рег. файл через GPO. Или через скрипт установки.


  1. alaxala
    29.10.2019 10:17
    +1

    хотя странно, что об этом никто не задумался

    Просто обычно эта информация вносится в систему поставщиком на этапе создания мастер-образа установки посредством файла unattend.xml.
    Более того, OEM-поставщики по лицензионному соглашению с Microsoft обязаны это делать, причём делать именно так.


  1. Getequ
    29.10.2019 18:21

    Я один не понял почему на статье стоят теги .NET и C#? Зачем так делать? Зашел под кат только из-за этого…


    1. APcode_ars Автор
      29.10.2019 19:59

      Указал, потому что разработанное приложение для упрощения работы с OEM информацией написано на WPF (C#, .NET), ссылка на GitHub в посте имеется