Feed: Document

Windows2003 And Microsoft DirectX And VOS

虽然把 VOS 排在标题的最后,其实主角当是 Hanseulsoft 的 VOS 无疑。只是突然发现它在 Windows Server 2003 无法玩了。而且究其原因是 Microsoft DirectX,确切地说是 Microsoft DirectX 的 DirectMusic 捣的鬼。

今日又玩起了 VOS(Virtual Orchestra Studio),结果发现在 Win2003 下一启动程序就弹出“内存不能为 Read/Write”错误,点确定就自动关闭程序,屡试不爽。隔壁也是 Win2003,而且程序是我在那边拷过来的,而他可以。一怒之下,升级了显卡和声卡,DirectX 一看已是最新的 9.0c,也就没多理会。结果还是愈试愈不爽!

最后没办法,在隔壁那运行没问题的机子上运行 VOS,再打开 Process Viewer 查看进程所引用的模块,对着模块文件逐一在 Windows 根目录查找,结果发现本机上缺少:dmime.dll、dmloader.dll、dmsynth.dll 等几个文件。看其属性,名为:Microsoft DirectX DirectMusic

第一念头当然是重装 DirectX,下载了最新的 directx_9c_Dec04sdk_redist.rar,焉知在重装 DirectX 时又见鬼了:原来最新的 DirectX 9.0c 解包里的 dsetup32.dll 和 dsetup.dll 文件有问题。这两个文件是在安装时来判断当前的 DirectX 版本的,如果当前版本太旧则执行更新,否则则将文件覆盖一遍(但无须重启)。但不知微软怎么搞的,DirectX 9.0b 以前的版本没这问题,就这个 9.0c 不行:接受条款后的下一步,再点下一步准备开始时,进度条也不见一晃而过,半秒不到整个过程就“安装完成”了(实际上根本就没更新/安装到)。解决方法不难:把 9.0c 之前版本(如 9.0b)正常的两个文件(dsetup32.dll 和 dsetup.dll)覆盖到 9.0c 安装包里面即可。吼!

成功安装了,结果:还是不行。在“DirectX 诊断工具”的音乐选项卡下发现:没有找到指定的常规 MIDI DLS 文件。查了一下 DLS,才发现本机上真的缺少:C:\Windows\system32\drivers\gm.dls,这下牵引的东西就太多了。呼~反正我就在隔壁的机拷贝了一份过来,再在 VOS 主程序 vos.exe 属性那里选定一下兼容性,运行起来基本就 OK 了——虽然在退出后还是有“该内存不能为 Read/Write”错误,哈,我懒得理了。呼`~~~

Windows Media Encoder SDK banner art

What Is DirectMusic?

DirectMusic is a part of Microsoft DirectX, a set of components installed in the Microsoft Windows operating system to provide fast and full-featured support for graphics, input, network play, and sound. In combination with Microsoft DirectSound, DirectMusic provides a complete solution for playing music and sound effects in games and other applications. DirectMusic Producer makes use of DirectMusic to load and play sounds. Any application using DirectMusic Producer content files must use the DirectMusic application programming interface (API) to load and play those files.

Permalink | Comments (4) | Hits: 9047 | Time: 21:43:28
日文片假名导致 Access 搜索“内存溢出”
使用终端服务(远程桌面)快捷键
All Comments
#1 - sic(Guest) - 2005-8-3 16:18:24
那个估计是 DEP 的问题. 在系统>高级>性能>数据执行保护里面 exclude 看看
#2 - Afly - 2005-8-3 18:29:08
酷,没错。果然就是这个问题!
多谢高人指点啊!!!吼~
#3 - yy(Guest) - 2005-12-4 19:48:10
好像解开 DirectX 9.0c 中的 DirectX.cab, 右键 dmusic.inf 安装, 再把 gm.dls 复制到 sytem32\drivers\etc 下面就可以了吧
#4 - (Guest) - 2006-10-28 22:08:14
我在XP也有這個問題,拉出捷徑,選擇成 98 相容模式,也可解決.
[BBS]Post Your Comment
Login ^ ^
Top