Всем доброго времени суток, коллеги. Эту тему поднимаю по предложению тов. SokilOff.
Систематика Win3.1x вообще головная боль...
Я последние месяцы усиленно вникал в это. Вроде как разобрался со способом идентификации почти что любой версии. Но некоторые моменты всё-равно непонятны.
Я тут опишу свою схему каталогилизации этого. Она не идеальна, есть свои нюансы, но результативна на 90% (навскидку).
Вопрос в другом. Что делать с зоопарком уже загруженного (в т.ч. и мною)...
Часть описаний вообще ошибочна/неточна, а часть выпусков с течением времени стала доступна в лучшем виде, нежели уже загруженное.
Категории идентификации Windows 3.1x.
1) Номер версии – определяется файлом USER.EXE.
1.1) Если ShellAbout отражает номер версии в форме 3.xx.yyy, то это истинный номер.
Например: Farsi Windows 3.10 в ShellAbout сообщает версию 3.1.127. Значит, номер версии 3.10.127).
1.2) Если ShellAbout сообщает номер версии в формате 3.xx, то номер сборки извлекается из USER.EXE.
– Если версия файла и версия продукта совпадают, то номер сборки файла равен номеру сборки выпуска.
Например: В Windows 3.1 English версия файла USER.EXE 3.10.0.103, версия продукта 3.1. Значит, номером версии является 3.10.103.
– Если номер сборки равен нулю, то номер сборки выпуска также указывается как 0.
Например: В Windows 3.11 Thai версия файла USER.EXE 3.11.0.0, версия продукта 3.11. Значит, номером версии является 3.11.0.
– Если версия файла и версия продукта НЕ совпадают, то номер сборки не указывается.
Например: Swedish Windows 3.11. Версия файла USER.EXE 3.10.0.103, версия продукта 3.11. Значит, номером версии является 3.11.
2) Дата компиляции – это дата внесения самых последних изменений перед выпуском. Указывается вместе с номером сборки. Часто сборки при прочих равных категориях имеют несколько бинарных различий и различающуюся дату компиляции.
– Если все файлы имеют одинаковую дату, то она считается датой компиляции.
– Если часть временных меток незначительно варьируется, то за дату компиляции принимается наиболее поздняя метка.
– Случаи, когда временные метки имеют неадекватное значение или варьируются очень сильно, рассматриваются отдельно.
– Если точную дату указать невозможно, указывается неполная дата.
– Для выпусков MSDN вместо даты указывается год и месяц выпуска CD, на котором содержалась сборка.
Например: MSDN 1994-04.
3) Локализация. Язык интерфейса, и поддержка нестандартных языков.
– Одноязычная.
– Двуязычная. Для версий с переключаемым языка интерфейса указываются оба языка, например English-Farsi.
– Англоязычная версия с поддержкой ввода нестандартного языка без локализации всего интерфейса. Язык указывется с приставкой Pan-.
Например: Windows 3.10.103 Pan-Thai.
– For Central and Eastern Europe (CEE). Обозначается как Pan-Euro.
4) Лицензирование:
– Retail. Розничная версия.
– Generic OEM. Версия, предназначенная для реализации поставщиками оборудования, не имеющая брендинга OEM-производителя. По-другому, общая OEM-версия.
– OEM. Версия Generic OEM, имеющая конкретный OEM-брендинг на этикетках носителей. Может иметь изменения в бинарных файлах, а может быть бинарно идентична Generic OEM.
– MSDN. Выпуск, полученный с дисков Microsoft Development Network. Не имеет фактической разбивки на носители.
– SDK. Дистрибутив, включённый в состав SDK CD-ROM. Единственный доступный CD-ROM SDK (Windows 3.10.103 Eng) имеет дистрибутив, бинарно идентичный Retail-версии.
Отличительной особенностью является текст в диалоговом окне ShellAbout, отображаемый ниже регистрационных данных.
– Версия Retail сообщает, что серийный номер указан на наклейке в руководстве пользователя.
– Версия OEM сообщает, что за поддержкой необходимо обращаться к поставщику оборудования.
Сам текст поступает из USER.EXE. Он находится сразу после номера версии. Проверить текст можно при помощи HEX-редактора. У некоторых OEM-выпусков он изменён на другой.
Проблемы:
– Известна как минимум одна OEM-версия, которая де-факто является Retail. Это Windows 3.11 Swedish IBM Greenoch OEM.
– Неизвестно, все ли SDK-выпуски бинарно идентичны Retail-копиям.
– Существует ряд сомнительных выпусков, заявленных как OEM, которые бинарно идентичны другим релизам, при этом сканы этикеток отсутствуют.
5) Редакции.
Для Windows 3.11 существует, как минимум, три редакции.
– Full. Версия для установки поверх DOS.
– Upgrade. Версия для обновления существующей установки.
– "Step-Up". Патч, обновляющий лишь системные файлы существующей системы (известен только для Win3.11).
Проблемы:
– Имеются бинарные различия у версий 3.11 Retail Full и Upgrade. Однако, каковы видимые различия, неизвестно.
– Неизвестно, есть ли такое деление для 3.10. Нв B/A есть одна копия Windows 3.10 French Upgrade, однако это еще не проверено.
6) Носители:
– 1.44m
– 1.2m
– 720k. Встречается только дистрибутив на диске SDK. Настоящая флоппи-версия еще не найдена.
– CD-версия. Де-факто, является флоппи-версией, но разбивки не имеет. Мне встречались только двухбайтовые CD-версии.
– MSDN-версия. Де-факто, является флоппи-версией, но разбивки не имеет.
Не имея фото/скана носителя, определить тип используемых носителей можно лишь оценочно, так как некоторые OEM-поставщики использовали разбивку 5.25" 1.2m для выпуска 3.5" 1.44m.
Еще некоторые условности:
– Выпуск без пояснительных материалов помечается "как есть", на основе информации из самого дистрибутива.
– Сложно определить понятие Оригинальный дамп. Тут есть момент субъективизма.
– Версии Retail и OEM при прочих равных считаются одним выпуском.
– Данный метод очень сложен для восприятия, не идеален для каталогилизации. Но, как по мне, это лучше, чем у западных коллег.
Все вышеописанное написано относительно Windows 3.1x.
Касаемо WfW большая часть написанного также применима.
WfW 3.1 для каталогилизации достаточно сложна, так как система имела малое распространение, не распространялась через MSDN (по всей видимости) и в сообществах плохо задокументирована
1) По всей видимости, было два выпуска: Gold RTM и "тихое обновление". Отличия лишь в файле WFWNET.DR_ (размер и дата).
Gold RTM исключительная редкость, на WWPC он задокументирован, но не опубликован. Все известные версии являются "тихим обновлением'.
2) OEM-версия существует (по крайней мере английская), однако она не обнаружена. Копия 5.25" задокументирована на WWPC, но не загружена.
3) Имеющаяся у нас и многих сообществ английская копия на 10 дисках предположительно повреждена и неверно выгружена. Подробнее в Old-DOS Wiki.
4) Различия Danish Full и Danish Upgrade не определены.
А тут перечислены следующие проблемы касаемо WfW 3.11:
– Были два выпуска: 3.11 и 3.11a (разница в одном изменённом файле). Определить, где какой выпуск, будет достаточно проблематично.
– Некоторые языковые версии имеют по несколько разных дистрибутивов. Отличить их проблематично.
– В отличие от более ранних выпусков, в окне ShellAbout отсутствует подпись. В чём отличие OEM от Retail, вопрос.
– В чём бинарное отличие Full и Upgrade, неизвестно.
– Есть версии английские от 01-11-93 и 11-11-93. В чем разница, неясно.
Кто что думает?
Какие будут дополнения, примечания, критика, вопросы?
Спасибо.