Forum Moderators: open
It's been a few years since I burned website data to a CD for distribution. But when a client requested this, because I'd done it before I had no reason for concern, right? Wrong! -- with SP2 the folks at Microsoft have really monkeyed around with "local security" on the IE browser. I guess the idea is stop malicious programs from running AFTER they get on your machine. It takes two clicks to get past each and every warning.
At any rate, what happens is that you get a security warning any time there javascript -- and that means even an "IE expression" in a CSS file. You also get a warning if you click a link to a local media file, or anything involving ActiveX in any way.
Microsoft has some extensive documentation here:
[microsoft.com...]
So my question now is how to burn some promotional CDs with a few hundred HTML files plus assorted media -- without scaring the recipients on every other click. I've uncovered a few answers, but I don't like any of them so far.
1. Tell your users to change their security settings. Right.
2. Tell your users to use a different browser. Right again.
3. Embed a local server on the CD. Well, I assume this will work, but I'm a bit at a loss for a product to use, and out of my depth technically at any rate. And I'm more than a bit ticked off that this solution might be necessary. I'm a marketer, not a true tecchie.
4. Use the "Mark Of The Web" on every HTML document. What is the MOTW, you ask? it's a comment tag placed right after the DTD, and it looks like this:
<!-- saved from url=(0014)about:internet -->
The key here is that the number in parens is the character count of the string (url) that follows it. Really. And it does work for javascript and embedded media, but links to other media types are still a no-go.
5. Put the html web content inside an iframe in a .hta file. OK, but other browsers then have trouble with autorun. And links to MP3 files, for instance, are just dead. And the hta interface doesn't seem to offer what a regular browser interface does -- like a back button.
For now, I'm going with the MOTW solution. I'm putting all the MP3 files into Flash movies and embedding ithose SWF files in a web page...and I think this will work OK for me. But what a huge PITA it has been. Before I learned about the MOTW, I already made a thousand small changes to eliminate javascript -- mostly informational pop-up pages and max-width workarounds...a workaround that only IE needs in the first place.
There, I didn't rant too much now, did I? If anyone has another approach, I'm all ears.
Kaled.
1. Run a server from the CD
...or
2. Use autorun to launch a particular html file in the local browser
...then I would be a happy camper.
The MOTW is not that bad a solution, now that I've put all the MP3 files into swf files that I can put into the page. All I need to do is paste it into every html file, just after the DTD. That's pretty easy to do with Homesite. I still have a few media files to treat that way...we'll see. A deadline is rushing up on me.
Server2Go [server2go-web.de] - a free web server on a CD, based on Apache. Includes Perl, PHP and MySQL.
<edit>
Thinking:
It can even be used to send a pre-beta not loaded yet on a pre-production server to a client.
That will do great since not any client runs a local server
</edit>
Have you got a copy of Visual Basic or Delphi? The Webbrowser control (shdocvw.dll) doesn't have these security restrictions and just wraps Internet Explorer. Just create a form, drop the control on and whatever other controls you want (back, forward, refresh, url textbox - they can be hooked in to the relevant webbrowser method with a line of code each). You can even code the default for the home page to be your index html file.
You could knock up a little install program (but I think windows users already have this dll on their machine). Other things it could do is log errors such as Page not found.
I just knocked up a small browser in about 2 minutes to prove it worked. It also solved a little problem I had in testing some complicated javascript without uploading the page to a server, so thanks for the question.
It's so frustrating to have gone part way down several different trails. And at present I'm banging into disk space limits on the CD -- looks like a video file may need to go if I embed the server. But at least it all looks doable by deadline.
My only trouble has been because I know diddly about servers. This is how I learned almost anything I know -- in the heat of battle instead of in the abstract -- so I guess this project is now my entrance into a bit of knowledge about Apache.
Dependent on whether the machines where the site will be demoed are reasonably modern, you could also build a data DVD rather than CD - DVD drives are more and more common now that they are pretty much a standard feature on new PCs from Dell, etc. so you could have one slimmed-down CD version and a full DVD version which can hold up to 4GB.
We also discussed the DVD possibility, but for our target audience, we feel we cannot count on a DVD drive, and in the final analysis, this is a marketing piece. Disk space has been OK -- we needed to drop one feature to make everything fit on a CD, but that file was really just a bit of fluff anyway.
[webmasterworld.com...]
A really wellstructered website should never IMHO be dependent on a back button. It sort of contradicts the much wanted "suck flow" of a website - as opposed to the "push flow" that might want some people to wish for a back button.
I never really understood why some people can not live without the back button.
Two browser functions are among the very first that newbies learn -- and that "non-web-tech" people seem to rely on in the extreme. They are"click on the X to close" and "back button". It's my experience that messing with those functions severely limits the audience, and in this case I know the audience is only minimally tech-savvy.
It's just a fact of life that I had to accommodate with this project. But the embedded server is a great solution for this case. And though I am far from being Mr. Server Admin, I had no problems at all -- mostly because the default install pretty much handled everything I needed.
could you simply please, summurize how you did it
Sure. There's next to no support info on the sever2go website -- but that's probably because, once I got into it, it was almost brain-dead simple. Even for a non-server guy like me.
I downloaded the server2go zip file and expanded it into a folder I called "cd". All the CD content goes into the htdocs directory (this mini-server is based on Apache). The unzipped file already contains an autorun file that launches the server itself when the CD is inserted, and then the server launches the default page from the CD.
There's also a config.ini file in the package that is well commented and easy to customize, if the default settings are not exactly to your taste.
Then I just burned the /cd/ folder -- all the server files including my content in tghe htdocs directory -- to a data CD. No trouble at all and it worked the first time.
Is it possible to have the site in the htdocs directory navigable without the server running? Obviously not for a database-driven site, but that means that the source code for the scripted pages is easily accessible, as is the entire database. I'm not sure I would use it for more than a 100% static site.
Seems like you misunderstood it. :)
Server2Go can be configured in such a way that the CD actually becomes an OS in itself. Everything runs off the CD.
Server2Go can be configured in such a way that the CD actually becomes an OS in itself. Everything runs off the CD
I am not sure that is a good idea in this case. Lots of people will have PCs set not to boot off CD.
It seems that the tricky security setting work well for MS in this case - in order to accommadate IE's behaviour, you have to make the CD Windows only.
Cross platform and booting from anywhere
does not sound like a problem
From the Server2Go website
Using a web browser, a user can run php programs as well as view html files on the CD-ROM. He only need to insert a CD with Server2Go under the supported Windows operations systems.
It is not cross platform.
Although there are ways to produce a cross platform CD, the best you could do is have to have it autostart for Widows, and have alternative executables for whatever other OSes you need.
I do not know whether Tedster needs cross platform, but that was not my point - my point is that MS have pushed him into a Windows only solution.