На Windows (я подозреваю, в вопросе речь о ней) программно получить объем памяти можно только через две API-функции
GetPhysicallyInstalledSystemMemory или
GlobalMemoryStatusEx.
- Если требуется всего один раз обмануть один инсталлятор, то легче всего запустить его под отладчиком на паузе, найти точки входа этих функций в Kernel32.dll, повесить на их вызов брекпоинты, запустить на исполнение, поймать сам вызов, вручную подправить возвращаемое значение (в случае с GlobalMemoryStatusEx подправить структуру в памяти по адресу, передаваемому через параметр) и продолжить исполнение, этого должно быть достаточно.
- Если требуется многократная воспроизводимость данного процесса или исполнение на другой машине, тогда потребуется написать патч к этому инсталлятору, подправляющий таблицу импорта Kernel32.dll и вставляющий на соответствующие места адреса перехватывающих функций (в общем, это довольно обширная тема, раскрыть ее можно только в двух-трех томах текста).