I've been trying to switch to Windows 7 64-bit from Windows XP 32-bit, and it seems the only thing I can't get to work in 7 is Battlefield 2. When I try to run it, the cursor goes busy for a bit (arrow with circle), then the screen goes black, and then the game just quits. This is not a PR problem specifically, because I get the exact same problem if I try to run vanilla BF2 -- however, it does prevent me from playing PR under Windows 7.

Here's what I've tried:

I exported all the BF2 and PR registry entries I could find from my XP install, then booted to Windows 7 and added them to my registry. (Since I keep BF2 on a separate partition from either of my boot partitions, this usually works.)

I tried running as administrator, and running in compatibility mode for XP SP2 and SP3.

I tried clearing out all BF2 cache files.

I tried removing the resolution line in Video.con, in case it was a resolution or refresh rate incompatibility.

Either install BF2 and PR from an Admin account, or right click BF2 exe and go to properties and one of the tabs will have a tick box saying something like .... "run as administrator". Tick, apply, close.

I am not sure if you need to do it to the pr.exe ... but you may as well just in case.

I installed everything on an administrator account on Win7 x64 and have no problems with either, so all else failing try that.

If you want to run PR wihtout administrator rights, you need to have PunkBuster running as system service and you need to have read&write permissions to BF2's mods folder. If these requirements are met, then you can play PR without using administrator rights every time, even with UAC on and set to it's highest level.

And last, but definitely not least: you have 64-bit operating system - give it more RAM! Thorow in everything your motherboard can possibly handle and it will only make things smoother. Ability to address more than 4 gigabytes of RAM was the very motivation for creating 64-bit processors and operating systems. This benefits 32-bit programs too, as if they announce to OS that they can handle the whole 4 GB address range of 32-bit processor, which is told by LARGEADDRESSAWARE flag activated inside the executable file headers, Windows will give them all that memory. Without 64-bit OS and LARGEADDRESSAWARE flag, progam will not be given more than 2 GB of memory.

Either install BF2 and PR from an Admin account, or right click BF2 exe and go to properties and one of the tabs will have a tick box saying something like .... "run as administrator". Tick, apply, close.

I am not sure if you need to do it to the pr.exe ... but you may as well just in case.

I installed everything on an administrator account on Win7 x64 and have no problems with either, so all else failing try that.

My account is an administrator account, and I've disabled UAC, and I tried running BF2.exe as administrator.

Quote:

Originally Posted by clueless_noob

64-bit Windows stores settings of 32-bit programs to different part of registry than 64-bit programs. BF2 settings in in 64-bit Windows can be found at:

Code:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA GAMES

and/or

Code:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts

Yep, that was part of what I did in step #7 above. I followed the complete removal directions that are Part 1 of the link I posted.

Quote:

Originally Posted by clueless_noob

Additionally, if you run programs without admimistrator rights, some settings get redirected to even further due to UAC registry and file system virtualization. Check this registry key also:

If you want to run PR wihtout administrator rights, you need to have PunkBuster running as system service and you need to have read&write permissions to BF2's mods folder. If these requirements are met, then you can play PR without using administrator rights every time, even with UAC on and set to it's highest level.

I'm running with administrator rights and UAC disabled, so it shouldn't be necessary. I'll go ahead and try installing the PunkBuster service though.

Quote:

Originally Posted by clueless_noob

And last, but definitely not least: you have 64-bit operating system - give it more RAM! Thorow in everything your motherboard can possibly handle and it will only make things smoother. Ability to address more than 4 gigabytes of RAM was the very motivation for creating 64-bit processors and operating systems. This benefits 32-bit programs too, as if they announce to OS that they can handle the whole 4 GB address range of 32-bit processor, which is told by LARGEADDRESSAWARE flag activated inside the executable file headers, Windows will give them all that memory. Without 64-bit OS and LARGEADDRESSAWARE flag, progam will not be given more than 2 GB of memory.

Unfortunately, it's not possible with my motherboard. I've tried. Low-latency DDR400 can only be used as a set of two, not four. If I use 4 slots, the system downclocks everything to DDR200 and gets very unstable. And you can only get 1GB per stick with DDR1.

When I build a new PC, I'm going for DDR3 and will give it at least 6GB of RAM. But for now, everything is still running great, so I don't feel the need to upgrade yet.

I think its a memory issue, as I have been seeing this a few times with people running BF2 1.5, with only 2GB of memory on a system (ie Win7 64bit) that allows them to address more than the 2GB that XP normally only allows.

So game tries to address a memory that doesn't exist .... and 'poof' ... Game Over.

I've been trying to switch to Windows 7 64-bit from Windows XP 32-bit, and it seems the only thing I can't get to work in 7 is Battlefield 2. When I try to run it, the cursor goes busy for a bit (arrow with circle), then the screen goes black, and then the game just quits. This is not a PR problem specifically, because I get the exact same problem if I try to run vanilla BF2 -- however, it does prevent me from playing PR under Windows 7.

Here's what I've tried:

I exported all the BF2 and PR registry entries I could find from my XP install, then booted to Windows 7 and added them to my registry. (Since I keep BF2 on a separate partition from either of my boot partitions, this usually works.)

I tried running as administrator, and running in compatibility mode for XP SP2 and SP3.

I tried clearing out all BF2 cache files.

I tried removing the resolution line in Video.con, in case it was a resolution or refresh rate incompatibility.

I think its a memory issue, as I have been seeing this a few times with people running BF2 1.5, with only 2GB of memory on a system (ie Win7 64bit) that allows them to address more than the 2GB that XP normally only allows.

So game tries to address a memory that doesn't exist .... and 'poof' ... Game Over.

I see what you're saying, but I've got a 4GB swap file. It should still be able to address 4GB of memory, even if it isn't all physical.

And it turns out, that's not the problem; see below...

Quote:

Originally Posted by dominator200

Have you changed the line in the video.con I had exactly the same problem and changed this line to my desktop resolution and refresh rate and tht sorted it

AHA! Holy crap, it worked! I sort of tried this before (items #4 and #5 on my list above) but not thoroughly enough. It turns out Windows 7 will not allow my CRT to run at 60Hz, so even the default options like 800x600@60Hz would not work; I had to use 1600x1200@75Hz in both the Default profile and my active profile.

Ugh, I know this is going to bite me in the ass later. I always take an LCD to LAN parties, which is fixed at 60Hz, so I'll have to remember change those values again. Can I override the refresh rate in the shortcut somehow?

And really... come on Microsoft, can't I pick my own refresh rate anymore? (I also can't set it to anything other than 75Hz in the advanced display properties.)

Well, now that this is fixed, I'll go back to booting 7 by default and see if it works out for me.