Fixlet to uninstall "local" profile-based internet browsers

(imported topic written by cbj_elliott91)

There is a tendency among our user-base to use USB flash drives to install their own preferred browser inside their profile (C:\Documents and Settings%USERNAME%). Ideally I would like a fixlet that does two things: 1) searches for any browsers other than Internet Explorer and Firefox and uninstalls them regardless and 2) removes any browser that has been installed inside of a user’s profile. I realize this is a rather complex task and I think it would be best served by multiple fixlets for each browser.

What’s the best approach for doing this programmatically? I’ve looked at the existing fixlets for implementation ideas, but I am having a horrible time understanding the relevancy syntax. Should I use the registry keys to look for local installs or should I search for ‘firefox.exe’ in C:\Documents and Settings?

I can’t be the only person who has wanted to do this… does anyone have a fixlet or a “template” that I can work from?

(imported comment written by BenKus)

Can you just look to see if firefox is installed by looking at standard places (like the registry or the registered apps?)

Ben

(imported comment written by cbj_elliott91)

That’s the idea I have been working with but my relevancy tests keep failing (as I said, I am having difficultly trying to understand the syntax). I just wondered if there was a better or more appropriate way to do this.

The combination of the following relevancy tests fails to find any applicable machines (including my test machines which I

know

have local installs of Firefox).

Maybe my mistake is obvious to someone who is more familiar with the relevancy language.

exists regapp "firefox.exe"

if
  (
      exists key "Software\Microsoft\Windows\CurrentVersion\Uninstall" of current user keys 
      (
          logged on users
      )
      of registry
  )
  then
  (
      exists key 
      whose
      (
          exists values 
          whose
          (
              name of it = "DisplayName" 
            AND
              it as string contains "Mozilla Firefox"
          )
        and
          exists value "UninstallString" of it
      )
      of keys "Software\Microsoft\Windows\CurrentVersion\Uninstall" of current user keys 
      (
          logged on users
      )
      of registry
  )
  else
  false