How to run Battlefield Vietnam on Windows 7
I'm a big fan of BFV, and as such wanted to continue playing it even after migrating from Windows XP to Windows 7. Little did I realize what a hassle it would be to get it working as expected under 64-bit Windows 7! I'm documenting the steps here, as I was unable to find a definitive set of steps in a single location - it took quite some doing but I now have this working pretty much exactly as I had it under WinXP.
Note that a couple of these steps may or may not be 100% necessary - this is just what I did in the process of setting this up. As I said, without a documented process, I did a lot of experimentation. Your mileage may vary...
Ok here are the steps I took:
- Install BFV from the original discs. You can install punkbuster if you like, or just do it later, as the PB on the original discs is ancient and will be replaced anyway.
- Download and install update 1.2 & then update 1.21 from the Internet. If these links break, as they often do, just google them.
- Download & install a no-cd crack for BFV v1.21 (I used this one, it's the one created by THE JOKER SS, if the link is broken just google it). Please overcome any moral qualms about this - it's the only way it will work, as running the game EXE in the proper compatibility mode causes it to not recognize that the original CD is actually present (and has the added benefit that you can now play without having to scrounge up the CD every time). There are no good instructions on how to install this so let me explain:
- It's a ZIP file, extract the files to somewhere
- There are 3 files in the top level directory of the extracted archive that must go into the BFV top-level directory (eg, for me it's C:\Program Files (x86)\EA GAMES\Battlefield Vietnam). The BfVietam.exe file REPLACES the original game EXE there (personally I renamed the original to BfVietam.exe-orig). The other two files ARE ALSO REQUIRED to be in that directory, Setup.ini & BfVietam.org.
- There is one other file required, the Mods.dll file. This REPLACES the original (again, rename the old one) in, eg, C:\Program Files (x86)\EA GAMES\Battlefield Vietnam\Mods\BfVietnam.
- Now browse to C:\Program Files (x86)\EA GAMES\Battlefield Vietnam, right click on BfVietam.exe, and select Properties.
- Select the "Compatibility" tab, press the "Change settings for all users" button at the bottom, and on the ensuing dialog tick the checkbox next to "Run this program in compatibility mode for", and select "Windows NT 4.0 (Service Pack 5)" from the drop down menu. Why, you might ask? Doing this allows the in-game audio to work properly (specifically, the audible chat/commands like "Requesting Pickup", "Requesting Offensive Action", "Liiight 'em up!!", etc, and also the music in the vehicles). The side-effect of this mode is, the original CD will not be recognized in the drive, hence the need for the no-CD crack above.
In addition, tick the checkbox next to "Run this program as an administrator", then "OK" your way out of all these dialogs. Why, you might ask? See the next step.
- Now it's time to install/update punkbuster. The latest/greatest PB is installed & managed with the PunkBuster Service (pbsvc.exe) application, which can be downloaded from evenbalance.com's FAQ page (direct link, or if the link is broken just google it).
I had a LOT of trouble getting PB to work with BFV in compatibility mode. The trick was running the game with admin privileges for all users, as described in the previous step. If I didn't do this, the so-called PnkBstrB.exe would not load and I'd be kicked from PB-enabled servers 20 or 30 seconds after joining, with this error: RESTRICTION: Service Communication Failure: PnkBstrB.exe initialization failed. This file (PnkBstrB.exe) is apparently downloaded/installed on the fly by the PnkBstrA service after you join the game. If you don't run the game as admin, Windows prevents PnkBstrB.exe from ever loading up.
- Now a couple other things I did while trying to get this working - these were done during a lot of experimentation and I'm not entirely sure now how necessary any of it was, as I said before YMMV:
- I added both inbound & outbound rules to the Windows Firewall for both PnkBstrA.exe/PnkBstrB.exe and for the BfVietnam.exe file itself. I never removed those rules once I got it working to determine whether these were really necessary. If you have Windows Firewall or some other firewall software and things still aren't working, you may need to add rules to allow these programs to pass through.
- I also opened up some ports for BFV on my linksys router running DD-WRT - again, not sure if this was strictly necessary. The ports I am forwarding are:
- TCP: 4711, 14667, 28900
- UDP: 4555-4557, 15567, 15690, 23000-23009, 27900
These ports were found somewhere on the Internet, no idea how accurate those are.
- One thing that annoyed me about having to run BFV as admin is that the User Access Control (UAC) in Windows 7 always prompts to allow it to run. You can just disable UAC, but since I preferred to have UAC enabled for the general case, I discovered a little app called UACPass (if the link is broken just google it) which lets you drag an .exe onto it & it creates shortcuts for you that bypass the UAC prompting for just that app. I dragged the BfVietnam.exe file onto it & created a desktop shortcut I use to start the game - no more UAC prompting for BFV.
Ok, I think that's it. If not, I'll update the page. Feel free to contact me for changes/inaccuracies/questions & I'll try to help.