Hi, you could attempt to create the BHO object and you would detect whether the creation process returned null.
Note* I believe this only works if your BHO is marked 'safe for scripting'
Javascript below:
var control = null;
try
{
control = new ActiveXObject('ProgID');
if(control = null)
{
alert('Plugin not installed');
}
else
{
alert('Plugin Installed');
}
}
catch(e)
{
alert('Plugin not installed');
}
Remember to replace 'ProgId' with your unique id.
Hope this helps...