Как скомпилировать windows xp

Обновлено: 06.07.2024

В одной из предыдущих статей читатель познакомился с не совсем обычным способом установки операционной системы Windows XP — на флеш-брелок. Сегодняшняя тема тоже касается вопроса облегчения и автоматизации установки.

Приступая к работе

Несмотря на то, что компания Microsoft включила в дистрибутив XP, учитывая обновления Service Pack 1 и 2, достаточно великое количество сертифицированных драйверов, сотни разработчиков по всему миру выпускают драйвера, которые, по понятной причине, не могли быть включены в Windows ранее. Последствия, в большинстве случаев, не печальны, так как необходимые драйвера можно без особых проблем доустановить после установки самой ОС.

Однако бывают и неприятные исключения. Рассмотрим показательный пример. Сейчас большинство современных ноутбуков поставляется с ОС Windows Vista. Компьютеры в бюджетной линейке не очень производительны по современным меркам, еще беря во внимание и то, что в десктоп- и лэптоп- категориях лэптопы заметно проигрывают. 512 Мб оперативной памяти, слабая интегрированная видеокарта — и в результате у покупателя в скором времени появляется желание установить на винчестер «родную» XP. Однако известно, что поверх «Висты» поставить XP стандартным методом (начав установку в среде Windows, без форматирования раздела) невозможно. Если же отформатировать жесткий диск и начать устанавливать XP в MS- DOS , то нередки случаи, когда установщик не может обнаружить SATA -диск. Такая ситуация, в частности, характерна для ноутбуков Acer серии Aspire и Travelmate. «Продвинутые» пользователи в таком случае рекомендуют обновить BIOS или с помощью Norton Ghost попробовать перенести образ тома системного диска с другого Acer’а. Увы, даже на словах эти методы не внушают оптимизма. Третий же способ, самый «безопасный» — прошить в дистрибутив XP драйвера на SATA -накопитель. Мы предлагаем читателю пойти этим путем.

Впрочем, это руководство окажется полезным не только владельцам ноутбуков, но и обладателям устаревшего, конфликтного, «желтого» компьютерного оборудования, которое всяческим образом мешает инсталляции операционной системы. А скомпилировать собственный дистрибутив ОС удобнее всего с помощью утилиты nLite. В умелых руках она придает дистрибутиву XP недостающую этой ОС функциональность и удобство. Принцип схож с тем, каким мы руководствовались при создании install’а с помощью BootPE. Заранее подготавливаем нужные системе драйвера, обновления и программы, что немаловажно, убираем лишние компоненты — и при этом XP занимает всего один CD-диск.

Установка программы

Подготовка дистрибутива ОС

Мало кому известно, что Windows XP имеет около десятка официальных модификаций. Правда, в большинстве случаев разница в составе программного обеспечения невелика. Скорее всего, в вашем распоряжении будет Windows XP Home или Professional — особого значения применительно к nLite это не имеет, лишь бы только это была не Starter Edition или любительская сборка, «исправленная и дополненная». Чтобы не интегрировать в систему MUI (официальный пакет локализации) и второй сервис пак, модифицируйте русскоязычную Windows XP SP2.

Убедившись, что на винчестере есть около 1 Гб свободного места, на время работы с дистрибутивом мы создадим папку, например, «installxp» и cкопируем туда следующие данные: каталог I386 и файлы WIN51, WIN51IP, WIN51IP.SP1 WIN51IP.SP2. Последние два файла могут и отсутствовать: они свидетельствуют о том, что в XP содержится второй (SP2) или первый (SP1) сервис пак. При наличии второго устанавливать первый уже не нужно, так как SP2 содержит предыдущие обновления.

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

Работа с программой nLite

