Troubleshooting MusicMasterWorks – the hard way!

February 15, 2009

I tried singing with Rockband just to see what I can do.

I can appreciate my friend’s tolerance while I attempted to match the song, badly.

As I don’t want to learn using Rockband, I decided to try some other Windows-based software.

If you are reading this, chances are you are experiencing the same problem.

The MusicMasterWords starts, tells you that you have 35 days to try it, and then it quits.

What happens in reality is the application attempts to load DirectMusic and fails silently.

One of my tools of the trade as a malware researcher is Sysinternals’ Process Monitor. I fired up my trusty procmon, set it to include just the Musicapp.exe file and decided to figure out at which point it crashes.

I am going to skip the false starts, such as the non-existent CW3230mt.map files. By the way, if you create that file, the program will get stuck in an infinite loop and still won’t start.

What ultimately did help is this bit of registry code (just save it as a .REG file and double-click, it won’t hurt)

REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{636B9F10-0C7D-11D1-95B2-0020AFDC7421}]
@="DirectMusic"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{636B9F10-0C7D-11D1-95B2-0020AFDC7421}\InprocServer32]
@="dmusic.dll"
"ThreadingModel"="Apartment"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{636B9F10-0C7D-11D1-95B2-0020AFDC7421}\ProgID]
@="Microsoft.DirectMusic.1"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{636B9F10-0C7D-11D1-95B2-0020AFDC7421}\VersionIndependentProgID]
@="Microsoft.DirectMusic"

The app was still crashing at that point, but now it was clear that it was looking for DMUSIC.DLL, which is what we specified with that registry edit above.

4:19:07.5700141 AM    musicapp.exe    6100    FASTIO_NETWORK_QUERY_OPEN    C:\Program Files\MusicMasterWorks\dmusic.dll    NAME NOT FOUND
4:19:07.5703407 AM    musicapp.exe    6100    FASTIO_NETWORK_QUERY_OPEN    C:\WINDOWS\system32\dmusic.dll    NAME NOT FOUND
4:19:07.5710392 AM    musicapp.exe    6100    FASTIO_NETWORK_QUERY_OPEN    C:\WINDOWS\system\dmusic.dll    NAME NOT FOUND
4:19:07.5715896 AM    musicapp.exe    6100    FASTIO_NETWORK_QUERY_OPEN    C:\WINDOWS\dmusic.dll    NAME NOT FOUND
4:19:07.5720118 AM    musicapp.exe    6100    FASTIO_NETWORK_QUERY_OPEN    C:\Program Files\MusicMasterWorks\dmusic.dll    NAME NOT FOUND
4:19:07.5725784 AM    musicapp.exe    6100    FASTIO_NETWORK_QUERY_OPEN    C:\WINDOWS\system32\dmusic.dll    NAME NOT FOUND
4:19:07.5728347 AM    musicapp.exe    6100    FASTIO_NETWORK_QUERY_OPEN    C:\WINDOWS\dmusic.dll    NAME NOT FOUND
4:19:07.5731959 AM    musicapp.exe    6100    FASTIO_NETWORK_QUERY_OPEN    C:\WINDOWS\system32\wbem\dmusic.dll    NAME NOT FOUND

I never recommend moving files around in system directories, but this application thankfully was looking for these files in its own directory.

The final fix was to open command prompt (Start -> Run -> CMD OK)

Find the file (dir %windir%\dmusic.dll /s)

D:\>dir %windir%\dmusic.dll /s
Volume in drive C has no label.
Volume Serial Number is 7C56-2745

Directory of C:\WINDOWS\$NtServicePackUninstall$

07/09/2004  04:27 AM           104,448 dmusic.dll
1 File(s)        104,448 bytes

Directory of C:\WINDOWS\RegisteredPackages\{44BBA855-CC51-11CF-AAFA-00AA00B6015
C}

07/09/2004  04:27 AM           104,448 dmusic.dll
1 File(s)        104,448 bytes

Total Files Listed:
2 File(s)        208,896 bytes
0 Dir(s)

If you know command line, you know the rest.

If you don’t know command line, then go to the folder in the RegisteredPackages using your Windows explorer and copy everything from that folder to C:\Program Files\MusicMasterWorks

The application should start now. :)

Questions? Feel free to post a comment. It’s 5am so I won’t be posting screenshots and other fun stuff for now. :)

Leave a Reply