检查firefox安装最可靠的方法是什么?

时间:2011-08-20 12:25:27

标签: firefox installation inno-setup

我正在制作一个与firefox扩展捆绑在一起的软件。在我的安装脚本中,我想提示用户想要安装扩展程序的天气。但为此,我需要:

  1. 判断是否安装了firefox的方法
  2. 一种判断安装了哪个版本的Firefox的方法
  3. 我如何在InnoSetup或C#中做这两件事?我尝试手动检查默认firefox安装目录的路径或检查注册表中的卸载记录。我认为这些方法根本不可靠。

3 个答案:

答案 0 :(得分:6)

建议的方法是检查HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox注册表项是否存在。每个已安装的版本都会有一个子项。如果您是偏执狂,您还可以检查值HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\<version>\Main\PathToExe - 如果该文件存在,那么Firefox确实已安装,您不会查看过时的注册表项。

请注意,只有在实际使用安装程序时才能检测Firefox安装。您可以手动“安装”Firefox,只需将安装程序可执行文件与7zip解压缩到任何目录中即可。每晚构建也可作为常规zip文件提供,更易于打开包装。这将工作得很好但不会添加任何允许您找到此安装的注册表项。

答案 1 :(得分:3)

我认为HKLM\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE密钥不依赖于OS位,所以我建议这样做。

答案 2 :(得分:3)

以下是已创建密钥的缩短列表(通过Firefox 27.0.1安装)

HKLM\SOFTWARE\Classes\FirefoxHTML\
HKLM\SOFTWARE\Classes\FirefoxURL\
HKLM\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe\
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe\Path
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox 27.0.1 (x86 en-US)\
HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\firefox.exe\
HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox\27.0.1 (en-US)\
HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox 27.0.1\
HKLM\SOFTWARE\Wow6432Node\Clients\StartMenuInternet\FIREFOX.EXE\

我们的一个客户没有“卸载”,所以我们将使用该列表中的另一个。 我将使用:“当存在以下至少一个密钥时安装firefox:”

HKLM\SOFTWARE\Mozilla\Mozilla Firefox\
HKLM\SOFTWARE\Clients\StartMenuInternet\FIREFOX.EXE\
HKLM\SOFTWARE\Wow6432Node\Mozilla\Mozilla Firefox\
HKLM\SOFTWARE\Wow6432Node\Clients\StartMenuInternet\FIREFOX.EXE\
相关问题