10
Jan 2009
29 Comments
Songsmith doesn’t install on Windows 7, why and a workaround

Tom Warren woke me up this “morning” (2pm) with a note pointing out Microsoft’s recently-released Songsmith does not install on Windows 7. Like a little kid with a new toy, I downloaded Songsmith and tried to install it on Windows 7…

Songsmith requires KB938660 on Windows 7

About half-way into the install, setup whines about not having KB938660 installed. Attempting to install this hotfix on a Windows 7 machine, however, will fail because it’s not needed. But it’s required for Songsmith install. You’re stuck.

The problem lies within a component Microsoft uses to check for prerequisite hotfixes (SSCustomInstall.dll).

Reflector: Decompilation of SSCustomInstaller.dll

As you can see, in Reflector’s decompiled output, the method CheckUpdateWPFPerfInstalled does not take into account that Windows 7 also has a major version number of 6, therefore always checking for the hotfix and always failing 100% of the time. Fixing this issue will require code changes to SSCustomInstall.dll at Microsoft’s end…

… however, as a quick fix, I decompiled the culprit assembly and removed the call to this flawed method.

// call method, store bool result
ldarg.0
ldloca.s str2
call instance bool SSCustomInstaller.SSInstaller::CheckUpdateWPFPerfInstalled(string&)
stloc.3


became…

// set bool result to true
ldc.i4.1
stloc.3

After re-assembly (and re-signing), I dropped the new assembly into folder I planned on installing SongSmith into.

As I re-signed the assembly, the PublicKeyToken value changed. Using Orca, I generated a Transform that applies my changes, on-the-fly, to the PublicKeyToken value in the MsiAssemblyName table and finally invoked setup with the command msiexec /i SongsmithSetup.msi TRANSFORMS=UpdatePKT.mst.

Setup completed without error.

If you’d like to skip all the fun, you can simply download a package with the files you need. To summarize the steps you need to follow…

  1. Put SSCustomInstaller.dll into the folder you plan to install Songsmith into.
  2. Put invoke.bat and UpdatePKT.mst into the folder containing Songsmith.msi.
  3. Execute invoke.bat and complete setup as normal.
  • asf

    How about a tutorial on how to re-assemble (and re-sign) .net apps? I never really got into .net but this is something that can come in handy on a rainy day…

  • Ryan

    Heck, how did you do that disassembly! Can I ask what program?

    Awesome little walk through on the inner workings of Songsmith. It’s interesting how a small tiny version check error like that can throw the entire thing into chaos.

  • http://blog.geekfg.net GeekFG

    I really agree with asf proposal !

  • Rafael

    @Ryan: The program is Reflector and can be freely downloaded at http://www.red-gate.com/products/reflector/

  • Mark

    @Rafael

    Now can you help me with WinDVD 9 on Windows 7 build 7000 beta 1 x64, it won’t run.

    Error during install:
    Error 1904 Module c:\program files\intervideo\common\bin\IVIVIDEO.AX failed to register Hresult – 2147220473. contact your support personal.

    I tried: regsvr32 “C:\Program Files (x86)\InterVideo\Common\Bin\iviaudio.ax”, but still WinDVD 9 wouldn’t start.

  • Rodrigo

    Error 1001. It can not complete! Why?

  • Infi

    This works great! Thank you, internet.

  • Rafael

    @Rodrigo: I emailed you asking for a screenshot. I would like to resolve this offline.

  • Henry

    I want exactly is CheckUpdateWPFPerfInstalled?
    Why Windows 7 have a major version no 6?

  • Henry

    Sorry typing wrong above I mean
    What exactly is CheckUpdateWPFPerfInstalled?

  • Rafael

    CheckUpdateWPFPerfInstalled is a method inside SSCustomInstaller.dll that determines if hotfix 938660 needs to be installed.

  • http://n/a Jason

    Yes, the same nonsense occurs on Window XP SP2 as well, the same ‘You must install the following component…’ message appears and it is requested that I download and install _Update For XP SP2 x86 (KB937106)_ and tells me that this update fixes issues within Windows Presentation Foundation. However, this specific component isn’t even available on Microsoft site. No telling how old the requested version is.

    A run of Microsoft Update states that everything is up-to-date as far as my XP goes. Seems that Songsmith is riddled with installation issues as this seems to be happening to XP users, Vista users as well as Windows 7 users.

    Think there will be a fix added to the installer soon? Any suggestions?

  • http://blogs.codes-sources.com/KooKiz/ KooKiz

    Kind of funny, when we know that the major version number of Seven is “6″ to avoid compatibility problems :)

  • anonymous

    Can’t Tom Warren download Orca and remove the requirement from the MSI?

  • Rafael

    No, because as the article points out, the check isn’t inside the MSI…

  • Wulfy

    That’s great man! Thanks, now I can use this crappy piece of software for creating some more crappy tunes! hehe

  • Pingback: Kansas city LAN Party » Blog Archive » Get Microsoft Songsmith installed on Windows 7 beta

  • Pingback: Web Page Design For You » Blog Archive » Get Microsoft Songsmith installed on Windows 7 beta

  • Pingback: Get Microsoft Songsmith installed on Windows 7 beta | The Ultimate Geek Blog

  • Pingback: Installing Microsoft Songsmith on Windows 7 beta

  • Stets

    As KoolKiz said, the whole point of going with the major version as 6 was to let programs that only checked the major version number to treat it like Vista to reduce compatibility problems. But 7 doesn’t act *just* like Vista, as evidenced by this (somewhat peculiar) case.

  • http://wacker.is-a-geek.net Pizzaboy192 at OSBG.Co.uk

    think you could do a workaround like this for the latest VPC beta?

    i could link you to where to get it

  • http://www.FranklyOnline.se Peter Frank

    Downloaded and installed Songsmith on my computer and the hardware lives up to the standards met for Songsmith without problems. Thou, after installing Songsmith, the application wount start at all. Microsoft states in their faq it could take up to 15 seconds but, well, Songsmith doesn’t show up at all in Task Manager, not even as a process.

    English Windows XP, SP3.

    Anyone else having this problem (installs ok but will not react when trying to start the application).
    Suggestions for solution or is this another “bug” in Songsmith with regards from Microsoft?

    Sincerely,
    Peter Frank

    Ps: This kinda software is something that my daughter would highly appreciate if it would work.

  • Elmer

    Hel With MacDrive 7 on windows 7 beta
    :S

    please

  • qmt49

    LOL, they didn’t even bother to give that error message a proper icon – they’ve just left the standard Visual Studio one. FAIL.

  • http://www.msn.com Simon

    I cant install it, i got 1001 problem. i downloaded your kit and placed the files exact how you bescribed it. but allways when i try: 1001 error. please help

  • weegee

    i keep on getting error 1001 too :(

  • http://don'thaveany santtuk

    Can anybody help us with the 1001 problem? Can’t figure it out.

  • Mary

    Hey there!!! so usefull but with the songsmith I still cant install it!! =( help pls!!