我们知道正常情况下bnupdate.exe直接运行会跳出对话框提示不能单独运行。其实还是有办法通过bnupdate.exe来手动运行官方升级的。我们先来看看官方升级的流程(本人的魔兽安装在E:Warcraft III):

一、在线升级
1. 进入游戏连接到战网下载升级的mpq
2. 游戏程序修改注册表如下:
[HKEY_CURRENT_USERSoftwareBattle.netPatch]
“Patches”=”E:\Warcraft III\W3XP_IX86_119B_120A_zhCN.MPQ”
“KeepFiles”=dword:00000001
“SrcData”=”E:\Warcraft III\War3.mpq”
“DstData”=”E:\Warcraft III\War3Patch.mpq”
“Launcher”=”E:\Warcraft III\War3.exe”
“SrcData2″=”E:\Warcraft III\War3_med.mpq”
“DstData2″=”E:\Warcraft III\War3Patch_med.mpq”
“SrcData3″=”E:\Warcraft III\War3_low.mpq”
“DstData3″=”E:\Warcraft III\War3Patch_low.mpq”
3. 游戏自动退出并且运行bnupdate.exe

二、使用官方提供的exe升级
1. 运行exe后自动修改注册表如下:
[HKEY_CURRENT_USERSoftwareBattle.netPatch]
“Patches”=”E:\Warcraft III\War3TFT_120a_Chinese_Simp.exe,Patch_War3x.mpq”
“KeepFiles”=dword:00000001
“SrcData”=”E:\Warcraft III\War3.mpq”
“DstData”=”E:\Warcraft III\War3Patch.mpq”
“Launcher”=”E:\Warcraft III\War3.exe”
“SrcData2″=”E:\Warcraft III\War3_med.mpq”
“DstData2″=”E:\Warcraft III\War3Patch_med.mpq”
“SrcData3″=”E:\Warcraft III\War3_low.mpq”
“DstData3″=”E:\Warcraft III\War3Patch_low.mpq”
2. exe自动退出并且调用bnupdate.exe(官方的升级exe其实是一个exe文件头加上升级的mpq组成,bnupdate会自动寻找mpq部分升级,所以原理和官方在线升级基本相同)

综合以上所述,我们只要修改注册表就可以手动运行bnupdate.exe(具体修改参考上面提供的注册表项)

不过有个前提条件,那就是拥有升级mpq,一般需要正版用户登录战网自动升级后才能获得,其实也可以通过bnftp来获得,无论你是不是正版用户。

首先提供一个工具bnftp: 点击下载

如何使用这个工具:

进入命令行bnftp这个目录,输入bnftp asia.battle.net
注意这里asia.battle.net是亚洲战网的地址,表示从亚洲战网下载需要的mpq,当然也可以选择另外三个战网: uswest.battle.net(美西), useast.battle.net(美东), europe.battle.net(欧洲)
此时提示输入要下载的mpq文件名,输入你需要的mpq文件名就可以了。


此处再解释一下升级mpq的文件名构成:

AAAA_BBBB_CCCC_DDDD_EEEE.mpq

AAAA表示游戏类型,WAR3就是魔兽争霸混乱之治,W3XP就是寒冰王座

BBBB表示游戏平台,IX86是Windows版,XMAC是MacOS版

CCCC表示游戏的原版本,比如1xx表示任意版本,119A表示1.19(每个版本号的第一个版本一般后面要加A),119B表示1.19B

DDDD表示升级后的版本,比如120A表示1.20

EEEE表示游戏语言版本,常见的如:zhCN(简体中文), enUS(美国英语), zhTW(台湾中文), deDE(德语), itIT(意大利语)等等

举两个完整的例子: W3XP_IX86_1xx_120A_enUS.MPQ表示任意英文寒冰王座升级到1.20的mpq, W3XP_IX86_119B_120A_zhCN.MPQ表示1.19B中文寒冰王座升级到1.20的mpq