1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Soft Импорт ключей реестра в 64-битные ОСи

Тема в разделе "Hard & Soft", создана пользователем StormReaver, 1 мар 2021.

  1. StormReaver

    StormReaver

    Регистрация:
    10 сен 2015
    Сообщения:
    299
    В связи с грядущей покупкой нового системного блока, а вместе с этим - переезда с 32-битной XP на семерку или десятку, возникла проблема переноса ключей реестра из всех установленных на старом компе игр. С помощью Reg Organizer'а я сохранил ключи регистра для всех игр, числящихся в списке установленных, дабы сэкономить большое кол-во времени при переустановке игр (понимая, что с некоторыми играми, копирующими свои файлы еще и в каталог Windows, это не пройдет). При импорте ключей в новую виртуальную WinXP проблем, понятное дело, не возникнет, достаточно будет только пути к игре подкорректировать, но в 64-битных ОСях, насколько помню, другая структура реестра, потому .reg-ключи придется корректировать. Ниже примеры выдранных ключей - что нужно мне в них изменить, чтоб можно было в итоге "скормить" семерке или десятке?

    REGEDIT4

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Crimsoness]
    "DisplayName"="Crimsoness 1.01E"
    "UninstallString"="C:\\Games\\Adventures\\Crimsoness\\uninst.exe"
    "DisplayIcon"="C:\\Games\\Adventures\\Crimsoness\\crimsoness.exe"
    "DisplayVersion"="1.01E"
    "URLInfoAbout"="al|together 2008 "CROSS THE RUBICON" official website"
    "Publisher"="insani"
    REGEDIT4

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Slave Zero]
    "UninstallString"="C:\\WINDOWS\\IsUninst.exe -f\"d:\\games\\action\\Slave Zero\\Uninst.isu\" -c\"d:\\games\\action\\Slave Zero\\Uninst.dll\""
    "DisplayName"="Slave Zero"
    "InstallSource"="J:\\setup\\"
    "InstallLocation"="d:\\games\\action\\Slave Zero"
    "Publisher"="Infogrames"
    "StartMenuFolder"="C:\\Documents and Settings\\All Users\\Infogrames\\Slave Zero\\Slave Zero"
    "InstallLanguage"="9"

    REGEDIT4

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Defcon_is1]
    "Inno Setup: Setup Version"="5.1.4"
    "Inno Setup: App Path"="d:\\games\\Strategies\\Defcon"
    "InstallLocation"="d:\\games\\Strategies\\Defcon\\"
    "Inno Setup: Icon Group"="Defcon"
    "Inno Setup: User"="Admin"
    "Inno Setup: Selected Tasks"=""
    "Inno Setup: Deselected Tasks"="desktopicon"
    "DisplayName"="Defcon"
    "UninstallString"="\"d:\\games\\Strategies\\Defcon\\unins000.exe\""
    "QuietUninstallString"="\"d:\\games\\Strategies\\Defcon\\unins000.exe\" /SILENT"
    "Publisher"="Introversion Software Ltd"
    "NoModify"=dword:00000001
    "NoRepair"=dword:00000001
     
    Последнее редактирование: 1 мар 2021
  2.  
  3. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    В общем случае, запускаем 32-битный regedit и импортируем ключи через него. Но! это не для любой ситуации (вот как раз не для раздела Uninstall).
     
  4. StormReaver

    StormReaver

    Регистрация:
    10 сен 2015
    Сообщения:
    299
    Для этого раздела нужно какую-то системную папку еще дополнительно перенести?
     
  5. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Не нужно. Но для него смысл переноса ключей вообще туманный — не проще при необходимости просто папку с игрой будет удалить?
     
  6. StormReaver

    StormReaver

    Регистрация:
    10 сен 2015
    Сообщения:
    299
    Ну предполагается, что как минимум некоторые старые игры будут требовать наличия этих ключей в реестре, и подобное делается, чтоб не рыться на болванках/не скачивать и не монтировать всё по новой. Так-то, в принципе, можно весь реестр в Registry Workshop, например, подготовить на экспорт, но в том и дело, что он у меня за многие годы до 200+- мегов разросся и искать в нем все ключи для игр будет геморно. В случае с рипами/фуллрипами, к которым в комплекте идет .reg-файл, такой проблемы нет, но это лишь часть игр с винта.
     
  7. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Не будут. Uninstall — это исключительно для самой винды. Ключи для самих игр хранятся в другом месте (точнее, в других местах — к сожалению).
     
  8. StormReaver

    StormReaver

    Регистрация:
    10 сен 2015
    Сообщения:
    299
    А, жаль, если тех ключей не хватит. Видимо, придется во всём регистре копаться (сейчас его экспортировал... и он весит аж 267 мегов).

    А вот такие .reg-ключи 64-битная ось съест (на примере Phantasy Star Online)?
    REGEDIT4

    [HKEY_CURRENT_USER\Software\SonicTeam]

    [HKEY_CURRENT_USER\Software\SonicTeam\PSOV2]
    "INSTALL"=dword:00000000
    "A_FONT_JAPAN"="FA BS"
    "ACCESS"=hex:
    "A_FONT_LATIN"="Arial"
    "A_FONT_KOREA"=""
    "A_FONT_TRAD_CHINESE"=""
    "CTRLFLAG0"=dword:00000000
    "CTRLFLAG2"=dword:00000000
    "CTRLFLAG3"=dword:00000000
    "SERIAL"=hex:
    "UNINSTALL"=""
    "A_FONT_SIMPLE_CHINESE"=""
    "Dir"=".\\\\"
    "CTRLFLAG1"=dword:00000006
    @=""
    "W_FONT_LATIN"=hex:41,00,72,00,69,00,61,00,6c,00,00,00
    "W_FONT_JAPAN"=hex:26,ff,21,ff,20,00,38,4e,b4,30,b7,30,c3,30,af,30,22,ff,33,ff,\
    00,00
    "W_FONT_KOREA"=hex:00,00
    "W_FONT_SIMPLE_CHINESE"=hex:00,00
    "W_FONT_TRAD_CHINESE"=hex:00,00
    "E-MAIL"=hex:
    "LANGUAGE"=dword:00000001
     
  9. Das_Monster

    Das_Monster

    Регистрация:
    1 сен 2018
    Сообщения:
    668
    В 64-ой ОС реестре для совместимости со старыми 32-ми приложениями ветвь HKEY_LOCAL_MACHINE\SOFTWARE\ работает, игры должны своё там увидеть. В крайнем случае (если не увидят), можно переделать .reg файл на родную ветку, добавив Wow6432Node - [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Defcon_is1]

    Все приведённые для примера в первом сообщении записи из HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ нужны для появления пункта удаления соответствующей игры в "Установка и удаление программ" в WinXP или "Удаление или изменение программы" в Vista 7 и выше. И чтобы эти записи появились в 64-ой ОС, им точно потребуется переименование. Но кроме этого, чтобы удаление могло работать, необходимо ещё и соблюсти пути, только не плане изменить их в своём .reg файле (если они будут в новом месте), а нужно скопировать игру туда же (буква диска и остальной путь), где она и была. Иначе это будет "пустышкой" - пункт есть, но удаление не будет работать.
    Это от того, что список файлов (+ записи реестра и ярлыки) хранится рядом с программой удаления. Для примера игра Defcon из сообщения - она была упакована через установщик InnoSetup, в папке игры должен быть файл unins000.dat (и рядом утилита удаления unins000.exe), именно в нём указаны файлы игры с полными путями, и если папку перенести в другое расположение, то при запуске удаления (неважно откуда, хоть сам unins000.exe из папки) удалятся лишь эти два файла, сама игра останется. И кстати, игра Slave Zero в установщике InstallShield, поэтому нужно переносить ещё и утилиту удаления IsUninst.exe из папки Windows.

    Вообще, как уже выше написали, ветки из Uninstall можно и не добавлять, проще самому удалить папку игры, чем мучаться с установщиками, тот же InstallShield может и не заработать на новой ОС. Я видел лишь два раза, когда записи Uninstall действительно оказались нужны - они потребовались для установки обновлений (у одной игры "родное", у второй было самопальное). Даже основные записи из HKEY_LOCAL_MACHINE\SOFTWARE\ могут быть нужны лишь для установки обновлений (там будет храниться путь), а на работу игры их отсутствие никак не скажется, в худшем случае, нужное при первом запуске создадут. Я видел лишь одну игру, которая не работала без своих записей в HKEY_LOCAL_MACHINE\SOFTWARE\, то есть при простом копировании (с одного компа на другой), это был Unreal Tournament 2003, может это был чисто наш местный глюк (в начале двухтысячных было дело), проверять сейчас это не буду.

    P.S.
    Метка REGEDIT4, которую она ставит в заголовок .reg файла, из старой Windows (98? не помню уже), сама XP ставит Windows Registry Editor Version 5.00

    По-идее, лишь в старой ОС нельзя будет импортировать reg файл с новой меткой, а новые ОС должны "скушать" старую метку (обратная совместимость). Но если эти .reg файлы всё же не будут приниматься в новой ОС, то причина будет в этом.
     
    Последнее редактирование: 2 мар 2021
    TBAPb и StormReaver нравится это.
  10. StormReaver

    StormReaver

    Регистрация:
    10 сен 2015
    Сообщения:
    299
    @Das_Monster спасибо за подробный ответ :) Вообще XP абсолютно всегда принимала ключи с меткой "regedit4", про метку "Windows Registry Editor Version 5.00" я в курсе, что надо будет ее ставить. Раз с записями из ветки Uninstall так, значит, придется-таки Ctrl+F'ать 267-меговый файл реестра. Надеюсь, Registry Workshop может открывать такие жирные реестры без импортирования их в текущую ОСь.
     
  11. Das_Monster

    Das_Monster

    Регистрация:
    1 сен 2018
    Сообщения:
    668
    Насчет XP я и не сомневался, она ведь очень близко по времени от 98\Me появилась. А вот от Десятины можно ждать любого подвоха.

    Игры, как и другие программы, обычно пишут свои ветки в HKEY_CURRENT_USER\Software\ и HKEY_LOCAL_MACHINE\SOFTWARE\ - в первом (HKCU\S) чаще всего создают (даже не во время установки, а при первом своём запуске) ветки со своими настройками, к примеру, игры на Unity там очень часто свои настройки графики хранят, во втором же (HKLM\S) могут быть ветки со значениями созданными как во время установки (пути установки, иногда свой ключ "cd-key" явный или зашифрованный)*, так и самой игрой\приложением после запуска (вновь те же настройки).

    А зачем захотелось переносить их записи? Большая часть игр молча создаст отсутствующие значения, и продолжит работать. Самое ценное, что может там быть, это ключ защиты (cd-key), и пути установки игры, которые читают установщики обновлений, и без их наличия некоторые могут не дать его установить. Но в нынешнее время это уже не имеет значения, для старых игр новых обновлений не светит, а если что-то и потребуется поставить, то проще найти в сети цельно-обновленную игру, ведь кроме записей в реестре, некоторые "заплатки" могут проверять ещё оригинальность .exe игры и её ресурсы, то есть ломанные и русифицированные игры они так же откажутся обновлять. Ключ "cd-key" проще заново ввести, если игра это позволяет (в ней самой есть ввод, или идёт отдельная утилита).

    P.S.
    Если найдется редкая игра, которая где-то в реестре будет прятать очень важные значение, то лучше тогда смотреть что она читает\пишет через старенький узконаправленный RegMon (теперь нужно искать в сети, где качать) или её приемника Process Monitor - в их фильтр вбить имя исполняемого файла (.exe) нужного приложения, а потом запастись вниманием и терпениеv, так в первую очередь полезут десятки запросов на системные ветки. Очень муторно. Хотя я находил несколько раз через RegMon полезные данные (искал у обновлений, как точно должна называться ветка их игры в реестре, где они хотят увидеть нужные значения, чтобы они соизволили установиться).

    * это об оригинальных установщиках, а пиратские перепаковки могут вообще никаких ключей не создавать, если автор не позаботился об этом.
     
    Последнее редактирование: 3 мар 2021
    StormReaver нравится это.
  12. StormReaver

    StormReaver

    Регистрация:
    10 сен 2015
    Сообщения:
    299
    Ну, у меня сейчас на винте 636 PC-игр (не считая установленных на виртуальной Win98 в Virtual PC, переносом которых тоже надо будет озаботиться, раз уж на новых осях они благодаря M$ уже не пашут), и даже если вычесть ~130+ ДОС-игр, с которыми действительно никогда никаких проблем нет, останется еще большое кол-во игр, и среди них точно будет немало капризных - хотя бы те же старые японские визуальные новеллы, образы которых нужно будет рыть в загашниках. Насколько я помню, "капризность" игр в плане потребности в ключах реестра резко спадает года с 2002-03, но в том и дело, что у меня среди этих 636 точно больше 150 игр, выпущенных до этого, для Win95-2000. Да и просто предпочитаю перестраховываться.

    Более новые игры настройки еще хранят в C:\Documents and settings\user\Local settings, так что, видно, еще и оттуда надо не забыть "сковырнуть".

    Regmon нашелся , спасибо за рекомендацию, посмотрю, что перевесит в итоге - муторный мониторинг обращений к реестру или поиск игр в ящиках с болванками :)
     
  13. Das_Monster

    Das_Monster

    Регистрация:
    1 сен 2018
    Сообщения:
    668
    @StormReaver, удачи тогда, с таким количеством игр придётся повозиться. Пологаю, что основная часть записей будет в HKEY_LOCAL_MACHINE\SOFTWARE, особенно у стареньких игр, наверно, даже RegMon-ом не особо потребуется что-то выслеживать.
     
  14. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.803
    @StormReaver, у меня есть некоторый опыт возни с реестром в контексте именно старых игр и их запуска на x64-системе, т.к. я собираю фуллрипы "для души" и на все случаи жизни - чтобы один и тот же дистрибутив можно было на Win9x и максимум Win7 x64 распаковать, запустить (если требуется) простой регфайл с абсолютно минимальным набором строк для запуска реестрозависимой игры, и забыть про колхозные интернет-сборки, включая GOG, и монтирование виртуальных CD (кроме образов аудиотреков, прочие данные с которых удаляю) перед каждым запуском, как про страшный сон. Думаю, следующая информация будет вам полезна.

    Список

    Здесь 252 игры, 62 из которых реестрозависимы (остальные 190 - нет). Какие-то из них хранят там только информацию о разрешении экрана (Аллоды 1 & 2), у каких-то без данных в реестре не запустится только косметическое меню запуска или программа-конфигуратор (игры издательства Lucas Arts кроме серии Knights of the Old Republic, Tony Hawk'и, Worms 2), а где-то - часть функционала (NoxQuest в Nox'е, видеоролик в Legacy of Kain - Soul Reaver 2). Остальные без этих данных просто не смогут запуститься даже с кряком, хотя чаще всего достаточно поставить в переменной пути к игре обыкновенную точку (это символ "текущая директория" с точки зрения софта).

    Отмеченные жирным содержат данные в ветке HKEY_LOCAL_MACHINE, а значит на x64-битных системах нужно обязательно дописывать Wow6432Node после SOFTWARE, т.е.:

    Было:

    Код:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Dynamics\Soul Reaver 2]
    "MoviePath"="."
    
    Стало:

    Код:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Crystal Dynamics\Soul Reaver 2]
    "MoviePath"="."
    
    Отмеченные жирным курсивом содержат данные в ветке HKEY_CURRENT_USER, а значит их можно переносить как есть (HKCU не имеет разделения на x86 и x64).

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

    Ну и жирный курсив с подчёркиванием - комбинация факторов из ветки HKCU и необходимости ручного редактирования пути.

    А единственная игра, которая требовала для запуска данные деинсталлятора - это Шторм и Шторм - Солдаты неба. Мой 64-битный регфайл для них выглядит так:

    Код:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Echelon]
    "InstallSource"="X:\\INSERT\\VALID\\CD\\DRIVE\\PATH\\HERE"
    
     
    Последнее редактирование: 6 мар 2021
    StormReaver нравится это.
  15. StormReaver

    StormReaver

    Регистрация:
    10 сен 2015
    Сообщения:
    299
    Спасибо за информативный пост, у меня как раз 31 игра из этого списка на винте есть и готовится к переносу :) К вопросу о "реестрозависимых" играх - похоже, действительно в некоторых случаях это зависит от того, какая версия у игры - оригинальный образ, локализация или рип. Так, например, триадовская версия Nox у меня нереестрозависимая, а оригинальные 1C-овские "Космические Рейнджеры" у меня вообще долгое время были примером непривередливости, т.к. нормально работают вообще без ключей в реестре. А вот Samurai Shodown 2 и DS9TheFallen, наоборот, попадались капризные. Пожалуй, даже сохраню список.
     
  16. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.803
    @StormReaver, вэлком! Согласен, от локализации, версии, и даже кряка часто зависит.

    Nox от пиратов (у меня был Фаргусовский) обычно версии 1.0, а в 1.2 был добавлен кооперативный режим "NoxQuest" - вот он без определённой строки в реестре и не запустится из меню.
     
    Последнее редактирование: 6 мар 2021
  17. Das_Monster

    Das_Monster

    Регистрация:
    1 сен 2018
    Сообщения:
    668
    @Revolter, об нескольких играх в списке дополню.

    WARCRAFT III: THE FROZEN THRONE - в HCLM\Software у него ветка есть, там обновление будет смотреть параметр InstallPath. Но начиная с версии 1.25b игра умеет сама все ключи заносить при запуске "- Warcraft III теперь прописывает ключи реестра при запуске."
    Zanzarah - версии 1.008 (Руссобит-М) пофиг на наличие ключей в реестре, что на XP, что на Vista 7 x64, ей важны лишь драйвера, то есть придется с dgVoodoo 2 её запускать, или она так сможет работать.

    P.S.
    Если The Broken Land в списке это клон Диаблы, изданный Руссобит-М под именем "Заброшенная Земля", то ей так же плевать на записи в реестре, я её даже не устанавливал, а распаковал из установщика, запускается без вопросов.
     
    Revolter и StormReaver нравится это.
  18. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.803
    @Das_Monster, подтверждаю насчёт WarCraft III / Frozen Throne: у меня версия 1.26.0.6401 (последняя для Win9x). Кстати, так ещё Diablo II делает, и множество других игр - честь и хвала такому их подходу к реестру :)

    Zanzara у меня на языке оригинала, поэтому не от Руссобит-М. Регфайл содержит лишь лицензионный ключ:

    Код:
    [HKEY_CURRENT_USER\Software\Funatics\Zanzarah]
    "SerialNumber"="8BY40PWIWLSEREK2QVXW"
    
    Без него вот так:

    z.png

    Но спасибо за поправку насчёт HKCU - таки жирным курсивом надо было выделить. А у меня в дистрибутиве зачем-то два файла лежат - для x86 и x64.

    The Broken Land - да, оно самое. Только я и не утверждаю, что она туда ломится.
    --- добавлено 6 мар 2021, предыдущее сообщение размещено: 6 мар 2021 ---
    Кстати, Half-Life v1.1.1.0 (последняя не-стимовская) тоже ищет ключ в реестре при первом запуске, и тоже в HKCU.
     
    Das_Monster нравится это.
  19. Das_Monster

    Das_Monster

    Регистрация:
    1 сен 2018
    Сообщения:
    668
    А, получается, названия без курсива или "жирноты" в списке идут как независимые от записей? Надо было "легенду" и об них написать, а то воспринимается так, словно все игры в списке даны как рекомендация к копированию веток реестра.

    P.S.
    А в этой имеющейся версии Занзары присутствует внутри-игровая защита от копирования, когда без диска в приводе все феи становятся неубиваемые? В ~2003 была пиратка, при запуске диска не просила, но пока образ\диск не вставишь, играть было невозможно.
     
  20. Revolter

    Revolter

    Регистрация:
    12 июл 2006
    Сообщения:
    2.803
    Да, неотмеченные - это типа независимые. Вообще можно было упомянуть в легенде, но я даже не подумал, что это только мне доподлинно известно, что жирным отмечено ровно 62 игры, как и обещалось, а при первом взгляде и без ручного подсчёта - это вовсе необязательно очевидно :) Поправил.

    Ух ты, как в Spyro на первой плойке - там тоже что-то подобное было. Я бы с удовольствием проверил, если есть сохранёнка. Пока игру не проходил, только в начале побегал и отложил на потом.
     
  21. Das_Monster

    Das_Monster

    Регистрация:
    1 сен 2018
    Сообщения:
    668
    Вот, второй слот (_0001.dat), положить в Save, которая в корне папки, а не в System (там тоже зачем-то есть Save). Тут сохранение у самой последней битвы, и там лучше не проверять, там очень злые феи (металлические, накладывают жесткое проклятье), они убьют неопытного игрока и сами по себе, без всякой защиты.

    Лучше перенестись в начальный "Сад фей" (нажать enter и выбрать вкладку рун), оттуда из пещеры пойти на лево, в деревеньке у моста ходит эльф, он даёт тренировочный бой с феей, котрая не атакует, но даже её нельзя будет убить, если эта защита в этой версии будет работать.
     

    Вложения:

    • _0001.rar
      Размер файла:
      7,7 КБ
      Просмотров:
      7
    Revolter нравится это.
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление