2DJGAME! NOVO

標題: [原创]在WIN7以及VISTA下解决部分老游戏路径访问错误(如无法存档、安装错误等)的最佳手段[实例为FALCOM的YSO以及迷城的国度] [打印本頁]

作者: N.T.Black    時間: 2010-02-19 12:57
標題: [原创]在WIN7以及VISTA下解决部分老游戏路径访问错误(如无法存档、安装错误等)的最佳手段[实例为FALCOM的YSO以及迷城的国度]
在大家安装YSO以及玩迷城的国度时都会发现这样两个问题,
在WIN7下安装YSO会提示一个路径错误,往往是X:\APPLICATION DATA\FALCOM\yso_win这个错误
然后迷城的国度出现的情况则是完全无法存档。

今天在跟这个问题纠结了半天之后,找到了一个完美的解决方案,当然不是建立文件夹这么简单的事,如果那么简单我也不会发这个帖了。

这里先解释一下关于这个问题的错误原因,其实这个问题的错误原因在表层上貌似是访问权限无法取得,不过根据本人的测试访问权限无法取得这个情况完全可以排除。

很简单的理由,让我们在运行里输入%UserProfile%,会被定向到我们的用户文件,然后按一下ALT键显示菜单,工具->文件夹选项里显示所有文件并显示隐藏的系统文件。
然后我们可以看到这两个对于目前的问题最重要的文件夹,就是Application Data(以快捷方式标显示)以及APPDATA文件夹。
当然,程序无法访问的是Application Data那么我们就先试试访问Application Data,但是你会发现,访问被拒绝。
这里要有人说这就是权限问题了,先别急,等我说完。
在这,你对Application Data点右键->属性->安全->“编辑”按钮,
在里面删除空白的Everyone用户,然后再访问看看
OK,能正常访问了是吧,先别急着高兴,你再回去运行一下YSO的安装程序看看。
结果就是,报错依旧。
有此可以证明,跟访问权限压根没有关系。

那么,转会来说,还记得刚才的报错信息么,就是路径X:\APPLICATION DATA\FALCOM\yso_win
好了,这里现在有一种最简单的解决方案,就是你按照这个路径创建一个Application Data的文件夹,后面的不用创建。
再运行安装程序,OK,可以安装了,运行游戏,存档读档一切正常。
但是你发现没,这个路径并不是WINDOWS系统的用户数据应有的路径,应有的路径应为%APPDATA%或者是%USERPROFILE%\APPLICATION DATA
虽然说这样也能玩,但是作为一个前数据库工作者来说我还是无法认同,所以就请各位继续看我下面的纠结……

这里大家都已经发现了吧,就是%USERPROFILES%\APPLICATION DATA文件夹所调用的文件夹实际上就是%APPDATA%所指向的C:\USER\XXXXXX\APPDATA\ROAMING文件夹
然后这里的APPLICATION DATA大家可以发现它并不是一个传统的WINDOWS快捷方式,因为它没有.LNK的后缀,而是作为一个标准的文件夹存在。
实际上,这个玩意就是NT6以后的系统从LINUX那借用(抄袭?)过来的符号链接功能。
那么,既然%USERPROFILES%里已经有这么一个符号链接了,那么我们可不可以用相同的方法在出错的路径下创建一个相同的符号链接将错误的访问位置引导回正确的位置呢?
答案是肯定的。

那么,接下来就是动手的部分:

首先先给大家介绍一个基于NT6以后的WINDOWS操作系统所附带的符号链接命令“mklink”
我们在命令行状态下输入mklink /?会得到这样的帮助信息

创建符号链接。

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      创建目录符号链接。默认为文件
                符号链接。
        /H      创建硬链接,而不是符号链接。
        /J      创建目录联接。
        Link    指定新的符号链接名称。
        Target  指定新链接引用的路径
                (相对或绝对)。

那么,实际操作一下吧。

开始菜单->搜索框内输入“cmd”->按住Ctrl+SHIFT+ENTER以管理员模式启动命令行->重定向活动盘符为X->输入命令 MKLINK /J "Application Data" %APPDATA%->回车
然后我们会得到如下返回信息

为 Application Data <<===>> C:\Users\XXXXX\AppData\Roaming 创建的联接

那么,我们再次运行YSO安装程序,OK,一切正常,安装正常……
安装完毕后让我们运行%APPDATA%,你可以看到FALCOM文件夹回归到了正常的目录下。

这里先解释一下%appdata%以及%Userprofile%为系统变量,两个分辨代表了绝对的系统路径,%appdata%在NT6以后的系统表现为X:\USER\XXXXX\APPDATA\ROAMING\,在NT6之前的系统表现为X:\DOCUMENTS AND SETTINGS\XXXXX\APPLICATION DATA,而%userprofile%在NT6之后表现为X:\USER\XXXXX\,在NT6之前表现为X:\DOCUMENTS AND SETTINGS\XXXXX\
所以才会在NT6的系统后在%USERPROFILES%下面多了这一个Application DATA的符号链接,只是为了提高兼容性所作的工作而已。

好了,就不浪费哈喇子了,对系统变量有兴趣的可以自己去找一下相关文章,至于mklink还有更多的用武之地大家可以自己去发掘。

最后再次重申,其实只要EXE能够顺利运行,这个世界上几乎100%的兼容性问题是可以自己动手解决的。

好了,祝各位玩得开心。
作者: hzenki    時間: 2010-02-19 13:01
可以用xp mode 试一试 也不失为一个方法
作者: N.T.Black    時間: 2010-02-19 13:04
[quote=hzenki] 可以用xp mode 试一试 也不失为一个方法 [/quote]
呃,XP MODE运行3D游戏就……虽然2D游戏方面不错。
作者: zlinch    時間: 2010-02-19 21:32
看到 LZ 提到文件夹似在非在,就猜到是 Soft Link 惹得祸。果然……

更正一下,这玩意并非 NT6 开始,而是在 NT4 时代就有了。只不过系统中没有提供完整支持的命令工具,只有一个 mountvol 命令可用。

如果是文件夹,需额外下载安装 2K 服务器版的微软工具集,其中才带 Linkd 外部命令……

不过这玩意在 2K/XP 下的唯一用处,也就是拿来转移 Documents and Settings 了……

[ 本帖最後由 zlinch 於 2010-02-19 21:36 編輯 ]
作者: 梦中仙灵    時間: 2010-02-19 22:38
WIN7的兼容还是有一定问题的。。。我的好多2DGAME有时候就安装不了。。
作者: N.T.Black    時間: 2010-02-20 08:55
[quote=zlinch] 看到 LZ 提到文件夹似在非在,就猜到是 Soft Link 惹得祸。果然……

更正一下,这玩意并非 NT6 开始,而是在 NT4 时代就有了。只不过系统中没有提供完整支持的命令工具,只有一个 mountvol 命令可用。

如果是文件夹,需额外下载安装 2K 服务器版的微软工具集,其中才带 Linkd 外部命令……

不过这玩意在 2K/XP 下的唯一用处,也就是拿来转移 Documents and Settings 了…… [/quote]
哦,其实我很少接触WIN系的服务器系统,倒是这个命令一直在LINUX和UNIX里都有类似的倒是一直在用。


[quote=zlinch] WIN7的兼容还是有一定问题的。。。我的好多2DGAME有时候就安装不了。。[/quote]
呃,就我个人而言,目前除了某些强制x86不可兼容x64的安装程序外,我没碰到过完全无法安装的程序。
作者: NoOBoY    時間: 2011-03-01 17:05
换xpmode就好了,win7的兼容性一直很蛋疼




歡迎光臨 2DJGAME! NOVO (https://bbs4.2djgame.net/HOME/) Powered by Discuz! X2.5