Последняя на сегодня версия программы, с цифрами 1.4.1, порядочно отличается от предыдущих версий. Мы не станем перечислять основные возможности программы (список на русском языке приведен здесь. К чести разработчиков, они сделали удобный wizard — мастер настроек, который поможет быстрее освоиться с функциями программы. Помимо того, что nLite имеет приятную глазу GUI -оболочку и простую навигацию, практически к каждому этапу настройки прилагается справка-рекомендация (вызвать ее можно, кликнув по эмблеме вопросительного знака). Собственно, процесс модификации дистрибутива XP делится на несколько шагов, каждый из которых мы рассмотрим поподробнее.

1 этап. Выбор языка

Первым делом выберите язык мастера настроек. Есть два варианта русского перевода: второй, «Russian Translate», представляет собой транслит, а «Russian» — это обычная кириллическая локализация.

2 этап. Расположение установочных файлов Windows

Нужно указать путь к папке, в которую вы скопировали файлы установки. После сканирования ее содержимого в окне программы появится информация о версии Windows: язык локализации, размер, сервис-пак и прочие выходные данные.

3 этап. Предустановки

Если вы не в первый раз модифицируете дистрибутив, можете загрузить (импортировать) сохраненные ранее настройки, и тогда nLite автоматически отметит предыдущие установки.

4 этап. Выбор задач

Окно выбора задач содержит несколько кнопок-задач. Здесь вы можете отметить, какие этапы настройки будут следовать далее. Если же вы загрузили предыдущие настройки программы, отметки принимают соответствующие цвета: красный (пропуск), желтый (частичное изменение) или зеленый (установка). Рассмотрим каждый пункт поподробнее.

2. Исправления и пакеты обновлений. Если вы регулярно обновляете Windows посредством установки последних критических обновлений и если таковые на имеются у вас наличии, на этом шаге можете указать эти файлы nLite. В окне выбора можно отметить сразу все пакеты, зажав клавишу Shift, Ctrl либо применив клавиатурную комбинацию Ctrl+A. Обновления должны быть совместимы с модифицируемой версией XP, в ином случае на одном из последних этапов программа оповестит вас о невозможности интеграции данных обновлений. Довольно любопытные настройки открываются по нажатию кнопки «Дополнительно». Здесь можно изменить метод интеграции (первые три настройки) и сэкономить немного места за счет сжатия папки ASMS (последняя опция).

На сайте nLite размещен список совместимых с Windows XP и одновременно с nLite обновлений. К сожалению, многие заплатки, корректно устанавливаемые вручную, не могут быть интегрированы с помощью nLite, поскольку имеют неподходящую архитектуру.

3. Драйвера. Один из ключевых разделов, через который можно автоматизировать установку драйверов уже во время инсталляции ОС. Впрочем, комплектуя XP последними версиями драйверов для максимального количества комплектующих, не забывайте и о размере дистрибутива. Этот фактор можно не учитывать, только если вы собрались делать установочный комплект на DVD -диске.

Для интеграции нужно указать nLite папку с inf-файлом драйвера. Можно заранее создать каталог drivers с соблюдением структуры папок, чтобы, распознав источник, nLite нашла и автоматически внесла в список все драйвера.

4. Компоненты. В этом разделе прежде всего открывается окно «Совместимость» с элементами, которые, по необходимости, можно убрать или добавить в список. В целях безопасности, неотмеченные настройки не будут отображены в списке компонентов, доступных для удаления. Таким образом, удалить что-то «лишнее», но без чего нарушится необходимая вам функциональность, будет задачей относительно сложной.

Многие опции ОС годами остаются невостребованными. Например, такие настройки, как восстановление системы, отчет об ошибках, а тем более невостребованные драйвера для устройств, которые никогда не появятся на вашем компьютере: почему бы их не исключить уже ДО установки? Можно убрать лишние языки. Что касается служб, то они тоже изрядно нагружают оперативную память. В Интернете много справочников по настройке служб. Поскольку настроек действительно очень много, мы рекомендуем вам сохранить предустановку, чтобы впоследствии не останавливаться на выборе.

О рискованности удаления того или иного компонента свидетельствует его выделение красным цветом, а в правом окне напротив настройки — объяснение, почему данный компонент желательно оставить. Рекомендуем вам удалять компоненты «с запасом», так как, если вы оснастите компьютер сканером или другим комплектующим, а соответствующий компонент будет отсутствовать, ОС его просто не обнаружит. В таком случае ситуацию спасает только переустановка или обновление Windows, причем с «нормального» дистрибутива.

5. Автоматизация. Пожалуй, самая интересная группа настроек, которая, судя по названию, в наибольшей степени автоматизирует установку. NLite позволяет сократить время установки за счет того, что вы заранее выбираете ответы на вопросы, которые возникают во время инсталляции и отчасти замедляют ее ход.

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

Вкладка «RunOnce». Выполнение команд. Если вы хорошо знакомы с консолью и хотя бы запускаете программы в командном режиме — вкладка «для вас». Можно написать целый сценарий и поставить его на выполнение или же ограничиться простым запуском приложения.

Вкладка «Пользователи». Изменение аккаунтов. Можно, к примеру, создать профиль пользователя, вместо того чтобы делать это каждый раз перед первым запуском Windows. Не забудьте выставить автовход и назначить данный аккаунт загружаемым по умолчанию.

Вкладка «Владелец и идентификатор сети». Название компьютера и другая информация, которая влияет на описание компьютера в зоне рабочей группы.

Вкладка «Региональные». Настройка языковых параметров.

Вкладка «Компоненты». Настройка IIS -сервера и мастера конфигурации безопасности. В большинстве случаев настройки стандартны. Впрочем, если вы модифицируете Windows XP версии Home, то в ней сервер отсутствует уже изначально.

Вкладка «Дисплей». Глубина, разрешение, частота — т. е., параметры экрана, определяемые по умолчанию.

Вкладка «Автоматическое обновление». Настройки службы «Автоматическое обновление» (Windows Update).

Вкладка «Темы рабочего стола». Если вы на шаге «Настройки» (6) во вкладке «Патчи» вы включили поддержку сторонних тем оформления, то здесь смело можете выбрать несколько приглянувшихся вам неофициальных тем оформления.

Вкладка «Настройка сети». Позволяет настроить параметры локальной сети и Интернета.

Во вкладке «Общие» можно включить высокое сжатие CAB -архивов (однако от этого время создания конечного дистрибутива займет существенно больше времени, чем без сжатия). «Патчи» — исправление некоторых базовых функций ОС. Перечислим каждый из них:

Максимальное число одновременных соединений. Этот патч позволяет обойти ограничение Windows XP SP2 максимального количества подключений, которое по умолчанию равняется 10. Это никак не влияет на просмотр интернет-страниц, но пагубно влияет на некоторые сетевые утилиты вроде сканеров сети (Lan Scope, NetLook…) и P2P-клиентов (eMule,eDonkey и др.). Если вы ими пользуетесь, есть смысл применить патч.

Частота работы портов USB — увеличение этой частоты приводит к более плавному перемещению курсора мыши (у некоторых производителей).

Поддержка неподписанных тем — Windows XP изначально не поддерживает темы сторонних разработчиков, из-за чего пользователям XP приходится устанавливать несколько сторонних программ вроде StyleXP. Этот патч снимает проблему несовместимости.

SFC (Защита файлов Windows) — операционная система жестко настроена на удаление и изменение системных файлов. Это проявляется в виде постоянно появляющегося окна с требованием вставить диск с дистрибутивом Windows. На самом деле, куда большую пользу принесет установка антивируса, чем функция SFC .

7. Опции. Опытным пользователям советуем сразу же активировать опцию «Показать дополнительные», поскольку она открывает недокументированные настройки Windows XP. По сути, разработчики встроили в nLite неплохой твикер. Во вкладке «Службы» можно назначить параметры работы сервисов системы. Если вы знаете, что это такое, можете сделать это вручную либо с помощью справочников, доступных в Сети.

8. Обработка. Это последний этап модификации дистрибутива. Появится запрос с вопросом, запустить процесс или нет. Хорошенько подумайте, не хотите ли вы что-либо изменить в предыдущих настройках — и уже тогда запускайте процесс. Установка/удаление, последующее сжатие в CAB -архивы занимает продолжительное время.

В завершение компиляции можно оставить дистрибутив таким, «какой он есть» (для установки непосредственно с жесткого диска) или подготовить к записи его на CD или DVD , в зависимости от конечного размера. Благо, образ диска — в формате ISO — доступен для записи всеми специализированными программами вроде Nero Express. Перед созданием ISO нужно установить параметры, такие как метка диска, загрузочный сектор, можно указать дополнительные параметры командной строки — в настройках легко сориентироваться. В ином случае можно согласиться со стандартными настройками.

Врезка. Дополнения к nLite

На сайте Nlite доступны дополнения, которые можно включить в состав XP при помощи nLite:

На прошлой неделе на анонимной площадке 4chan был выложен торрент-файл, с помощью которого скачивалось 42,9 Гб данных – файлов исходного года различных продуктов Microsoft. В том числе в базе данных был представлен код Windows XP.

Многие эксперты тогда усомнились в подлинности исходного кода, потому что по заявлениям корпорации Microsoft она никогда и никому не передавали его в полном виде – только частично и только государственным заказчикам из разных стран мира.

Но сомнения развеял IT-специалист из США под ником NTDEV , который загрузил файлы, не стал ждать официального заявления Microsoft по поводу утеки и решил самостоятельно попытаться скомпилировать рабочую операционную систему из представленных в слитой базе данных файлов.

Судя по выложенным на его канале YouTube видео, можно сделать вывод, что за прошедшие выходные специалист успешно скомпилировал код Windows XP, а вчера – Windows Server 2003. В небольшом интервью изданию ZDNet он отметил: «Что ж, теперь можно точно сказать, что слитая база данных является подлинной. Все файлы настоящие. Но есть ощущения, что некоторые компоненты отсутствуют. В частности, я не нашел winlogon.exe и некоторые драйверы, но система работает, что можно видео в моих видео».

NTDEV утверждает, что отсутствующие компоненты означают, что утечка исходного кода XP не находится в пригодном состоянии для использования системы, например, для полной замены ОС. Но то, "что код является подлинным, это сомнений не вызывает".

«Некоторые файлы, в том числе и Проводник, можно легко скомпилировать. Я попробовал некоторые программы из скомпилированного исходного кода XP и есть ощущение, что они идентичны разным версиям Windows», – отмечает NTDEV в своем видео. За исключением отсутствующих компонентов, NTDEV считает, что «исходный код можно использовать для компиляции всех SKU, а также бесплатных (оптимизированных) розничных сборок».

Что касается утечки исходного кода Windows Server 2003, второй основной версии ОС Windows, которая есть в утекшей базе данных, NTDEV заявил, что этот код также похож на утечку XP : «Утечка исходного кода Server 2003 на самом деле кажется более полноценной, чем кода XP, но в ней, как и в случае XP, отсутствует код Winlogon».

Стоит напомнить, что утечка данных включала в себя помимо Server 2003 и XP также Windows 2000, Embedded (CE 3, CE 4, CE 5, CE, 7), Windows NT (3.5 и 4) и MS-DOS (3.30 и 6.0).

Компиляция под андроид из под Windows 10
Всем привет. У меня есть проект, реализованный с использованием QML + Qt 5.5.1 Он отлично.

Компиляция под Windows 95
Подскажите, можно ли на откомпилировать проект на XE6 так, чтобы программа работала на Windows 95.

Компиляция QT4.3.2 под Windows 95
Имеется Windows 95. Установлен QT4.3.2 и MinGW-3.4.2. При запуске qmake выскакивает ошибка :(.

Компиляция mediainfo под qt windows
Здравствуйте, помогите скомпилировать библиотеку mediainfo под qt windows. Там есть проект для.

В чем может быть дело? П.С Последние пакеты С++ поставил. Смотри свой код. Что-то ты в нём вызываешь, не соответствующее XP при запуске на ХР вылетает ошибка "Точка входа в процедуру ReleaseSRWLockExclusive не найдена в библиотеке DLL KERNEL32.DLL?" Minimum supported client Windows Vista [desktop apps | UWP apps] Я эту процедуру сам не пользую. Видимо где-то внутри системой вызывается. Может надо SDK под XP найти? Я эту процедуру сам не пользую. Видимо где-то внутри системой вызывается. Может надо SDK под XP найти?

Ты другую какую-то используешь, которая, в свою очередь, использует эту

Добавлено через 2 минуты
Причём, скорее всего, она у тебя где-то вызывается напрямую, SDK тут вряд ли поможет.

Добавлено через 59 секунд
Нужно проверить все вызовы функций из WinAPI, что они есть в XP

YarDan, попробуй скомпилить в VS2008 - я под ней делал программы для XP. На крайняк откопать VS6 - под ней 100% взлетит )

Выписал все апишные ф-ции, проверил, все они от вин2000 и старше.

Добавлено через 40 секунд
Под ней ошибок столько что разгребать неделю. И к тому же у меня там генератор рандома мт19937 из 11-го стандарта. Как его туда подключить тогда? Ибо на него ругается

YarDan, если ругается только на него - затолкать в dll, например. Или найти левую реализацию

но я ж говорю - это на крайняк

Это генератор рандома где-то проблемную функцию звал. Сделал вместо него обычный rand и все заработало. НЕ считая пары десятков исправлений в сторону деградации. Все спасибо за помощь Это генератор рандома где-то проблемную функцию звал. Сделал вместо него обычный rand и все заработало. НЕ считая пары десятков исправлений в сторону деградации. Все спасибо за помощь Кстати, вспомнил - есть ещё вот такие макросы, раньше они в StdAfx.h сами прописывались, теперь что-то не вижу
Возможно, достаточно было просто их установить в нужные значения

Компиляция под Windows XP на VS 2017
Взможно ли компилировать в среде разработки Visual Studio 2017 чтобы проект также запускался на.


Компиляция под Windows из Linux
Компиляция под Windows из Linux - возможно ли это? По идее как-то можно с MinGW, есть у кого опыт?

Компиляция под Windows x64
Здравствуйте есть 2 компьютера на 1 стоит х32 на котором компилируется программа а на другом х64.

Компиляция MPlayer под Windows
Доброго времени суток. Пытаюсь скомпилировать mplayer с помощью Cygwin64. Конфиг проходит.

Компиляция PCRE 8.01 под Windows
Доброго времени суток. Понадобилось использовать в программе регулярные выражения. Погуглил.

QT компиляция из Windows под Linux
Поделитесь, если не сложно, линком как сие делать.

Иногда может случиться такая ситуация, что необходимо скомпилировать и в будущем запустить ваше приложение, разработанное в среде Qt Creator в устаревшей Windows XP. Разберём в этой статье, как это сделать.


Будем использовать такую связку: Qt+MinGW 4.9.2 32 bit, что и укажем во время установки Qt.


После установки, запустим Qt и откроем проект и на экране появится следующий предупреждающий диалог (необходимо нажать кнопку «ок»):



Добавим в файл .pro следующую строку:

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets


Попробуем скомпилировать проект. В моём случае проект небольшой (2500 строк) и он удачно скомпилировался. Бинго! Программа запущена. В вашем случае компилятор может выдавать ошибки (из-за разности версий и меняющегося Qt-функционала), которые придётся исправлять. Для этого, пользуйтесь гуглом.


Небольшая оговорка: Qt 5.5.1 у меня почему-то не запустился на Win XP, но запустился на Win 7, а затем после того как я собрал все необходимые .dll, программа запустилась и на Win XP (с пакетом обновления 3).

Как собрать .dll в одном месте для программы, написанной в Qt, чтобы запустить на Win XP?

1 Вариант. Windeployqt

Для того, чтобы собрать все файлы .dll в одном месте, которые необходимы для запуска вашей программы, лучше всего воспользоваться инструментом windeployqt, находящемуся по пути

Диск:\Путь установки Qt\Версия Qt\mingw***_**\bin.

Чтобы это сделать откройте два окна проводника, в одном папку релиза вашего проекта, в котором оставьте просто .exe файл. А во втором окне путь с инструментом, указанным выше.


И перетащите файл с названием вашего проекта на файл windeployqt.exe. Далее пойдёт процесс копирования необходимых файлов в папку с исполняемым файлом.



Конечно, у этого инструмента есть недостаток. Недостаток заключается в том, что он копирует не все необходимые .dll и с высокой долей вероятности ваша программа при запуске может выдать системную ошибку, вроде такой:


Для исправления такой ошибки, нужно скопировать файл libgcc_s_dw2-1.dll в каталог с программой (этот файл находится по пути инструмента windeployqt). Соответственно, эту процедуру нужно сделать для всех ошибок такого рода. После этого, программа должна успешно запуститься по нажатию на исполняемый файл.

2 Вариант. LibraryCollector (раньше назывался DLLCollector)

Запускаем утилиту (обязательно от имени администратора) и указываем пути:

name – путь к исполняемому файлу.

bin – путь к папке bin в папке mingw***_** по пути с Qt Creator.

plugins – путь к папке plugins в папке mingw***_** по пути с Qt Creator.

to – путь к папке, в которую будут копироваться dll и исполняемый файл.


Нажимаем кнопку «Run», ваша программа должна запуститься. Далее закройте программу и нажмите кнопку «Update». Далее вам необходимо выполнять действия в программе, чтобы утилита определила все файлы, необходимые для работы вашей программы, которые отобразятся в списке:


Закройте программу и нажмите кнопку «Copy». Все необходимые для работы .dll скопируются в папку с вашим исполняемым файлом. Поздравляю!

Небольшие ХАКИ для запуска приложения в WIN XP. Исправление ошибки « Не является приложением Win32».

Если вы используете Qt вместе с Visual Studio (а не компилятором MinGW) и пытаетесь развернуть свое приложение на компьютере под управлением Windows XP или Windows Server 2003, скорее всего, вы видите эту ошибку.

Эта ошибка не возникнет для Qt с Visual Studio 2010, но появляется при использовании Visual Studio 2012, 2013 или Visual Studio 2015.

Небольшое примечание: Эта же ошибка («…не является приложением Win32») возникает при попытке запустить 64-разрядное приложение в 32-разрядной системе Windows XP или Windows 2003, поэтому убедитесь, что ваше приложение действительно 32-разрядное. Один из способов проверки разрядности: запустите приложение в Windows 7 или 10, запустите диспетчер задач, на вкладке процесса проверьте, что имя вашего приложения имеет суффикс «*32».

Для первого способа достаточно открыть .pro файл вашего проекта и добавить туда следующую строку:

QMAKE_LFLAGS_WINDOWS = /SUBSYSTEM:WINDOWS,5.01

Примечание: если вы компилируете 64-битный файл .exe (и, таким образом, нацелены на 64-битную Windows XP), вместо этого вам следует установить для QMAKE_LFLAGS_WINDOWS значение /SUBSYSTEM:WINDOWS,5.02.

Второй способ – более экзотический, для этого воспользуемся редактором двоичных / шестнадцатеричных файлов. Откройте файл .exe вашего приложения, перейдите почти к началу файла и отыщите шестнадцатеричную последовательность 06 00 00 00 00 00 00 00 (повторяется один раз). Эта строчка находится по адресу 0000130, но может находиться между 0000120 и 0000150. Замените её на 05 00 01 00 00 00 00 00.

Примечание: если это 64-битный файл .exe, вместо этого вы должны изменить строку на 05 00 02 00 00 00 00 00.

Сохраните exe файл и он должен запуститься. Специально для вас записал видео, как запустить exe вне QT:

Читайте также: