Deactivate the name.dll active x control

Websites built on SharePoint 2007 prompts you to install Microsoft's Name.dll ActiveX control on every page load of your SharePoint web site. Name.dll provides "presence" functionality, that is if you have Messenger it will display your online status. This is annoying, I think anyway 🙂

To remove the prompt on a site you have to do the following:

Go to the folder (the one and ONLY folder as a Sharepoint developer/administrator...)

"C:Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATELAYOUTS"

If you don't want this to affect all of your websites (it is a really useful function on your intranet for example) so create a new folder on your server and copy the contents of the "LAYOUTS" folder to a new folder. Let's ensure SharePoint will have permission to access the files. Through Explorer, open the properties for your newly created folder and under the security tab add the "WSS_WPG" account (the default Read & Execute, List, and Read permissions are enough) and let's add the WSS_ADMIN_WPG account with full permissions (see image below). In the IIS Manager Console, open the properties for the "_layouts" virtual directory (under the web site you want to modify) and change the local path directory to your newly created folder. Test your Web Site and make sure everything is working.

The ActiveX feature is in a script file called INIT.JS located in the LAYOUTS1033 folder.

Go to the function called EnsureIMNControl()
Comment out the ActiveXObject line:
//IMNControlObj=new ActiveXObject("Name.NameCtrl.1");

After applying any updates or service packs to SharePoint you'll probably want to reverse this customization and perform these steps again after the update to ensure your web site is running on the latest code.
function EnsureIMNControl()
{
if (!bIMNControlInited)
{
if (browseris.ie5up && browseris.win32)
{
//@cc_on
//@if (@_jscript_version >=5)
//@ try
//@ {
//@ //IMNControlObj=new ActiveXObject("Name.NameCtrl.1");
//@ } catch(e)
//@ {
//@
//@ };
//@else
//@end
}
bIMNControlInited=true;
if (IMNControlObj)
{
IMNControlObj.OnStatusChange=IMNOnStatusChange;
}
}
return IMNControlObj;
}

0
0
votes
Rate this article!
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

2 Comments
newest
oldest most voted
Inline Feedbacks
View all comments
Anonymous

What an excellent post, our entire website was swampt by this issue for 5 months, and microsoft refused any support. Thanks so much

Lise

Wow, that’s great news! Happy to be at any help!

Take care,
Lise