Отучаем инсталлятор проверять версию ОС

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

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

Как нетрудно догадаться, MSI можно выловить в C:\Documents & Settings\\Local Settings\Temp. Попутно замечу, что «распакованный» из 25-мегабайтного дистрибутива файл оказался всего лишь 19-мегабайтным...

Теперь нам понадобится Orca MSI editor. Оказывается, MSI-файл представляет собой базу данных с какой-то кучей таблиц. Что там к чему — понять трудно, но моё внимание привлекла таблица LaunchConditions, в которой была всего одна строчка:

(Not Version9X=400) And (Not Version9X=410) And (Not Version9X=490) And (Not VersionNT=400) And (Not VersionNT=500) And (Not VersionNT=502) And (Not VersionNT=600) [ProductName] requires that your computer is running Windows XP

Я эту строчку тупо удалил, перезапустил инсталлятор, и прога встала как миленькая.

Дальше
9 комментариев
Андрей Руденко 2008

Ничего кроме «бедные виндузятники» опять сказать не могу :)

Юрко 2008

Мда, эта строчка — то что называют «индийский код». Ужас-то какой.

Андрей Руденко 2008

Юрко, а чем плоха эта строчка сама по себе?

Ilya RooT 2008

Большое спасибо за эту прогу! Только пригодилась она мне для других целей. Дело в том, что сейчас многие игры используют как раз этот инсталлятор и занимают объем DVD9, т. е. двуслойной болванки, которые весьма дорогие. А с помощью Orca MSI editor можно отредактировать файл MSI, чтобы при установке сначала запрашивались одни, потом другие файлы, короче, разбить игру на две копеечные болванки DVD5.

Хотя, тезка, зная ваше отношение к пиратской продукции... :-)

Илья Бирман 2008

А что с моим отношением к пиратской продукции?

Может, вы имели в виду моё отношение к играм? ;-)

planius 2008

Гений! =)

Денис 2008

!!Андрей Руденко 30 марта 2008, 16:13
Ничего кроме «бедные виндузятники» опять сказать не могу :) !!
А на других платформах всё ещё сложнее…

Игорь 2008

Да, вот мне тоже стало интересно
Андрей Руденко, вы, извиняюсь, маковод? или линухоид?
И вдогонку — каким нужно обладать мышлением, чтобы из кривизны рук писателя инсталятора делать выводы о возможностях ОС?? Мне действительно интересно...

Андрей Руденко 2008

Игорь, ну естественно маковод. Чтобы поставить что-то в линухе нужны куда большие извращения зачастую :)

А мышление тут не при чем, все дело в практике. А на практике оказывается, что «и так у них все». Этому на самом деле есть вполне объективные объяснения. Достаточно взглянуть на Xcode и посмотреть на чем ведется разработка ПО для Макоси, а потом сравнить с ситуацией в вин-мире. Поэтому и гадких утят в Макоси значительно меньше (именно в относительных цифрах). Так что это проблема не конкретного инсталятора, а именно ОС.

Константин 2008

А Касперского так поставить можно на сервер?

Мои книги