Friday, November 23, 2007

Silverlight Sidebar Gadgets in 64bit Vista

As a matter of 'fact' Silverlight doesn't run in a 64bit IE browser... ok fine but if your running 64bit Vista you probably won’t see this as an issue as the default is the 32bit version that runs fine. And I'm sure at some point Silverlight will work in 64bit version of Vista. But the side bar gadget framework is in fact paired with the OS type so on a 64bit version of Vista... no Silverlight for you.

Ok so I'm not really that patient with waiting for the new wiz bang 2.0 version of silverlight that is 64bit so I have this little hack... installer that will correct the problem and allow 'Silverlight' to run in the side bar of a 64bit version of Vista.

If you are not running a 64bit version of Vista then this email is not important. No need to read farther.

So I started to go down the road of mucking up my regestry to do this but that proved to time consuming so I have built this simple code base (and silverlight gadget) so I can get my silverlight gadgets to run in my sidebar on my 64bit version of vista.

http://www.HackingSilverlight.net/Samples/Sidebar32on64.Codebase.zip

and gadget:

http://www.HackingSilverlight.net/Samples/Blender.Gadget

So basically there are two binaries. One will search the running processes and kill the sidebar process and then spins up the 32bit version. The next basically installs the other and sets it up to run each time a user logs in so they get the 32bit version of the side bar that actually supports Silverlight.

5 comments:

  1. This is something my techs have been trying to crack as well. They had already replaced the running sidebar with the 32bit version, and hoped that something in your application or registry setting would help them find the clue to the problem.

    However, even with your applications to enable silverlight on Vista 64, it still does not work.

    Taskman shows sidebar*32.exe running, the gadget appears as a box with the install graphic for silverlight, as if it is running the 64bit version of IE inside sidebar32.

    Even trying to drop a popfly gadget, gives the message in the gadget area that the brower does not support silverlight.

    Why does it seem sidebar32 is still using IE 64bit to display content or is somehow silverlight not available to the IE instance in sidebar32?

    We have tried several things to get this to work, including installing just 1.0, installing 1.1, turning off UAC, IE protected mode, etc, and even trying to launch the install process from inside the sidebar gadget IE display context.

    Nothing works on our test systems and other users we have worked with in providing help also have the same issue with silverlight still not working with sidebar32 on Vista 64...

    Any additional ideas?

    ReplyDelete
  2. yea if you pull the source down from the url in the blog post you'll see how to make it work. Basically what I'm doing is to cheat. after the side bar (64bit) version comes up I have a headless app or binary that spins up upon login. It goes through and physically kills the process in Vista and then spins up the 32 bit version. which can have the silverlight running. The other trick is that you have to be 'god' on your box or the vista UAC (user annoyance control) should be disabled as it serves no practical purpose other then annoy me and make things harder then they should be.

    ReplyDelete
  3. Or you could just tweak your system so that the 32-bit sidebar just loads to begin with. That's how I got mine to work way-back.

    ReplyDelete
  4. you absolutely can, but for me this seemed problematic on a number of issues. I could edit the registry but several other services on my box were tied to the sidebar and would freak out so thats how this particular hack came about as it seemed the most 'stable' way to get the win32 version running.

    ReplyDelete
  5. No need to hack it. Go into your program files(x86) and look for Windows Sidebar. Open it and look for Windows Sidebar. Click that and then when you see the program sidebar drag and drop it into your Startup folder which is located in your start menu (the round windows button on the bottom left of your screen). When you drag it to that button (startup menu) it will open it and you will be able to drop it into the startup folder.

    After you do that, right click the actual sidebar and go to properties. Uncheck the start up at windows option. Reboot and it should startup 34 bit.

    ReplyDelete