
Executive summary : This is a free program I wrote to address a problem with Micro$oft's changes to the security model of Internet Explorer, starting with Windows XP - SP2, and on to Vista and IE 7. This program will be useful primarily to software developers, but also to end users with pre-existing installs of HTML-based Help systems ( such as distributed with many software packages ). Please read onward if you're interested in this issue, for more information and the free download link(s) at the end of this page.
About the author : My name is Paul Milligan, and I live in Raleigh, North Carolina. I have been programming computers in business environments since 1973. I am currently a freelance contractor / consultant, and I am always interested in discussing business, employment, and contract / consulting opportunities. My personal website, which includes my resume, is at www.pmilligan.net , and my email is pjm@pobox.com. If you are interested in an automated version of this program that can be incorporated into build scripts, etc, please contact me, I could develop that functionality for you under contract.
'Mark of the Web' is Micro$oft's endearing little name for a change they made to the security settings in Internet Explorer, starting with XP - SP2 and continuing since then into Vista and IE 7. The change consists of defaulting HTM / HTML pages that run directly from your local machine ( instead of the 'Net or your network ) to the security status of 'Do not allow active content or scripts to run on local machine'.
The effect of this is that when you attempt to view pages from your local machine that have active content or scripting, such as many HTML-based Help systems, you get the lovely new yellow 'information bar' in IE, saying 'To help protect your security, IE has restricted this web page ..blah blah blah', and the scripting produced by the Help file package won't work, thus totally hosing your Help files, and also causing them to generate a lovely security warning for the user. Very nice. Thanks ever so much, Bill. I discovered this when doing deployment testing under Vista for a customer's software product I wrote. The Help system worked perfectly from the 'Net, or across the LAN, but had this problem when running directly from the installed machine, which is what the customer will see. Not very pretty !
There are two ways to fix this :
A ) You can change the security settings on the computer it's running on. By opening IE, going to 'Tools / Internet Options / Advanced / Security and setting 'Allow Active Content from CD's' and 'Allow active content to run in files on My Computer' on ( they are off by default ), that will change the security setting of the 'Local Machine Zone' of IE ( which M$ has been so kind as to actually hide from you under the top-level Security tab where it used to be !! ).
B ) You can add 'The Mark Of The Web' , which is just a line of HTML code like any other, to the HTML pages involved. The line is as follows ;
<!-- saved from url=(0014)about:internet --> , where the number in parenthesis is the length of the string that follows it, and the string can be a valid URL in standard format such as http://www.pmilligan.net/ , where the line would then be <!-- saved from url=(0024)http://www.pmilligan.net --> , or you can use the generic 'about:internet', which is a 'catch-all' entry that M$ recognizes and allows. This tells IE to assume the security settings of the Internet zone ( or whatever Zone you have your URL in , if different, like 'Trusted Sites etc ), which by default DO allow scripting.
The Problems with each method :
A ) Each computer running the software must have its security settings individually changed, by someone with Admin privileges. Needless to say, this is a severe problem in a corporate environment with 100's or 1,000's of client machines. In that setting, the solution of putting the help files on a server would work, EXCEPT that the client software would not be pointed to that server, IOW your F1 key or Help menu item would still look at the local machine, so it's not really a solution in most cases ( yes, there are a few possible settings where it would apply, but they are limited, and have their own drawbacks of bandwidth and response time ).
As a software producer, it would be extremely ugly to include a note in your deployment package telling the user that he has to change his security settings on all his computers in order for the Help files in your product to work correctly. While there are cases where that might in fact be reasonable ( certain types / ports of network-enabled functionality being allowed through a firewall or proxy server , etc ), it is simply not acceptable for the simple task of viewing your Help files. It reeks of laziness and / or incompetence, to say the very least. And it will tend to not endear you to the network admins of the company who purchased your product and deployed it to all their desktops. In fact, you had best hope they are not armed. The CIO is also unlikely to be amused to find that you require him to change his network security model ( in a very time-consuming way, at that ) just to view your Help files.
B ) While inserting the line of code shown above will solve the problem, many HTML-based Help file generators / editors, such as Doc2Help, do not allow you to insert the line in a batch mode, IOW 'automatically add it as a header to every output file'. And it MUST BE IN EVERY OUTPUT HTML FILE of the Help system, not just the top level 'Default.htm' etc. If you have hundreds or thousands of pages in your Help system, all very carefully designed and tweaked, that are generated each time you run your Doc2Help or similar generator, you are unlikely to look forward to the task of going through each of them in a text editor or HTML editor to add one line of code, every time you update or modify your Help files and regenerate the package for your distro.
The Solution :
This free program, MarkOfTheWeb.
This program gives you a simple automatic 4 step process that takes ~ 20 seconds to run against several hundreds or thousands of Help files, in unlimited sub-folder structures ( that's 'total time', not 'per file' ), and inserts the Mark Of The Web, as above.
After installing the MarkOfTheWeb program : ( reference the screenshot below )
Step 1 - select a path . Networked-mapped folders / sub-folders will be shown as available choices ( in the screenshot below 'H: Vista is a machine on my LAN , and A Share Me is a mapped folder on my dev machine ). This would normally be the top-level folder that your Help system generator ( Doc2Help etc ) outputs to, and you would normally 'allow sub-folder recurse' in the next step to include all sub-folders that system may create.
Step 2 - After telling MOW to recurse folders or not, find the folders under that selection. This will take ~ 0 to 2 seconds, unless you are searching your entire C; drive or such, where it might take several minutes to recurse 20,000 folders, etc. You normally don't want to hit your entire C: drive, just some particular set of Help files.
Step 3 - After un-checking any folders you do NOT wish to modify HTM files in, find and list all the HTM and HTML files.
If you wish to modify the line that will be added to customize your URL, do so in the text box shown. The line of code that will be added is shown below it in red. The character counter will update correctly when you enter your URL, you do not need to enter it manually.
Step 4 - After un-checking any files you do NOT wish to add the Mark Of The Web to, go ahead and add it. Several hundred or a few thousand HTML files will take perhaps 10 - 20 seconds in total.
A typical report of the entire process ( in the upper right ) will look like this ( showing a total of 10 seconds to find and fix 463 HELP HTM files in 46 sub-folders ( created by Doc2Help in this case) ). This is a workable amount of time in a corporate production environment to be incorporated as a 'final manual step' when you update your Help system and regenerate the HTML folders and files. If you are interested in an automated version of this program that can be incorporated into build scripts, etc, please contact me, I could develop that functionality for you under contract.
46 folders found
0.00 seconds elapsed
1317 total files found in those folders
463 of them are *.HTM / *.HTML files
0.19 seconds elapsed
The Mark of the Web has been added to 463 files.
9.98 seconds elapsed

Links :
Micro$oft's pages on this topic contain all the dirty details from the evil gnomes of Redmond.
About the 'Information Bar' of Internet Explorer ( user information )
MSDN ( Micro$oft ) about the 'Mark Of The Web' ( developer information )
Disclaimers / statements by the author :
Download the installer package for MarkOfTheWeb here. This file is a standard Windows installer package, and is ~ 2 mb.
If you experience problems with this software, please let me know at pjm@pobox.com
Please feel free to visit my personal website, pmilligan.net, for other free software by me, my resume, pictures of my cats, and stuff like that :-)