3

I have a computer that has 1 GB of RAM (I know - bad buying choice!!). I would like to install the program BlueStacks, but it requires 2 GB of RAM.

Is there a way that I can tell Windows 10 that it has 2 GB of RAM (even though it doesn't) so I can easilly install programs?

7
  • It's not that you can fool it, it's that it needs that much really to install properly.It will run out of space.
    – Xavierjazz
    Jan 24, 2017 at 1:17
  • Windows has had a feature where if you provide it a USB drive it will fill that drive with a page like file. But that isn't additional memory and any program that requires more then 1GB will fail to run
    – Ramhound
    Jan 24, 2017 at 1:20
  • So there is nothing that you can do about it? You will just have to live with it?
    – William V.
    Jan 24, 2017 at 1:22
  • Add RAM... it's cheap. Jan 24, 2017 at 1:26
  • Technically, you can attach a debugger to the installer and modify the amount of memory it's seeing, or you can inject a hook into the Win32 API function it uses. However, all of these methods tend to be rather involved and require not-insignificant technical knowledge (and/or a custom program). I do see from your profile that you are a (learning?) programmer, so if you do feel like exploring these avenues further then ping me on chat.
    – Bob
    Jan 24, 2017 at 1:31

2 Answers 2

6

In this case, what you really want to do is to trick a specific application, not Windows itself.

Potential problems

Firstly, obviously, such a configuration is not supported by your program. So it's really a at your-own-risk thing.

You might be thinking that once you have the program running, you can rely on the page file to handle any RAM allocations above your installed physical memory. Unfortunately, this does not always work, since it's possible for the program in question to request physical memory specifically. I am aware of at least one virtual machine/hypervisor that does so, and I would not be surprised if Bluestacks is in the same boat.

General method

Basically, you want to trick either the installer into letting you install the program, or the program itself if it happens to check when you launch it. When these programs/installers check for installed memory, they must call Win32 API functions to retrieve physical memory quantity. Some examples of functions they could call:

You'll need to somehow make these functions return a fake/incorrect result to the program.

As a general idea, you'll want to either use a debugger (e.g. windbg) and set a breakpoint on those functions, from where you can manipulate the return value. This is a manual process and perhaps better suited to the installer - you're going to want something automatic if the program itself performs these checks.

If you feel up to the task, you can write a DLL that hooks the APIs in question, and then inject the DLL into the process. You can then do so from a custom launcher (...this is feeling suspiciously similar to activation cracks now). Libraries like EasyHook and Detours make this easier.

You might also find tools such as WinAPIOverride useful. That one might let you avoid having to write anything yourself. (Note: I have not ever used this program, and make no claims or guarantees towards whether it's safe for your system stability or integrity. Use at your own risk.)

MSI installers

If the installer is a MSI installer, then it's a bit of a special case. Unlike binary installers, the MSI format is a fairly well-documented database, and tools exist for editing it. If the required minimum size is simply stored as an installer property, you can probably edit the installer to change it. However, if they're embedded as custom actions, etc., then such an approach might not work.

This MSDN forum thread briefly discusses the idea (see the response by Ji.Zhou). Unfortunately, while he does suggest taking a look at the MSI with Orca, he also says it's probably not applicable in this scenario.

0

I suppose you could use some code from a virtual machine to get virtual ram, and create a mini-vm with a specialized image file, and tell the vm to have 2gb of virtual ram, but I'm no expert in virtualization. I am motivated to find an answer too, as i have a tablet that happens to run windows 10. it had 2 gigs of ram, and i want to play alien isolation on it. i know from previous experience that alien isolation on uses 1.8 gigs on the lowest graphics settings. I will try the things listed in the previous answer to see if i can get this game, and other games to run on my lil' potato tablet.

0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .