Отучаем инсталлятор проверять версию ОС
На днях я спрашивал на Вотсоуэвере как поставить под 2003-м Виндоусом приложение, которое требует XP. К сожалению, предложенные там решения (подписать в реестре другую версию) не сработали, и поэтому вместо того, чтобы обманывать инсталлятор, я решил зайти с другой стороны: отучить его проверять версию Винды вовсе. Это оказалось совсем не сложно.
Начну с того, что мой инсталлятор был EXE-файлом, который встречал меня словами о том, что он распаковывает MSI-файл, а уже после того, как распакованный MSI запускался, он ругался на то, что Виндоус у меня не XP.
Как нетрудно догадаться, MSI можно выловить в C:\Documents & Settings\
Теперь нам понадобится 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 |
Я эту строчку тупо удалил, перезапустил инсталлятор, и прога встала как миленькая.
Ничего кроме «бедные виндузятники» опять сказать не могу :)
Мда, эта строчка — то что называют «индийский код». Ужас-то какой.
Юрко, а чем плоха эта строчка сама по себе?
Большое спасибо за эту прогу! Только пригодилась она мне для других целей. Дело в том, что сейчас многие игры используют как раз этот инсталлятор и занимают объем DVD9, т. е. двуслойной болванки, которые весьма дорогие. А с помощью Orca MSI editor можно отредактировать файл MSI, чтобы при установке сначала запрашивались одни, потом другие файлы, короче, разбить игру на две копеечные болванки DVD5.
Хотя, тезка, зная ваше отношение к пиратской продукции... :-)
А что с моим отношением к пиратской продукции?
Может, вы имели в виду моё отношение к играм? ;-)
Гений! =)
!!Андрей Руденко 30 марта 2008, 16:13
Ничего кроме «бедные виндузятники» опять сказать не могу :) !!
А на других платформах всё ещё сложнее…
Да, вот мне тоже стало интересно
Андрей Руденко, вы, извиняюсь, маковод? или линухоид?
И вдогонку — каким нужно обладать мышлением, чтобы из кривизны рук писателя инсталятора делать выводы о возможностях ОС?? Мне действительно интересно...
Игорь, ну естественно маковод. Чтобы поставить что-то в линухе нужны куда большие извращения зачастую :)
А мышление тут не при чем, все дело в практике. А на практике оказывается, что «и так у них все». Этому на самом деле есть вполне объективные объяснения. Достаточно взглянуть на Xcode и посмотреть на чем ведется разработка ПО для Макоси, а потом сравнить с ситуацией в вин-мире. Поэтому и гадких утят в Макоси значительно меньше (именно в относительных цифрах). Так что это проблема не конкретного инсталятора, а именно ОС.
А Касперского так поставить можно на сервер?