IE7 & SW 2005 - Follow up
Editted to Add:
Due to several attemps to spam the comments, they are disabled on this post.
If you want to share your opnions and information, please, do so at pjondevelopment (at) gmail (dot) com.
Due to several attemps to spam the comments, they are disabled on this post.
If you want to share your opnions and information, please, do so at pjondevelopment (at) gmail (dot) com.
I sent an email to Symantec today about the error I got after installing IE7, and I got an automated message that say they will reply in 24 to 48 hours.
So while I'm waiting I did some research about this error and some digging in the System Works.
I took a good look at the error message that stated that the error has occurred at this URL:
res://fwui.dll/ruleSummary.htm
.Well, it says in almost plain English that the error occurred in a Resource in the
fwui.dll
.The next thing I did was to search for the said file and then I started my Visual Studio 2005 and opened the file. And there it was:
fwUI.dllEverything I needed to find out what was wrong.
Bitmap
Cursor
Dialog
HTML
Icon
"REGISTRY"
String Table
"TYPELIB"
Version
I went straight to the HTML branch and took a look at it.
There are several items there and the one I was looking for: "
RULESUMMARY.HTM
".Reading this file I discovered that it is a pretty simple HTML file, with not much of a thing to look at anyway. But there are some scripts and the most interesting was named
RuleSummary.js
.Opening this file and referring to the error message I got I went straight to the line of error (476), and discovered that it was inside a block code that should be only executed if the IE was lower than 5.
I scratched my head. Was IE7 reporting a wrong version number?
That didn't seem right. But I tested anyway and it reported 7 sure enough.
Therefore the error should be in the code I was looking.
The test for the IE version was:
if (g_IEVer < 5)So I went looking for the assignment of
g_IEVer
and I found it as being:var g_IEVer = GetIEVersion();But no sign of the
GetIEVersion
function in the code I was looking at.I went back to the HTML file I looked at first. There was another interesting script there by the name
shared.js
in another resource file, the niscmnht.dll
.I opened this file and searched for the
shared.js
script. And then I looked for the GetIEVersion
function. Where I quickly discovered the error.function GetIEVersion()Do you see the error?
{
// convert all characters to lowercase to simplify testing
var agt = navigator.userAgent.toLowerCase();
// Note: On IE5, these return 4, so use is_ie5up to detect IE5.
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
// BROWSER VERSION
var is_ie = (agt.indexOf("msie") != -1);
var is_ie3 = (is_ie && (is_major < 4));
var is_ie4 = (is_ie && (is_major == 4) &&
(agt.indexOf("msie 5.") == -1));
var is_ie4up = (is_ie && (is_major >= 4));
var is_ie5 = (is_ie && (is_major == 4) &&
(agt.indexOf("msie 5.") != -1) );
var is_ie5up = (is_ie && !is_ie3 && !is_ie4);
var is_ie6 = (is_ie && (is_major == 4) &&
(agt.indexOf("msie 6.") != -1));
if(is_ie6)
return 6;
else if(is_ie5up)
return 5.5;
else if(is_ie5)
return 5;
else if(is_ie4)
return 4;
else if(is_ie3)
return 3;
return -1;
}
There is no test for IE7. Worse, it could have been done much more easier with regular expressions.
A better approach with the same results and upgradeable to ANY version of the IE could be:
function GetIEVersion()Unfortunately I can't edit the file without risking my whole System Works, but now it's pretty easy for the folks at Symantec to fix the problem A.S.A.P.
{
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_ie = (agt.indexOf("msie") != -1);
var is_ie3 = (is_ie && (is_major < 4));
// It's not IE so we don't care
if (!is_ie)
return (-1);
// It's IE3 report it
if (is_ie3)
return (3);
// It's IE4+ so we can use RegExp
var rxIE = new RegExp("msie\\s(\\d+.\\w+)","ig");
var arIEResult = rxIE.exec(agt);
// arIEResult[0] contains the whole match
// arIEResult[1] contains the first matching group
// in our case the full version
//
// We use parseFloat because we want a number
return (parseFloat(arIEResult[1]));
}
Editted to Add:
You can can read the Symantec reply here.
Editted to Add:
Several people have in the past asked me for a fixed version of the niscmnht.dll file. However I wasn't able to provide at that time due some personal conflicts.
I was trully hoping that Symantec would sometime fix this darn file. But after more than three years since the first publication of this post, no such thing happened.
So I'm publishing a fixed version of this file here.
Simply unzip the fixed file over the old one.
If in some happenstance the file is in use, unzip it on another folder, boot up in Security Mode, and copy the file over the old one.
As always, remember to backup your original file BEFORE copying it over.
This file is provided "AS IS", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and non-infringement.
In no event I shall be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software
Use it at your own risk.
25 Comments:
WOW! Thank You!
Acctually I've been lookin all over the net for at least a little clue about what that error is.
There is nothing on it in the Symantec support website.
Do you know how can I fix it without reinstalling my IE?
Cuz it's really buggin me out. I can't configure my firewall, therefore my computer connection is too slow and does pose a threat.
Thank you again for the above.
I fixed it by manually adding the IE test to the javascript in niscmnht.dll and i seems to be solved...I can edit the rules again. I can send you the modded file if you like (If you are not familiar with ResourceHacker don't try it yourself). Just leave an emailaddress in this blog.
Better still: download it from here: http://www.citadel.nu/file/niscmnht.dll
Please check the file on viruses or other crap (although I did not put it there, but to be sure)
Edgar can you please send me the modified niscmnht.dll file? I'd really appreciate it. Thanks in advance.
adrian.z@netzero.net
The error was sorted out for me by first uninstalling Symantec Client Security, restarting my machine, reinstalling and restarting my machine again.
I have edited the dll using the new code supplied by pjondevelopment in A. Jordan's post. BTW i used a program called PE Explorer free 30 day trial to edit the dll.
I just reinstalled windows so i will be testing the functionality of my new dll after i update windows and internet explorer.
Will let people know how it works and the dll will be available by email. (If i was successful)
The only thing im worried about is whether the dlls are the same throughout the norton products (and therefore if my edited dll from my norton internet security 2005 antispyware edition will work for people with different programs or versions). Worst comes to worst.. people can email me their existing niscmnht.dll and i can edit it for them and reemail the fixed versions.
Anyone with any info please post.
I was successful in fixing the problem!!
I have updated to internet explorer 7 and my norton problems started. I then replaced the dll with the edited version i made and it works fine. If anyone wants the fix or instructions on how to do it post your email address and ill respond accordingly.
Please verify that your niscmnht.dll is the same version as mine.. do a search for it.. rt click on it and go to properties..version tab.. then click on file version and it should be 8.2.0.23
If it isnt that version... post me your email and ill email you so you can send me a copy of your dll and ill edit it and sent it back to you.
PROBLEM SOLVED
Edgar, for some reason I can not down load the niscmnht.dll
from the URL you provided. Can you e-mail me a copy at
elgetz@cableone.net
Many thanks.
ok so ive made a new email address for myself so people can send me their files. It is errorhelp@gmail.com
This is to prevent spam to my real email.
BEFORE you email me your files.. please run liveupdate to your norton product to verify that you have the most current files . Run it repeatedly until it tells you everything is current (reboot your computer in between update sessions) When it tells you they are current then reboot then check if your problem is fixed and if not THEN send me an email.
So anyone who email s me please include:
1. The name of the product you are using
2. the error message u are getting and what you were doing when you got the error
3. please attach your niscmnht.dll in your email . I will edit it for you and email it back to u to fix your problem.
if you dont know how to do that: go to sart.. then click search..all files and folders...type in niscmnht.dll . do a search for it.. rt click on it and copy..then go to your desktop and rt click and paste.. now you can find the file to attach it in an email to errorhelp@gmail.com
I would just like to pass on my thanks. I have been having this problem for ages and Symantec help was a waste of time, so I did as you explained earlier. I downloaded the trial version of PE Explorer and edited the file for Internet security 2005 and now it all works again. Once again thanks very much.
P.S.
I even emailed Symantec this web address so as they might try and fix it for everyone, but I think they are trying to get people to upgrade to the latest products !!
Edgar can you please send me the modified niscmnht.dll file? I'd really appreciate it. Thanks in advance.
lucie.fuster@externe.bnpparibas.com
I used ResourceEditor to post your "fixed" code into the dll file. It works great! I haven't used it enough to see if it will affect another part of Norton, but so far I haven't had any related errors. Thank you!
Hi - here is an alterate download link for the edited .dll
Backup old file (search for niscmnht.dll on your system)
modified niscmnht.dll (right click - save target)
The file is clean, but run a virusscan anyways - it never hurts.
Hi,
I found workaround to solve Symantec szModify script error without modifying dll.
Because problem is in user agent, solution is to make ie7 fake it self as ie 6.
There are reg-files at http://www.fiddlertool.com/useragent.aspx. If you want to change Symantec Client Security rules, run first IE6SP2.reg, modify rules at firewall and restore old information by using UA_UNDO.reg. You don't need to close browsers between changes. Worked for me. However, do it on your own risk.
Cheers wildfin(a)gmail.com
Hi all, I'm just try Registry keys as suggest by WILD member forward to : http://www.fiddlertool.com/useragent.aspx
Anyway it works fine for me.
I think this method is better than modifying niscmnht.dll file as suggest by Edgar (thanks a lot to him anyway)& great thanks to Paulo Santos (compatriota)
Good Lock for others ...
I just copied and pasted the script also using PE Explorer and it worked great! Thank you so much!!
-MS-
Please, can you help me, I have the same problem with my norton personal firewall 2004.
Thank you very much
This is my email address
gothias@tele2.fr
Thanks Sugar...
Your modified niscmnht.dll file works great.
The modified niscmnht.dll worked for me on NIS 2005. Thank you!
Hi, can you help me with the following problem?
"An error has occured in the script on this page
Line: 107
Char: 5
Error: Unspecified Error
Code:0
UR:: res://NISPLUG.dll/10090
Do you want to continue running scripts on this page? Yes/No"
I have a Norton Internet Security 2005 Anti spyware Edition product running on my computer. Its not taking Live Updates, stating that my subscription has expired - which isn't the case.
Unfortunally, I'm no longer using Norton.
I can investigate it for you if you send me the file.
You can send it to pjondevelopment (at) gmail (dot) com.
This post has been removed by the author.
I have fixed the niscmnht.dll (file version 8.5.0.111) so it will work with any version of Internet Explorer. I now use IE8-Beta and my NIS2005 works perfectly. If anybody wants the file e-mail me at 'gilbert.immerman@gmail.com' and I'll be happy to send it to anybody who requests it. However, if your file version is later than 8.5.0.111 send me a copy of it and I'll modify and return it to you (all I ask in return is that you wish me well)!!!!!!!!!