Решил на днях посмотреть на JVM от IBM, в частности поискать аналог sun.misc.Unsafe. На странице IBM нашел где можно скачать ее IBM 32-bit Runtime Environment for Java 2 (JRE) но наткнулся на следующие требования - Computer must be an IBM system. This program will not install on non-IBM systems. - Computer must have been manufactured prior to 1 Apr 2005. Откуда я им спрашивается "IBM system" возьму!? Или я что-то не то пытаюсь установить? Если у кого-то есть IBM'овская JVM, поделитесь пожалуйста, буду благодарен. Также благодарен буду за ссылки на другие виртуальные машины для Явы кроме Sun.
Я скачивал себе IBM'овскую жабу под линукс, работает нормально. "IBM System" скорее всего означается просто "PC-compatible". А если это какая-то проверка на производителя, то забитхачишь инсталлятор. Так что качай и не заморачивайся.
Там действительно проверка на производителя оказалась, через WMI "SELECT Manufacturer from Win32_ComputerSystem". Но патчить ничего не понадобилось, так как проверка эта производится отдельной программкой(checkIBM.exe) и результат пишется в файл TEST.OUT, откуда его в свою очередь читает скрипт: @00008D34:0021 function_503(2); @00008D3F:0021 function_810(); @00008D45:0006 local_string13 = LASTRESULT; @00008D4F:0021 function_504(local_number8, local_string13, "TEST.OUT"); @00008D66:0021 WriteLine/GetLine(local_number8, local_string12); @00008D72:0021 CloseFile(local_number8); @00008D7B:000D local_number9 = (local_string12 = "IBM"); @00008D8B:0004 if(local_number9) then // ref index: 1 Поэтому можно просто подсунуть ему собственный TEST.OUT со строчкой 'IBM\r\n' внутри и все благополучно установится. Отдельное спасибо всем авторам и просто приложившим руку к статье "Исследование InstallShield 6+ – обзор методик".