Home > Utilities, WPF > Snoop: There can be only one!

Snoop: There can be only one!

June 25th, 2010

Haven’t I already said that the community has just been awesome in regards to Snoop?

Well, here is another piece of evidence!

The other day, a developer, Bruno Martinez, from Uruguay contacted me and wanted to contribute to Snoop by making it so that there was only 1 version, instead of the 4 currently required at that point.

If you recall …

  1. You needed a version for WPF 3.5 and 32-bit.
  2. You needed a version for WPF 3.5 and 64-bit.
  3. You needed a version for WPF 4.0 and 32-bit.
  4. You needed a version for WPF 4.0 and 64-bit.

Yuck! Of course, it was better than not being able to Snoop in those situations. :)

Well, after integrating Bruno’s changes … you just need:

  1. Snoop


Yeah, that’s right. There are no labels! Thank you, Bruno!

I’m obviously tickled by this … since it was a usability nightmare trying to figure out what version you needed to run … but there are host of other fixes/improvements as well. In particular, the Snoop start-up process is much more robust than it used to be and it can handle some fringe cases that it wasn’t able to before.

Please go to http://snoopwpf.codeplex.com for more info, and of course, the download/release area for version 2.6.0.

Happy Snooping!


Utilities, WPF

  1. June 28th, 2010 at 16:38 | #1

    Great! I love Snoop…especially the icon, proof that Peter Blois has a great sense of humor. The real question Cory is – how did Bruno achieve this marvel? Should I just look through the source code?

  2. Bruno Martinez
    June 29th, 2010 at 10:20 | #2

    Hi Joseph,

    Previously, Snoop consisted of Snoop.exe and a C++ .NET .dll to inject Snoop into other processes. The problem was that the dll was 32/64 and 3.5/4.0 specific. Both the Snoop process and the injected process needed to match the dll.

    Now, Snoop no longer loads the dll. It calls an external program, which can have a different bitness and CLR version. So, we have 4 dlls, 4 aux exes and Snoop.exe which is compiled as an Any CPU to enumerate both the 32 and 64 bit processes.

  3. cplotts
    June 29th, 2010 at 10:29 | #3

    @Joseph Cooney: the icon has always cracked me up! :D

  4. John Schroedl
    June 30th, 2010 at 08:12 | #4

    @Bruno Martinez

    Brilliant Bruno! Many thanks from our team too!


  5. Jim V
    July 5th, 2010 at 16:30 | #5

    I installed 2.6.0 on a system that only has the WPF 3.5 runtime libraries. When I run Snoop, it says that WPF 4.0 has to be installed.
    Not quite one version for all yet, but getting closer.

  6. cplotts
    July 6th, 2010 at 08:04 | #6

    Yeah, @Jim V, I ran into that the other day too and didn’t think about too much about it … I just installed WPF 4.0. :) However, that won’t be a solution for everyone.

    In fact, if this a problem for someone, I would suggest to go back and install the 2.5.1 versions you need.

    Also, Bruno and I will take a look and see if we can fix it so that WPF 4.0 isn’t required.

    Thanks for leaving a comment!

  7. cplotts
    July 6th, 2010 at 10:13 | #7

    @Jim V, I figured out what is wrong and fixed it.

    If go download the latest Snoop.msi, uninstall the old one, and install the new one … it should work.

    Would be cool if you added a discussion item as well to the Snoop discussions area on CodePlex. If you do, I will explain that I’ve fixed things there too.

  8. July 21st, 2010 at 02:57 | #8

    Many thanks to Snoop team for making such a great tool!

    I really hope that in the future we will have Snoop for Silverlight! :)


  9. cplotts
    July 21st, 2010 at 07:29 | #9

    Thanks, @Kirill!

    Yeah, Snoop for Silverlight would be awesome. One fellow was exploring it for me, but it was proving challenging.

  1. June 28th, 2010 at 00:48 | #1