Question

write data from a html form to a text file

Asked by: meaculpa1113

Hi,

I will describe my problem first, and then a solution that i have in mind. pls let me know i) if my solution is viable at all ii) and comments/suggestions on other types of solutions.

PROBLEM: I need to make a stand alone CD(web independent). The CD has a bunch of HTML documents in it that will primarily be used for printing by the people who will be receiving the CD. The content on the documents is the same for everybody. But each person who gets a CD wants to have their name, address, phone #, and a couple of other lines of personal information populated on top of each document when they are printing it out. Now, there are around a hundred of these forms, and this information should by dynamic in the sense that they could change it later in they wanted to, and it should still appear on the forms.

MY SOLUTION: This is the solution I had in mind. I would have an 'options' window which would display an HTML form, that would collect all the information that needs to be put on each of the documents. If there is some way in which I could write out this information into an XML file, and store it there on the users computer. (Assume that all the contents of the CD will be on the hard drive, and the CD wont be needed everytime to use any of the features, however utilizing the Internet is NOT an option).
After that I thought I would make a template which for its header would query the XML file created in earlier step and retrieve information from there to be put on each document, so it would be prepopulated

So my questions being:

i) How do I write a HTML form that would send the data to a file, without using CGI or anything like that which would be server dependent.
ii) How do I write code in my HTML form that would read tags from a certain XML file with a particular filename in a particular directory?

If you have a better suggestion to tackle the problem, feel free to comment on that. I have any such 'ego' that would forbid me from accepting that I am completely wrong!

This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.

Subscribe now for full access to Experts Exchange and get

Instant Access to this Solution

  • Plus...
  • 30 Day FREE access, no risk, no obligation
  • Collaborate with the world's top tech experts
  • Unlimited access to our exclusive solution database
  • Never be left without tech help again

Subscribe Now

Asked On
2003-08-14 at 12:38:16ID20709991
Topics

Hypertext Markup Language (HTML)

,

Macromedia Homesite

,

Server Side Includes (SSI)

Participating Experts
5
Points
125
Comments
36

Trusted by hundreds of thousands everyday for fast, accurate and reliable tech support.

  • "The time we save is the biggest benefit of Experts Exchange to Warner Bros. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange." Mike Kapnisakis, Warner Bros.
  • "Our team likes having a resource that is more secure than just using Google and most experts using this service really know their stuff. It's nice to look here first versus using Google." Dayna Sellner, Lockheed Martin
  • "Anytime that I've been stumped with a problem, 9 out of 10 times Experts Exchange has either the accepted solution or an open discussion of the potential solution to the problem." Kenny Red, eBay Inc.

See what Experts Exchange can do for you.

Got a question?

We've got the answer.

Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.

Screenshot of Experts Exchange Knowledgebase

Need individual assistance?

Our experts are ready to help.

If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.

Screenshot of Experts Exchange Knowledgebase

Want to learn from the best?

Read articles from industry experts.

Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.

Screenshot of an Article

Working on a long term project?

Store your work and research.

Save solutions to your questions, answers you’ve discovered through searching plus helpful articles in your personal knowledgebase for easy future access.

Screenshot of Experts Exchange Knowledgebase

Access the answers to your technology questions today.

Subscribe Now

30-day free trial. Register in 60 seconds.

What Makes Experts Exchange Unique?

Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Trusted by the world's most respected brands.

image of each brand's logo

Faithfully serving IT professionals since 1996.

Experts Exchange Logo

Try it out and discover for yourself.

Subscribe Now

30-day free trial. Register in 60 seconds.

Related Solutions

  1. CGI and HTML
    In this piece of code, I am trying to get the user's reply on whether to proceed with data retrieval. ----------- My C code ------------ // PrintConfirmRefreshPage // // Pops up a Confirmation Dialog Box asking whether the // user to proceed with data retrieval. // // Inpu...
  2. CGI And HTML
    I have four options on a HTML page i.e. Option 1. Option 2. Option 3. Option 4. I would like the user to choose anyone of the above options and, the chosen option would execute a cgi script. Note each option excutes a different cgi script. Can somebody provide me with the...
  3. CGI
    i need a cgi that can save an URL output to a file! but this cgi must not using LWP libs or others lib! examples: input ot this cgi is http://www.geocities.com/cgi-bin/members?id=tulung and then the cgi save the html output from this url to a file. but this cgi must not usin...
  4. CGI
    Hello, I am using DevStudio97 MVC++5.0, and I want to write a simple CGI application. How can I do that? How to read parametars posted from the HTML form(name=value)??????? Cheers, Zeko
  5. ASP or CGI
    When developing a commercial web-site is it better to use CGI scripting or ASP. what are the main differences to separate these.
  6. CGI Form
    Please can somebody give (send me) jaa@cmail.cz some little cgi form with html page with guide? I don't understand cgi and I need form in html. If I do it in html only, everybody see with submit, that it is e/mail and they must submit it twice. Thank you.

Free Tech Articles

  1. WARNING: 5 Reasons why you should NEVER fix a computer for free.
    It is in our nature to love the puzzle. We are obsessed. The lot of us. We love puzzles. We love the challenge. We thrive on finding the answer. We hate disarray. It bothers us deep in our soul. W...
  2. SCCM OSD Basic troubleshooting
    SCCM 2007 OSD is a fantastic way to deploy operating systems, however, like most things SCCM issues can sometimes be difficult to resolve due to the sheer volume of logs to sift through and the dispe...
  3. Migrate Small Business Server 2003 to Exchange 2010 and Windows 2008 R2
    This guide is intended to provide step by step instructions on how to migrate from Small Business Server 2003 to Windows 2008 R2 with Exchange 2010. For this migration to work you will need the fo...
  4. Create a Win7 Gadget
    This article shows you how to create a simple "Gadget" -- a sort of mini-application supported by Windows 7 and Vista. Gadgets can be dropped anywhere on the desktop to provide instant information, ...
  5. Outlook continually prompting for username and password
    There have been a lot of questions recently regarding Outlook prompting for a username and password whilst using Exchange 2007. There are a few reasons why this would happen and I will try to cover t...
  6. Backup Exchange 2010 Information Store using Windows Backup
    There seems to be quite a lot of confusion around the ability to backup Exchange 2010 using the built in Windows Backup feature. This stems from the omission of this feature prior to Exchange 2007 s...

Cloud Class Webinars

  1. Avoiding Bugs in Microsoft Access
    Alison Balter takes and in-depth look at avoiding bugs in Access. In this webinar you will learn about using the immediate window to debug your applications, invoking the debugger, using breakpoints to troubleshoot, stepping through code, setting the next statement to execute, ...
  2. Top 10 Best New Features in Visio 2010
    Scott Helmers gives live demonstrations of the top 10 new features in Visio 2010. This webinar will teach you how to create compelling diagrams by adding shapes to the page with a single click, linking the shapes in a diagram to data in Excel (or SQL Server, or SharePoint), ...
  3. IT Consultant Business Secrets Revealed
    Michael Munger, Experts Exchange tech pro and IT consultant, pulls back the curtain on his very successful businesses and answers question on every IT consultant and business owner should know about. He shares secrets on what he did to solve the 5 most common problems in IT, ...
  4. Disaster Recovery and Business Continuity
    Quest CTO, Mike Billon, gives an overview of the steps involved in building a dunamic disaster recovery plan. Through case studies and an examination of software/hardware tooles for monitoring and testing, you'll gain a better understandin of where you are, where you want ...
  5. Organize Your Visio Diagrams with Containers and Lists
    Scott Helmers uses cross functional flowcharts, wireframe diagrams, data graphic legends and seating charts to teach you: how to ustilize all three new structured diagram components in Visio 2010, the best practices for organizeing shapes in previous version of Visio, how to organize ...
  6. How to Us Objects, Properties, Events and Methods in Microsoft Access
    Alison Dalter gives an in-depbth look at objects, properties, events and methods in Microsoft Access. In this webinar you will learn about using the object browser, referring to objects, working with properties and methods, working with object variables, understanding the ...

Join the Community

Give a Little. Get a Lot.

Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.

Join the Community

Answers

 

by: gamer_2055Posted on 2003-08-14 at 12:54:59ID: 9149574

I think this link should help you.

http://developer.irt.org/script/1421.htm

 

by: meaculpa1113Posted on 2003-08-14 at 13:04:04ID: 9149668

My apologies.  I am a java/c++ programmer, and very new to web development.

Taking it one step at a time..
function WriteToFile()
{
 var filename = "data.txt";
 var fso = new ActiveXObject("Scripting.FileSystemObject");
 if (fso.FileExists(filename))
 {
  var a, ForAppending, file;
  ForAppending = 8;    
  file = fso.OpenTextFile(filename, ForAppending, false);
   file.WriteLine(name);
   file.WriteLine(password);
 }
 else
 {
  var file = fso.CreateTextFile(filename, true);
   file.WriteLine(password);
   file.WriteLine(password);
 }
 file.Close();
}


This writes data to a file.  And i am assuming (correct me if i m wrong), that the lines, file.WriteLine(password) write the data to a text file, correct? thus, i should replace 'password' with watever my textBox name is?

So lets say that I have a bunch of text boxes (ex. name, add, phone# etc), So i basically want the user to click on 'submit' and the entered information should be passed on to the file.  so, how do these two elements connect?  do i to something like this?
<intput type = 'button' value = 'submit' onClick = writeToFile()>?


And also, i read this on the site that you had directed me to: "The windows scripting host has first to be installed on the client.".

Mine is a web INDEPENDENT system, and i cannot rely on the use of the internet.  so, is that presumable that this will be available on most comps? (pc-based only).

Thank you for ur help.
much appreciated.

 

by: gamer_2055Posted on 2003-08-14 at 13:29:28ID: 9149840

<html>
<head>
<title></title>
<script language="JavaScript">
<!--
function WriteToFile()
{
var theForm = window.document.forms["yourForm"];
var Fname = theForm.elements["Fname"].value;
var Lname = theForm.elements["Lname"].value;
var filename = "data.txt";
var fso = new ActiveXObject("Scripting.FileSystemObject");
if (fso.FileExists(filename))
{
 var a, ForAppending, file;
 ForAppending = 8;    
 file = fso.OpenTextFile(filename, ForAppending, false);
  file.WriteLine(Fname);
  file.WriteLine(Lname);
}
else
 {
 var file = fso.CreateTextFile(filename, true);
  file.WriteLine(Fname);
  file.WriteLine(Lname);
}
file.Close();
}
//-->
</script>
</head>
<body>
<form action="javascript: WriteToFile();" name="yourForm" method="POST">
<input type="text" name="Fname"> First Name:<br>
<input type="text" name="Lname"> Last Name:<br>
<input type="submit" name="sub" value="Submit">
</form>
</body>
</html>

This code right here will save the value of the fields "Fname" and "Lname" into a .txt file.  I think you can figure out how to modify this to help you in your situation, but if you need more help just tell me.

 

by: webwomanPosted on 2003-08-14 at 13:32:54ID: 9149862

You have one really big problem -- you don't have any way to generate the XML file OR to save it on the user's computer.

If you're going to put this on the user's hard drive, and you know java, use that. Write a java app (not an applet, a stand alone app) that can be called from the HTML page.

Or forget HTML at all and write the entire thing in java. Then you know you have all the tools you need.

HTML doesn't save, it doesn't write, and it doesn't easily save out to anything else. All of that is normally done on the server, not the client. The client is pretty much locked down when you use the browser and client side scripting.

 

by: meaculpa1113Posted on 2003-08-14 at 13:39:59ID: 9149907

I just pasted ur code EXACTLY into notepad and created a new html file.  i entered values and clicked on submit, got that infamous yellow triangle on the bottom left of my screen indicating i have some kind of an error.

this is the error, it it helps, "Error: Automation server cant create object" Line 12, Char 1

Now, i dont know enough to comment on the objects utilized in this, but for me, it should work on no matter which computer i m using, and i shud't need to download n e thin from the internet.  But, if there is one patch that cud be distributed freely with the CD that would make this all work, i m willing to do that.

in response to webwoman's recent reply.  yes i cud easily do it in java, hte only reason i haven't done it is becauase there shud b an easier way for somethin this simple then to have to go down to java.

pls lemme know wat u guys think abt it.

again,
ur help is MUCH appreciated.
THANK YOU SO MUCH.. :)

 

by: webwomanPosted on 2003-08-14 at 15:56:04ID: 9150797

>>this is the error, it it helps, "Error: Automation server cant create object" Line 12, Char 1

FSO normally runs on the SERVER. Not the client. Browsers don't understand the command.

Like I said, on the CLIENT, you don't have a way to create a text file. Browsers are VERY restricted in what they allow. You have NO access to the user's system -- you can't read files, you can't write files, you can't save anything, you can't RUN anything. Good thing too -- think what horrid things could happen to your system if any web page could read your hard drive, write over your files, and run programs.

Since you know java, you've got an advantage -- you should use it. Since you know you could do it in java, that's obviously the way to go. ;-)

 

by: EsopoPosted on 2003-08-14 at 16:42:38ID: 9150997


>>>FSO normally runs on the SERVER. Not the client. Browsers don't understand the command.
Like I said, on the CLIENT, you don't have a way to create a text file. <<<

The filesystemobject is common to IE. Given your system was properly installed (normally) and your security level allows it (not common) you could use the filesystemobject to create, read and write files on the user's hard disk through client-side scripting. I would personally not recommend this approach unless it´s on a very controlled environment were you can be certain the user´s IE will allow it and the user himself wont be alarmed by security messages.

A couple of ideas:
- What about cookies?
- What about a secondary software (created by you) that asks for the header, shows a menu and creates the files to display (through IE) based on the original file and the new header.
- Or, do something original in Java.

Good luck,

Esopo.

 

by: meaculpa1113Posted on 2003-08-15 at 06:52:50ID: 9158412

I live in NY, so yea.. we had a blackout yesterday (and still do in many parts) so couldn't get bak to u guys yest.  In response to webwoman:

Thank you for ur replies.  I probably will have to stoop down to java at this point.  i guess i'll wait for a few more, to c if n e others ideas are posted. (dont get me wrong.. when u say that i shudn't use html for this purpose, i really do appreciate ur comment).. oh and btw.. one more thing. i have been a java programmer for 2 yrs now.. so cud program anything, but its usually in a controlled environment, and have usually done it supported on servers.   if i were to do it in this application how wud it work out as far as integrating it on a cd is concerned?  i cud easily write a program that collects info and writes it out to a file.  but then wat? make an applet? (never made an applet so far actually, but know that it isn't all that diff from an application).   and how wud the program run?  when the user clicks on something, what actually wud open up, an ie window?  thank you.

Esopo:
I was actually working on cookies, and succeeded to a great extent.  but then, is that reliable source?  what if someone decides to delete all the cookies?  then wat happens? for that temporary lapse everytime they print out a document, it wouldn't have anything on it, would it? (pls correct me if i m wrong, as i have said b4, i am a newbie in web development, and wudn't b surprised if some of my ideas, dont make any sense at all)
as for ur second idea, a software creation.. as far as i interpret it, wudn't the user have to enter the information everytime they want to print a document?

 

by: samarth13Posted on 2003-08-15 at 07:19:20ID: 9158791

try this.. if u wanna store less than 64k data..

<html>
<head>
<title>Userdata</title>

<style type="text/css">
  .userData { behavior:url(#default#userdata); }
</style>

</head>
<body>

Instructions:  Click inside the black box and enter some new text.<br>
Save this data with the <i>Put Data</i> button.<br>
Then reload, close down IE, reboot, whatever.  Return to this page.
Restore the saved data with the <i>Get Data</i> button.
<br><br>

<span class="userData" style="border: thin solid black"
      contenteditable="true" id="spnUserData">
What's new pussycat?
</span>

<br><br>
<button
    onclick='putUserData(spnUserData,"myData","myText",spnUserData.innerText)'
    id='btnPut'><i>Put Data</i></button>
<br>
<button
    onclick='spnUserData.innerText=getUserData(spnUserData,"myData","myText")'
    id='btnGet'><i>Get Data</i></button>

<script language="javascript">
function putUserData(oUD,sUDName,sName,sVal) {
  oUD.setAttribute(sName,sVal);
  oUD.save(sUDName);
  return;
}

function getUserData(oUD,sUDName,sName) {
  oUD.load(sUDName);
  return oUD.getAttribute(sName);
}
</script>

</body>
</html>

 

by: webwomanPosted on 2003-08-15 at 10:07:25ID: 9161121

And how does that work? I don't see where the data is saved anywhere.

 

by: meaculpa1113Posted on 2003-08-15 at 11:43:12ID: 9161767

webwoman, can you pls clarify my question on java posted earlier?  i'm probably going to go ahead and do it in java..

thank you..

 

by: EsopoPosted on 2003-08-15 at 14:21:18ID: 9162891


About cookies:
Cookies are as reliable as everything else on the client side. You can only do your best to try and cover all of the posibilities but at the end you user will always be able to damage something. I think cookies are a very easy and functional way to go if you have small amounts of info to store and the information can be reentered in case of losing it.

If the user deletes all the cookies or anything else happens you can always ask for the info to be reentered with a "please don't play with the config" message. Of course this isn't as nice as we would want it to be, but that's the price to pay for keeping it simple, in this case, very simple.


About an interface software:
I was thinking, you said you have say 100 forms. As I get it this forms have some sort of repetitive header bases on similar information. Perhaps you could have some software that asks for the info before starting for the first time, store that info and serve as an interface for the user to select the form he wishes to display. Whe the user selects a form this software creates a temporary file with the header info (html of course) and the usual template html form and then display this temporary file either on IE directly or on a personalized browser that comes with the software (made by you) giving the effect you wanted of having the form with the header info previously entered. Remember this is just a suggestion not necesarily a reasonable way to go.

Best regards,

Esopo

 

by: BillDLPosted on 2003-08-15 at 16:20:21ID: 9163527

I hope that you don't mind my sentiments about the procedures that are being asked or suggested here.

Personally, I feel that any distributable CD's should be completely self-contained and should not make any assumptions about the host PC's capabilities apart from the fact that it is  Windows-based operating system (if that is what it is being aimed at), has hardware sound output (if that is to be an option), and has graphics rendition within parameters prevalent on most fairly recent systems (ie. can safely assume that 800 x 600 is standard).

Perhaps it would also be fair to assume that the host PC a file association capable of displaying .txt files in Notepad or other application.  The point being that any Readme.txt file will be capable of being read and printed regardless of whether full functionality is achieved.

Although Internet Explorer IS included on most computers, you cannot know in advance whether this is set as the default browser on the host PC.  It is entirely possible that the user may be using Mozilla, Netscape, or any number other browser - some of which may not support anything but strict HTML encoding.

My opinion is that file types such as .doc, .pps/.ppt, .pdf, image files, audio files, and movie files should all be rendered to the user through viewers contained on the CD and should not rely on the host PC's file associations.

To this end, the following viewers can all be forced to display the relevant file types using the respective applications:

.doc - Microsoft Word Viewer
.pps/ppt - Microsoft PowerPoint Viewer
.pdf - Adobe Acrobat Reader's core viewer files (licence details should be observed)
.jpg/.gif, etc - Example i_view32.exe (Irfanview) is an excellent multi-format image file viewer
.wav/mp3/etc - Irfanview's multimedia plugin
.mpeg, etc - Irfanview's multimedia plugins

All of the above applications support command switches that are well documented in their readme files and, although corporate use for profit using some of them requires payment or registration, the fees are fairly small when compared to the impact created by a professionally prepared autorun CD that doesn't mess up the user's system or become invasive.

Any Visual basic runtime files required by an application on the CD should also be placed in that application's program folder on the CD to save this potential pitfall.

a) I have seen numerous problems on some of the best looking corporate distributions when they have been written to use JavaScript and the host system has JavaScript disabled.
b) Applications like Norton AntiVirus has "Script Blocking" set as default, and can impede functionality.
c) Windows Scripting Host is not installed by default in Windows 98, etc, so you cannot (and should not) rely on its presence to run scripts on a host PC.
d) I can't stand cookies being randomly dropped onto my system and, like many others, I don't accept cookies.
e) I generally do not appreciate applications that feel that they have to write to my registry to work and, with a handful of exceptions, I see this as unnecessary invasion even if you warn the user.
f) The last thing I want to have to do is allow something to copy the entire contents of the CD to my hard drive when it should be kept as a CD Resource only.  Let the user decide whether they would want this, but by all means provide the option to "save the contents to hard drive".

So, where does this leave you with your problem?
Here's my suggestions.  I know that they don't answer your immediate problem, but it works for me.

Design a Menu Interface that autoruns at startup and then allows the passing of commands to open specific documents or files in the appropriate application contained on the CD by means of image or textual links.

Create one that runs in Kiosk Mode, full-screen, maximised, or however you feel that it would best serve the end-user, and customise the layout to resemble a web-page if that is the overall feel that you want to impart. Where autorun has been disabled on the host PC, provide the necessary instruction to run the menu on the inlay sleeve or CD's Face Sticker.

I can recommend "AutoPlay Menu Studio" by Indigo Rose Corporation as a menu front-end, because its creation and also end-use are very intuitive and well worth the money to allow you to distribute on corporate CD's according to the vendor' licensing restrictions.  There are, however, many other applications that aren't as fully featured but may fit the bill for your own uses.

I am currently investigating a number of html browsers that run without requiring any of the elements of Internet Explorer or other installed browsers.  I haven't paid any money for a full version yet, but have found the following that I can use quite freely in a NON-corporate distribution for zilch.  Use in multiple distributions entails a different licensing structure, but that's a moral (as well as legal) issue that I don't want to get into.

The company FAICO International has a few fairly similar browsers:

NavRoad Offline HTML Browser v6.00

http://www.faico.net/navroad/
http://www.faico.com/navroad/nr_setup.exe 680KB
http://www.faico.com/navroad/nr32.zip 650KB
http://www.faico.net/navroad/usrguide.htm

Likse:

I can't see too many differences between NavRoad and Likse

http://www.faico.net/likse/

Notably, NavRoad and Likse have the following extras:
"A range of preset printing options, include Page Margin, Footer / Header, Page Break, Page Numbering, Datetimestamp" OR you can insert your own in the "Page Setup" menu option".

The details are stored in the program's .ini file in the same folder on the CD as the program and, although the text will be "fixed" due to its "Read Only" attribute, it can be altered during runtime by the user prior to printing.

OEM_Browser

http://www.oembrowser.com/

OemBrowser User manual
http://www.oembrowser.com/help/
Download a free trial version
http://www.oembrowser.com/obrsetup.exe
Registration
http://www.oembrowser.com/reginfo.htm

There are many others that don't support cusomising headers and footers, which is really your question, but are excellent HTML browsers worthy of consideration at other times.

http://207.201.187.144/htmlviewers.html

The ThtmlLite Browser program is also included in the downloadable package and can be isolated as a standalone HTML browser (including its own support files). It is built using Delphi 7.

One application that stands head and shoulders above anything else I have used, is HTML Executable.

http://www.gdgsoft.com/htmlexe/

The whole concept is that you use a wizard-type interface to compile an executable from your existing offline "web", and can pack the integral viewer into it.  It can create a highly customised self-running executable that can be called from a CD Menu interface and unpacks almost instantaneously.  Unfortunately, it doesn't address your original query about allowing the user to add extra print options.  The crux of your question is that I don't know just how many end-users you intend distributing the CD's to, nor if you will actually know who the end-users will be.  It would be quite simple to use a "search and replace" macro to add specific and individual printable headers and/or footers to all your web pages before committing each to CD on an individual basis, but any distribution larger than about 20 a day would make this a bit of a nuisance.

It would also be important to know whether your web pages are fairly simple text and linked image affairs, or complex form-based creations, because some of the aforementioned don't support some features we have grown used to over the internet.

These are just some alternatives that I thought you might like to consider, and I don't want to stand on anybody's toes in so doing.  I know that you will be provided by a number of excellent suggestions concerning your immediate problem.

Of course, in combination with a menu interface (although I would be hesitant to use this approach) you could run a script or batch file to blend new settings into the registry.  You could do this from the menu interface or from one of the above browsers running from the CD, and with the user's consent, (because some of them are able to run executables directly from a link) to create a backup.reg file on the host's computer, then alter the following values in the host's registry.  Another script or batch file could easily restore the registry on exit:

Relevant Registry keys:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup
or
HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer\PageSetup

Default values:

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup]
"header"="&w&bPage &p of &P"
"footer"="&u&b&d"
"margin_bottom"="0.750000"
"margin_left"="0.750000"
"margin_right"="0.750000"
"margin_top"="0.750000"

Where:

&w = Window title
&u = Page address (URL)
&d = Date (short format as specified by Ctrl Panel > Regional Settings)
&D = Date as above but in long format
&t = Time (in format specified by Ctrl Panel > Regional Settings)
&T = Time in 24-hour format
&p = Current page number
&P = Total number of pages
&b = Centered text (following &b)
&b&b = Right-aligned text (following &b&b)
&& = A single ampersand (&)

Of course, as we all know, this directly reflects the settings in Internet Explorer's "File > Page Setup" menu option under the Header and Footer fields where the variables can be combined with text (eg. Page &p of &P).

It would be easy enough to compile an executable using something simple like C which would create basic .REG file, then concatenate strings (input at prompts/fields by the user) into it.  The executable could be called from a CD Menu at the very outset (a button link - "Custom Print Settings"), by reading input as strings and then writing them to the .reg file along with any other variables for alignment, the .reg script could be written to the registry for the duration of the session. eg. this type of pseudocode (obviously it is preferable to use 32-bit Code to create a dialogue):

/* Backup Registry as restore file */
SYSTEM regedit /e  C:\IEprnt.reg  HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup

/* new file to concatenate as a reg script */
CREATE_FILE  "C:\usrprnt.reg"
WRITE_TO_FILE  "C:\usrprnt.reg"  >>  "REGEDIT 4\n\n"
WRITE_TO_FILE  "C:\usrprnt.reg"  >>  "[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\PageSetup]\n"

DISPLAY  "Enter details to appear as Header Center... "
READ_IN_STRING  %s, Center_Header
/* blah, blah */

WRITE_TO_FILE  "C:\usrprnt.reg" >> "/"header/"=/Center_Header/&b/""
/* blah, blah */

CLOSE_FILE  "C:\usrprnt.reg"

/* Blend reg script into registry key silently */
SYSTEM  regedit /s  C:\usrprnt.reg

You could create an exit sequence from the menu (as well as a button link "Restore print Settings") where it restores the registry to default.

SYSTEM regedit /s  C:\IEprnt.reg

 

by: BillDLPosted on 2003-08-15 at 16:24:09ID: 9163545

Sorry that was so long, I'm in the process of compiling notes for somebody else in relation to this, and thought that it might be useful info.  It's hard to estimate when it's sitting there in Notepad :-)

 

by: webwomanPosted on 2003-08-15 at 20:39:22ID: 9164274

Don't apologize for the length, you covered a lot. It was very comprehensive and useful.

You addressed the biggest concern -- when you use the browser as your interface, you have to make sure your CD works for ALL browsers. This means you have to test, test, test, test and it limits what you can do, because few options exist on ALL browsers.

Cookies could work, BUT not everyone will accept them and they are very limited.

You could use a form/textarea, but there's no way to save that. The user would have to copy/paste it into some other app and save it.

Could you create a self-contained, installable app in java? Then you can have whatever interface you want, and give the user the option to save whatever they need to. Not an applet, that's stuck in the browser sandbox, and doesn't have any way to get outside of it.

But definitely check the resources listed in BillDL's post -- you should be able to get some ideas there.

 

by: BillDLPosted on 2003-08-15 at 21:38:10ID: 9164463

webwoman, thanks.  I got a fright when I saw the length of the posting.  Some of mine are long, but that's beyond my usual.  At least it was all types purposefully - no copy and pasting there :-)

If I knew anything about Java I would definitely agree with you, but I know nothing at all about it, so my agreement would be totally unqualified.

meaculpa1113.  The next time you install a standard PCI "brown-box" modem with an Ambient/Intel or NetoDragon chip bought as a retail pack, and run the CD (usually branded "Mentor" with a butterfly logo) to install the drivers, you will see the most badly compiled example of a browser autorun Menu I have seen.  Unfortunately it looks to me like it was definitely compiled using "Autorun Menu Studio".  That's the type of thing that puts folks off, and there's no excuse from a corporate source.

I did better within the first 15 minutes of use it is so easy to use.  I liked it so much that I paid for the full package (£35 - a bargain).

 

by: samarth13Posted on 2003-08-16 at 09:50:54ID: 9165962

you could store all the data in a cookie on the users comp.. in the case that they might delete the cookies frm drive, u could also redirecty a new setup page that will ask them to re-enter the information.

here is the code..

<html>
 <head>
  <title>
   Setup Page
  </title>
  <script>
   function createCookie(name,value,days) {
    if (days) {
     var date = new Date();
     date.setTime(date.getTime()+(days*24*60*60*1000));
     var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
   }
   function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
     for(var i=0;i < ca.length;i++) {
     var c = ca[i];
     while (c.charAt(0)==' ') c = c.substring(1,c.length);
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
   }
   function eraseCookie(name) {
    createCookie(name,"",-1);
   }
   function saveInfo(){
    for(var temp=1;temp<6;temp++){
     createCookie("info"+temp,document.getElementById('i'+temp).value,"365")
    }
    if(readCookie("info1")==null||readCookie("info2")==null||readCookie("info3")==null||readCookie("info4")==null||readCookie("info5")==null){
     alert("None/Some of your details have not been entered")
    }
    else {
     alert("Thankyou, your details are now stored on this system for 365 days!")
    }
   }
   function deleteInfo(){
    for(var temp=1;temp<6;temp++){
     eraseCookie("info"+temp)
     document.getElementById('i'+temp).value=""
    }
   }
   function loadInfo(){
    for(var temp=1;temp<6;temp++){
     if(readCookie("info"+temp)!=null){
      document.getElementById('i'+temp).value=readCookie("info"+temp)
     }
    }
   }
  </script>
 </head>
 <body onLoad="loadInfo()" bgColor="#99ccff">
  <center>
   <h1>Setup Page</h1>
   <table>
    <tr>
     <td align="right">
      Name:
     </td>
     <td align="left">
      <input id="i1" value="">
     </td>
    </tr>
    <tr>
     <td align="right">
      Address 1:
     </td>
     <td align="left">
      <input id="i2" value="">
     </td>
    </tr>
    <tr>
     <td align="right">
      Address 2:
     </td>
     <td align="left">
      <input id="i3" value="">
     </td>
    </tr>
    <tr>
     <td align="right">
      Address 3:
     </td>
     <td align="left">
      <input id="i4" value="">
     </td>
    </tr>
    <tr>
     <td align="right">
      Telephone:
     </td>
     <td align="left">
      <input id="i5" value="">
     </td>
    </tr>
   </table>
   <p>
   <input type="button" value="Save Information" onClick="saveInfo()">
   <p>
   <input type="button" value="Delete All Information" onClick="deleteInfo()">
  </center>
 </body>
</html>
--------------------------------------------------------------------------------


and...


code:--------------------------------------------------------------------------------
<html>
 <head>
  <title>
   User Page
  </title>
  <script>
   function createCookie(name,value,days) {
    if (days) {
     var date = new Date();
     date.setTime(date.getTime()+(days*24*60*60*1000));
     var expires = "; expires="+date.toGMTString();
    }
    else var expires = "";
    document.cookie = name+"="+value+expires+"; path=/";
   }
   function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
     for(var i=0;i < ca.length;i++) {
     var c = ca[i];
     while (c.charAt(0)==' ') c = c.substring(1,c.length);
     if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
   }
   function pageLoad(){
    if(readCookie("info1")==null||readCookie("info2")==null||readCookie("info3")==null||readCookie("info4")==null||readCookie("info5")==null){
     alert("None/Some of your details are not on this system, diverting to SETUP page")
     location.replace("setup.htm")
    }
    document.getElementById("pName").innerHTML="<font size='2'>" + readCookie("info1") + "</font>";
    document.getElementById("pAddress1").innerHTML="<font size='2'>" + readCookie("info2") + "</font>";
    document.getElementById("pAddress2").innerHTML="<font size='2'>" + readCookie("info3") + "</font>";
    document.getElementById("pAddress3").innerHTML="<font size='2'>" + readCookie("info4") + "</font>";
    document.getElementById("pTelephone").innerHTML="<font size='2'>" + readCookie("info5") + "</font>";
   }
  </script>
 </head>
 <body onLoad="pageLoad()" bgColor="#99ccff">
  <h3>Contact Details</h3>
  <table cellpadding=0 cellspacing=0>
   <tr>
    <td id="pName">
    </td>
   </tr>
   <tr>
    <td id="pAddress1">
    </td>
   </tr>
   <tr>
    <td id="pAddress2">
    </td>
   </tr>
   <tr>
    <td id="pAddress3">
    </td>
   </tr>
   <tr>
    <td id="pTelephone">
    </td>
   </tr>
  </table>
 </body>
</html>

 

by: meaculpa1113Posted on 2003-08-17 at 16:07:34ID: 9170168

wow..! that sounds great..!!  i like the cookie idea.. it makes a lotta sense and its very easy to implement..  now, just out of curiosity.. does n e one out there have n e criticisms abt it..??  cuz i was abt to get started w/using java on this... but this seems a whole lot more efficient.. just hope that it doesn't have n e other sorta drawbacks on it..!!  pls lemme know samarth13...

and also, i was testing this code out w/one of my files.. and am having some problems implementing it.. the code above works perfectly fine the way it is.. but i m trying to integrate it into one of the files that i have, and cant get that done... so if someone can pls tell me wat i m doin wrong, i'd appreciate it..!!  Thank you for all ur help..!!  i m giving the code for my file below... ( i noe it looks long.. but pls.. if u cud jsut make a quik html file out of it, and test it w/the code above)




<html xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:w="urn:schemas-microsoft-com:office:word"
xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882"
xmlns="http://www.w3.org/TR/REC-html40">


<head>

<meta http-equiv=Content-Type content="text/html; charset=windows-1252">
<meta name=ProgId content=Word.Document>
<meta name=Generator content="Microsoft Word 10">
<meta name=Originator content="Microsoft Word 10">



<link rel=File-List
href="Chinese%20-%20Testing%20Times%2007-2003_files/filelist.xml">
<title>Testing Times</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author> </o:Author>
  <o:Template>Normal</o:Template>
  <o:LastAuthor> </o:LastAuthor>
  <o:Revision>2</o:Revision>
  <o:TotalTime>0</o:TotalTime>
  <o:LastPrinted>2003-07-21T16:20:00Z</o:LastPrinted>
  <o:Created>2003-08-16T20:38:00Z</o:Created>
  <o:LastSaved>2003-08-16T20:38:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>177</o:Words>
  <o:Characters>1014</o:Characters>
  <o:Company> </o:Company>
  <o:Lines>8</o:Lines>
  <o:Paragraphs>2</o:Paragraphs>
  <o:CharactersWithSpaces>1189</o:CharactersWithSpaces>
  <o:Version>10.2625</o:Version>
 </o:DocumentProperties>
 <o:CustomDocumentProperties>
  <o:_AdHocReviewCycleID dt:dt="float">-1558205397</o:_AdHocReviewCycleID>
  <o:_EmailSubject dt:dt="string">minor edits</o:_EmailSubject>
  <o:_AuthorEmail dt:dt="string">mtanjohnson@cacf.org</o:_AuthorEmail>
  <o:_AuthorEmailDisplayName dt:dt="string">marian tan johnson</o:_AuthorEmailDisplayName>
  <o:_PreviousAdHocReviewCycleID dt:dt="float">1211494929</o:_PreviousAdHocReviewCycleID>
  <o:_ReviewingToolsShownOnce dt:dt="string"></o:_ReviewingToolsShownOnce>
 </o:CustomDocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:DoNotHyphenateCaps/>
  <w:PunctuationKerning/>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
      {font-family:SimSun;
      panose-1:2 1 6 0 3 1 1 1 1 1;
      mso-font-alt:SimSun;
      mso-font-charset:134;
      mso-generic-font-family:auto;
      mso-font-pitch:variable;
      mso-font-signature:3 135135232 16 0 262145 0;}
@font-face
      {font-family:MingLiU;
      panose-1:2 1 6 9 0 1 1 1 1 1;
      mso-font-alt:"Arial Unicode MS";
      mso-font-charset:136;
      mso-generic-font-family:modern;
      mso-font-format:other;
      mso-font-pitch:fixed;
      mso-font-signature:1 134742016 16 0 1048576 0;}
@font-face
      {font-family:Tahoma;
      panose-1:2 11 6 4 3 5 4 4 2 4;
      mso-font-charset:0;
      mso-generic-font-family:swiss;
      mso-font-pitch:variable;
      mso-font-signature:553679495 -2147483648 8 0 66047 0;}
@font-face
      {font-family:"\@MingLiU";
      panose-1:0 0 0 0 0 0 0 0 0 0;
      mso-font-charset:136;
      mso-generic-font-family:modern;
      mso-font-format:other;
      mso-font-pitch:fixed;
      mso-font-signature:1 134742016 16 0 1048576 0;}
@font-face
      {font-family:"\@SimSun";
      panose-1:2 1 6 0 3 1 1 1 1 1;
      mso-font-charset:134;
      mso-generic-font-family:auto;
      mso-font-pitch:variable;
      mso-font-signature:3 135135232 16 0 262145 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
      {mso-style-parent:"";
      margin:0in;
      margin-bottom:.0001pt;
      mso-pagination:widow-orphan;
      font-size:12.0pt;
      font-family:"Times New Roman";
      mso-fareast-font-family:SimSun;
      mso-fareast-language:ZH-CN;}
@page Section1
      {size:8.5in 11.0in;
      margin:.7in 1.0in .5in 1.0in;
      mso-header-margin:.5in;
      mso-footer-margin:.5in;
      mso-paper-source:0;}
div.Section1
      {page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
      {mso-style-name:"Table Normal";
      mso-tstyle-rowband-size:0;
      mso-tstyle-colband-size:0;
      mso-style-noshow:yes;
      mso-style-parent:"";
      mso-padding-alt:0in 5.4pt 0in 5.4pt;
      mso-para-margin:0in;
      mso-para-margin-bottom:.0001pt;
      mso-pagination:widow-orphan;
      font-size:10.0pt;
      font-family:"Times New Roman";}
</style>
<![endif]-->
</head>

<body lang=EN-US style='tab-interval:.5in'>

<div class=Section1>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><b><span
lang=ZH-TW style='font-size:14.0pt;font-family:MingLiU;mso-ascii-font-family:
"Times New

Roman";mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#32771;&#35430;&#30340;&#26178;&#38291;&#65292;&#32771;&#395

11;&#30340;&#26178;&#21051;</span></b><b><span
style='font-size:14.0pt;mso-fareast-font-family:MingLiU;mso-fareast-language:
ZH-TW'><o:p></o:p></span></b></p>

<p class=MsoNormal align=right style='text-align:right;mso-layout-grid-align:
none;text-autospace:none'><span style='mso-fareast-font-family:MingLiU;
mso-fareast-language:ZH-TW'>(</span><span lang=ZH-TW style='font-family:MingLiU;
mso-ascii-font-family:"Times New Roman";mso-bidi-font-family:MingLiU;
mso-fareast-language:ZH-TW'>&#20126;&#35028;&#20818;&#31461;&#33287;&#23478;&#24237;&#32879;&#30431;</span><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:Arial;mso-hansi-font-family:
Arial;mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#39015;&#21839;</span><span
style='font-family:Arial;mso-fareast-font-family:MingLiU;mso-fareast-language:
ZH-TW'>) </span><span lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:
"Times New Roman";mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#40848;&#38642;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><span
style='mso-spacerun:yes'>  </span></span><span lang=ZH-TW style='font-family:
MingLiU;mso-ascii-font-family:Arial;mso-hansi-font-family:Arial;mso-bidi-font-family:
MingLiU;mso-fareast-language:ZH-TW'>&#25776;</span><span style='mso-fareast-font-family:
MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#26368;&#36817;&#65292;&#19968;&#21517;&#23567;&#23416;&#29983;&#25

343;&#21040;&#33258;&#24049;&#30340;&#25104;&#32318;&#21934;&#26178;&#65292;&#26377;&#20154;&#32893;&#21040;&#22905;&#35498;“

&#25105;&#19981;&#24819;&#27963;&#19979;&#21435;&#20102;&#65282;&#12290;&#36889;&#26159;&#19968;&#21517;&#33775;&#35028;&#234

16;&#29983;&#65292;&#22905;&#27794;&#26377;&#32771;&#20986;&#26368;&#22909;&#30340;&#25104;&#32318;&#65292;&#25812;&#24515;&#

29238;&#27597;&#30475;&#21040;&#25104;&#32318;&#21934;&#24460;&#26371;&#26377;&#24590;&#40636;&#27171;&#30340;&#21453;&#25033

;&#12290;&#36889;&#26159;&#20126;&#35028;&#32654;&#22283;&#20154;&#38754;&#23565;&#33879;&#30340;&#20107;&#23526;&#12290;&#26

368;&#36817;&#30340;&#32113;&#35336;&#25976;&#25818;&#39023;&#31034;&#65292;&#20126;&#35028;&#22899;&#24615;&#26159;&#20840;&

#32654;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'>15</span><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#33267;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'>24</span><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#27506;&#22899;&#24615;&#20013;&#33258;&#27578;&#29575;&#26368;&#39

640;&#30340;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#27599;&#21040;&#23416;&#26399;&#32080;&#26463;&#65292;&#33775;&#35

028;&#23416;&#29983;&#21644;&#29238;&#27597;&#37117;&#26371;&#24863;&#21463;&#21040;&#24040;&#22823;&#22739;&#21147;&#12290;&

#20182;&#20497;&#28966;&#24613;&#22320;&#31561;&#24453;&#33879;&#32771;&#35430;&#32080;&#26524;&#21644;&#25104;&#32318;&#2257

7;&#21578;&#21934;&#12290;&#26377;&#20123;&#23416;&#29983;&#21487;&#33021;&#22240;&#28858;&#19968;&#20123;&#35506;&#31243;&#1

9981;&#21512;&#26684;&#32780;&#38656;&#35201;&#21443;&#21152;&#26257;&#26399;&#29677;&#65292;&#24478;&#32780;&#21152;&#21127;

&#20102;&#29238;&#27597;&#21644;&#23401;&#23376;&#20043;&#38291;&#30340;&#32202;&#24373;&#24773;&#32210;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><span
style='mso-spacerun:yes'> </span><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#23565;&#33775;&#35028;&#29238;&#27597;&#20358;&#35498;&#65292;“&#2

6395;&#23376;&#25104;&#40845;&#65292;&#26395;&#22899;&#25104;&#40179;”&#26159;&#24456;&#33258;&#28982;&#30340;&#20107;&#12290

;&#29234;&#20102;&#23401;&#23376;&#33021;&#25509;&#21463;&#33391;&#22909;&#30340;&#25945;&#32946;&#21644;&#24471;&#21040;&#24

314;&#31435;&#32654;&#28415;&#29983;&#27963;&#30340;&#27231;&#26371;&#65292;&#29238;&#27597;&#36763;&#33510;&#24037;&#20316;&

#65292;&#29234;&#23401;&#23376;&#20570;&#20986;&#20102;&#35377;&#22810;&#29351;&#29298;&#12290;&#20294;&#25105;&#20497;&#3034

0;&#25991;&#21270;&#36890;&#24120;&#19981;&#40723;&#21237;&#23478;&#38263;&#21435;&#34920;&#25562;&#23401;&#23376;&#12290;&#2

5105;&#20497;&#25812;&#24515;&#34920;&#25562;&#26371;&#35731;&#23401;&#23376;&#24863;&#21040;&#24471;&#24847;&#33258;&#28415;

&#12289;&#26371;&#35731;&#20182;&#20497;&#35722;&#24471;&#25078;&#24816;&#12290;&#19968;&#20123;&#29238;&#27597;&#30456;&#204

49;&#65292;&#21482;&#26377;&#22312;&#24375;&#22823;&#30340;&#22739;&#21147;&#20043;&#19979;&#65292;&#23401;&#23376;&#25165;&#

26371;&#35722;&#24471;&#20778;&#31168;&#12290;&#20294;&#29238;&#27597;&#26399;&#26395;&#23401;&#23376;&#25104;&#21151;&#30340

;&#22739;&#21147;&#65292;&#26377;&#26178;&#20063;&#26371;&#23565;&#23401;&#23376;&#36896;&#25104;&#25171;&#25802;&#12290;</sp

an><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#35377;&#22810;&#33775;&#35028;&#23401;&#23376;&#20197;&#29234;&#23

478;&#38263;&#21482;&#38364;&#24515;&#33258;&#24049;&#30340;&#23416;&#32722;&#34920;&#29694;&#12290;&#21516;&#26178;&#65292;&

#20182;&#20497;&#23475;&#24597;&#35731;&#29238;&#27597;&#22833;&#26395;&#12290;&#19968;&#20123;&#23401;&#23376;&#30456;&#2044

9;&#65292;&#19981;&#31649;&#20182;&#20497;&#24590;&#27171;&#21162;&#21147;&#65292;&#37117;&#27794;&#26377;&#36774;&#27861;&#3

5731;&#29238;&#27597;&#38283;&#24515;&#12290;&#33775;&#35028;&#23401;&#23376;&#19968;&#33324;&#21482;&#25226;“&#22909;&#28040

;&#24687;”&#21578;&#35380;&#29238;&#27597;&#12290;&#29234;&#20102;&#29238;&#27597;&#22909;&#65292;&#20182;&#20497;&#19981;&#2

6371;&#35527;&#35542;&#33258;&#24049;&#22312;&#23416;&#26657;&#35023;&#21463;&#21040;&#27450;&#20940;&#65292;&#25110;&#32773;

&#33258;&#24049;&#20173;&#28982;&#22312;&#29234;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'>9/11</span><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#20107;&#20214;&#25812;&#24962;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'>9/11</span><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#20107;&#20214;&#30340;&#38512;&#24433;&#20173;&#28982;&#27544;&#30

041;&#22312;&#32016;&#32004;&#30340;&#23401;&#23376;&#30340;&#33126;&#28023;&#20013;&#65292;&#20182;&#20497;&#21487;&#33021;&

#26371;&#20570;&#24801;&#22818;&#65292;&#23416;&#32722;&#25104;&#32318;&#19979;&#38477;&#65292;&#23475;&#24597;&#36996;&#2637

1;&#26377;&#19979;&#19968;&#27425;&#35186;&#25802;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#24456;&#22810;&#33775;&#35028;&#23401;&#23376;&#25215;&#21463;&#33

879;&#26997;&#22823;&#30340;&#22739;&#21147;&#12290;&#20182;&#20497;&#29234;&#33258;&#24049;&#30340;&#34920;&#29694;&#32780;&

#25812;&#24515;&#65292;&#25110;&#32773;&#19968;&#30452;&#36942;&#24230;&#24962;&#24942;&#12290;&#20182;&#20497;&#19981;&#3302

1;&#38598;&#20013;&#31934;&#21147;&#12289;&#19981;&#33021;&#20837;&#30561;&#12290;&#19968;&#20123;&#23401;&#23376;&#29978;&#3

3267;&#26371;&#28346;&#35109;&#12290;&#35377;&#22810;&#23401;&#23376;&#33258;&#25105;&#35413;&#20729;&#20302;&#65292;&#24863;

&#21040;&#28961;&#21161;&#12290;&#21478;&#22806;&#19968;&#20123;&#23401;&#23376;&#26371;&#36890;&#36942;&#34892;&#29234;&#349

20;&#29694;&#20986;&#20358;&#65292;&#22312;&#19968;&#20123;&#26997;&#31471;&#30340;&#24773;&#27841;&#19979;&#65292;&#23601;&#

22914;&#25105;&#20497;&#22312;&#25991;&#31456;&#38283;&#38957;&#25552;&#21040;&#30340;&#65292;&#20182;&#20497;&#21487;&#33021

;&#26371;&#24819;&#21040;&#20663;&#23475;&#33258;&#24049;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#33775;&#35028;&#23401;&#23376;&#32147;&#24120;&#21521;&#32769;&#24

107;&#12289;&#36628;&#23566;&#21729;&#21644;&#26379;&#21451;&#25265;&#24616;&#65292;&#35498;&#22312;&#23416;&#26657;&#35023;&

#21574;&#20102;&#19968;&#25972;&#22825;&#20043;&#24460;&#65292;&#27794;&#26377;&#36275;&#22816;&#30340;&#26178;&#38291;&#2591

8;&#39686;&#33258;&#24049;&#12290;&#23478;&#38263;&#25226;&#21644;&#26379;&#21451;&#32842;&#22825;&#12289;&#32893;&#38899;&#2

7138;&#21644;&#30475;&#38651;&#35222;&#37117;&#30475;&#20316;&#28858;&#28010;&#36027;&#26178;&#38291;&#12290;&#24456;&#22810;

&#29238;&#27597;&#24076;&#26395;&#23401;&#23376;&#25226;&#26202;&#19978;&#30340;&#26178;&#38291;&#29992;&#22312;&#20570;&#203

16;&#26989;&#12289;&#38321;&#35712;&#21644;&#24489;&#32722;&#21151;&#35506;&#19978;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#23401;&#23376;&#38656;&#35201;&#24863;&#21040;&#34987;&#23562;&#37

325;&#12289;&#34987;&#27427;&#36062;&#65292;&#19981;&#21482;&#26159;&#22240;&#29234;&#33258;&#24049;&#33021;&#32771;&#39640;&

#20998;&#12290;&#24744;&#26377;&#24456;&#22810;&#20107;&#24773;&#21487;&#20197;&#20570;&#65292;&#20358;&#35731;&#23401;&#2337

6;&#24863;&#21463;&#21040;&#38364;&#25079;&#12289;&#28187;&#23569;&#24962;&#24942;&#12290;</span><span
lang=ZH-TW style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'> </span><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#32102;&#20182;&#20497;&#31309;&#26997;&#30340;&#21453;&#39243;&#21

644;&#40723;&#21237;&#12290;&#35731;&#23401;&#23376;&#30693;&#36947;&#65292;&#21363;&#20351;&#30070;&#20182;&#20497;&#30340;&

#25104;&#32318;&#19981;&#22909;&#26178;&#65292;&#20320;&#20173;&#28982;&#26159;&#24859;&#20182;&#20497;&#30340;&#12290;&#2923

8;&#27597;&#29992;&#19981;&#21516;&#30340;&#26041;&#27861;&#21521;&#23401;&#23376;&#34920;&#36948;&#20182;&#20497;&#30340;&#2

4859;&#12290;&#26377;&#30340;&#29238;&#27597;&#21487;&#20197;&#24456;&#33258;&#28982;&#22320;&#29992;&#35486;&#35328;&#34920;

&#36948;&#20986;&#20358;&#65292;&#26377;&#30340;&#25793;&#25265;&#23401;&#23376;&#65292;&#26377;&#30340;&#20570;&#23401;&#233

76;&#26368;&#21916;&#27489;&#21507;&#30340;&#33756;&#25110;&#24118;&#23401;&#23376;&#21040;&#39184;&#24307;&#21507;&#39151;&#

12290;&#21839;&#19968;&#20123;&#33287;&#20182;&#20497;&#30340;&#33288;&#36259;&#12289;&#24859;&#22909;&#26377;&#38364;&#30340

;&#21839;&#38988;&#12290;&#25226;&#21487;&#33021;&#22256;&#25854;&#20182;&#20497;&#30340;&#20107;&#24773;&#25214;&#20986;&#20

358;&#65292;&#20006;&#23563;&#25214;&#24171;&#21161;&#20182;&#20497;&#30340;&#36774;&#27861;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#30070;&#23401;&#23376;&#20497;&#24863;&#21463;&#21040;&#33258;&#24

049;&#25152;&#29105;&#24859;&#21644;&#25964;&#20329;&#30340;&#20154;&#30340;&#35469;&#21487;&#12289;&#25509;&#21463;&#21644;&

#25903;&#25588;&#26178;&#65292;&#20182;&#20497;&#23559;&#21487;&#20197;&#33537;&#22767;&#25104;&#38263;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'> <o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><span
style='mso-spacerun:yes'> </span><o:p></o:p></span></p>

<p class=MsoNormal style='mso-layout-grid-align:none;text-autospace:none'><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'>(</span><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#32034;&#21462;&#19968;&#20221;&#36039;&#28304;&#21015;&#34920;&#25

110;&#32773;&#20320;&#38656;&#35201;&#21644;&#20154;&#35527;&#19968;&#35527;&#33258;&#24049;&#30340;&#23401;&#23376;</span><s

pan
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'>)</span><span
lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:"Times New Roman";
mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#65292;&#35531;&#33268;&#38651;“</span><span
lang=ZH-TW style='font-family:MingLiU;mso-hansi-font-family:MingLiU;mso-bidi-font-family:
MingLiU;mso-fareast-language:ZH-TW'>&#24515;&#29702;&#23433;&#24247;&#19968;&#32218;&#29309;”&#29105;&#32218;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'>
877-990-8585</span><span lang=ZH-TW style='font-family:MingLiU;mso-ascii-font-family:
"Times New

Roman";mso-bidi-font-family:MingLiU;mso-fareast-language:ZH-TW'>&#65292;&#23563;&#27714;&#36914;&#19968;&#27493;&#25903;&#255

88;&#12290;</span><span
style='mso-fareast-font-family:MingLiU;mso-fareast-language:ZH-TW'><o:p></o:p></span></p>



</div>

</body>

</html>





 

by: webwomanPosted on 2003-08-17 at 16:36:18ID: 9170268

It's Word crap pseudo XML/XHTML. CRAP. REALLY CRAP. Totally non-standard, MIGHT look OK in IE, but even that is iffy.

If you want to go the cookie route (and it's definitely a workable way, provided they don't need to save much info), you CANNOT use any of that Office crap. There's so much extraneous junk in there you'll go totally insane trying to make anything work with it.

Use any decent HTML editor, or write your own HTML. But don't use Word, or ANY Office program. FrontPage you MIGHT be able to work with -- but you MUST work in HTML/code view, and you need to know how the cookie scripts work. Cookies are about the trickiest piece of javascript, and are limited to 4K of data, can have no formatting, and did I mention they're tricky? ;-)

You might find one of the tools BillDL mentioned easier... or even creating a full blown java app. ;-)

 

by: meaculpa1113Posted on 2003-08-17 at 18:21:50ID: 9170617

webwoman:  you had said earlier that not all browsers accept cookies.  i was wondering i'd include it on the FAQ's/README section asking them to enable cookies to utilize the CD (my target audience is small offices that for all real purposes dont use the computer at all).  is that a viable option?  or are there any other nuances associated with it?  and as for the code above.. yes this is office crap..
but actually i'll be using foreign language fonts in the documents.. those documents are actually going to be prepared by somebody else and are going to be sent to me, so i m not sure if they will be using embedded fonts and stuff like that.. so u think that will be a problem?

in relation to that.. lets say that i want to make an installation wizard for my CD.. setup.exe.. so when the user clicks on it, the installation wizard installs everything on the users computers (everything being all the files)... any ideas on that?

thx a lot webwoman (and everybody else who's been helping me out!).. it is much appreciated..!

 

by: BillDLPosted on 2003-08-18 at 08:51:10ID: 9174381

meaculpa1113.

I've been trying to work out a solution for you without using any of the fine suggestions above, but using the methods I am used to using.

One thing that I AM curious about, though, was brought to light in your last comment:

>>> "...my target audience is small offices that for all real purposes dont use the computer at all...i'll be using foreign language fonts in the documents.. those documents are actually going to be prepared by somebody else and are going to be sent to me".

Going back to your original question : "The CD has a bunch of HTML documents in it that will primarily be used for printing by the people who will be receiving the CD. The content on the documents is the same for everybody. But each person who gets a CD wants to have their name, address, phone #, and a couple of other lines of personal information populated on top of each document when they are printing it out".

Are you actually burning the CD's and do you know in advance how many CD's will be required for each office?

This is just to help me concentrate on the areas I have been thinking about, namely a self-contained and compressed "web" that unpacks and runs when accessed and can be customised remarkably easily.  It provides a completely idiot-proof interface that doesn't interfere with the system, can be password-protected, and doesn't require any resources from the host PC apart from memory.  Very professional, and the original "project file" allows you to build different versions within a couple of minutes, and tailor them to the audience.


 

by: meaculpa1113Posted on 2003-08-18 at 09:03:52ID: 9174465

yes.. my company will be burning the cd's.. for each customer, they wudn't require more than one cd, just because the office being so small and the use of it being so limited (printing customized documents).  besides that, to clarify further about the documents, they are in various languages (thas the whole purpose of the CD, to provide the companies w/the documents in various languages to support the ethnically diverse customer base).  

and just to point out, i've gotten samarth13's idea to work on a document in english.. (as per webwoman's suggestion, i wrote the html for it myself).. just dunno how the foreign language files will be worked out, because i m not sure how the person making them is going to do so... ( i cud influence their decision, if it makes my job easier in some particular way)..

dont know wat else can i clarify.. if you have any other questions, pls feel free to ask..

you help is much appreciated.. wow.. i cudn't imagine how i wud've gotten thru this w/o u guys!!  THANK YOU!

 

by: EsopoPosted on 2003-08-18 at 16:54:23ID: 9177465

A couple of suggestions:

About cookies and navigators:
Has it occur to you that your customers who lack constant use of computers might even not have a web navigator at all?, or as Webwoman suggested they might have something "cookieless". Perharps you could include in your distribution pack some navigator, it could be a nice solution for users that have disabled cookies, you simply install your own navigator and use it instead of the default one.

Also,
you said something very interesting about burning a particular CD for each customer... perhaps you could store some of the variable information on the CD before burning it, since you already know your customer and have a direct contact with him.

Regards,
Esopo.

 

by: webwomanPosted on 2003-08-18 at 17:09:52ID: 9177573

Foreign language support is going to be a bit tough. You can't embed fonts in HTML, though you can use a meta tag that looks for particular fonts and prompts if they're not there. I know somebody found a good script that checks language, it was posted somewhere on EE recently. You should be able to find it.

If you have Winzip, you may not need an installer. You can zip everything up, specify the directories you want to install to in the zip, make it a self-extracting EXE, and not only will it unzip when they double click on it, if the folders don't exist they'll be prompted to create them, and everything will go where you expect. Since it's an EXE, you can even set it in the autorun.inf, and it will just run when they insert the CD.

Yes, definitely let them know that cookies and javascript will be required for everything to work, and you can even do a check script that will read/write a cookie (which requires javascript) with a noscript tag so that if they don't have javascript they'll know before they try to do anything.

It's doable. The foreign languages might be a little tricky, but it's still doable. I would think you could safely assume that if somebody needed a particular language, they'd have an appropriate font.

The printing is the real sticking point -- how precise does the printing need to be? Forms don't print well, and HTML in general is not the most printer friendly thing in the world. If printing is a real issue, CSS can help -- but it's still far from exact. If you can be a little flexible in how things print, you'll have a much easier time.

 

by: BillDLPosted on 2003-08-18 at 18:59:06ID: 9178023

webwoman

Had you considered the Microsoft tool to assist with embedding of fonts: WEFT ?

I am not sure whether it would be possible from a distributable CD, because you would first have to prepare a "Project Folder" on your hard drive and the paths may not allow themselves to be specified as "relative paths".

I copied these url's a while back and never got around to trying this out, but the links are still live:

Microsoft WEFT 3 release notes
******************************
 
Microsoft Typography on the Web embedding fonts    

http://www.microsoft.com/typography/web/embedding/weft/default.htm

http://www.microsoft.com/typography/web/embedding/weft2/weftq.htm?fname=%20&fsize=
 
New WEFT Pages:
http://www.microsoft.com/typography/web/embedding/weft2/default.htm?fname=&fsize=

Old WEFT Pages:
http://www.microsoft.com/typography/web/embedding/weft/olddefault.htm?fname=&fsize=

Download London:
http://www.eu.microsoft.com/typography/downloads/weft3/weft3.exe

OR Microsoft.com:
http://www.microsoft.com/typography/downloads/weft3/weft3.exe

 

by: BillDLPosted on 2003-08-18 at 19:29:29ID: 9178161

Another alternative thought.  Whoever is preparing the documents for you will, presumably, be using the correct True Type fonts so that the documents will display properly, and will probably be doing so in anticipation that the host computer will have the respective font installed.

Office 2000 custom installation allows you to install with foreign language support.  Now, if you were to prepare the documents in PowerPoint, you have the option of "embedding true-type fonts".  Obviously Powerpoint supports hyperlinks and most other features that HTML supports.  PowerPoint 2000 allows you to "Save As a Web Page".  Now, what I am not sure about is whether the final .htm document has any means of supporting embedded fonts simply because I haven't had time to try it.  What I do note, however, is that you can opt to have the page created with support for IE 4.0 +,  Netscape and IE 3.0 +, or other support.  This would give a more universal support for a customer using Mozilla or something.

As I said, just a thought.  I know you have fairly well committed already to have somebody prepare the documents as HTML.

 

by: meaculpa1113Posted on 2003-08-18 at 19:52:17ID: 9178215

esopo:  yes.. i m going to include a free version of ie on the cd for the user.  thank you for ur comment.. abt storing variable info on the cd, i dont want them to use the cd over and over again.. use it once, install it, and for all real purposes throw it out!


webwoman:  that thing abt winzip was very helpfull.. i didn't know winzip had these capabilities.  so basically i'd zip up everything, and how do i make an EXE out of it? i guess i'll mess arnd w/winzip enaf to understand how to extract different data to different folders.  the reason y i asked u this is that, if i could do that, then i cud also install all the fonts that i'll be using in the windows/fonts directory, thus not having to worry abt the fonts too much.  abt printing, i m not too sure wat u mean when u say that 'if i be a bit flexible it mite help'.. the way i  m figuring things rite now is that i'll have a template which will store all the information, say in the header.. and then add all the data to it.  where will the problem arise in there?  and again, i m not well versed in browsers.. so lets say that somebody doesn't have javascript and cookies, now is that contingent upon the browser whether it supports this functionaliy or not, or is there anything else to it?  cuz i was thinking if it is the browser, i'd just provide them w/a copy of ie( i m pretty sure its distributable, correct me if i m wrong).  thank you webwoman


BillDL:  abt powerpoint, that is something beyond my control (well, i guess i cud influence that decision, in which case they'll prolly end up telling me, 'if u need it a certain way, just go ahead and do it urself, to suit ur needs'.. now i dont mind doin that, just as long as its worth it.. meaning, the solution that i had proposed of installing all the fonts on the users computer, do u think thas a better one?
and also, dont get me wrong, but when u said earlier that u were looking on some other solution.. would u mind talking abt it a bit at least?  thank you BillDL

again.. THANKS a LOT guys for alllllllll ur help.. u r the best!

thank you..

 

by: BillDLPosted on 2003-08-18 at 22:00:38ID: 9178640

meaculpa1113.  I was hesitant to clog up the flow of ideas all going in one general direction, but I see that I have already done that :-)

I have really been mulling over some by attempting to imagine it as if I had been given the task from the outset.  Sorry for seeming vague or secretive, it's just that I don't like to post an unfinished idea before at least testing it to some extent.  I suppose you could say that I don't like to be shot down or realise that I made a really dumb suggestion.

I can see your problem now with the process being outwith your control at this stage of play.  Thanks for the extra info.

I have 2 strong ideas right now, and will test them out tomorrow when I wake up.  I'm just off nightshift (in the UK it's 05.35) and I need to get a decent sleep where I get my best ideas :-)

Will post them tomorrow so that you can either consider or discount them.

Regarding distribution of Internet Explorer on CD:

http://www.microsoft.com/windows/ieak/license/samples/default.asp

Be mindful that most True Type Fonts are also subject to Royalties.  Double-Click on any Font file in C:\Windows\Fonts (or equivalent folder) and you will see the ownership details

eg. ARIEL.TTF

Arial (TrueType)
Typeface name: Arial
File size: 267 KB
Version: Version 2.76
Typeface - The Monotype Corporation plc.
Data - The Monotype Co

Distribution Licenses may be applicable if seen during any software audit on your company if they were in a pedantic mood or just adhering stringently to "the rules".

Re WinZip.  Take a look in C:\Program Files\WinZip\  and see if there is the file  WZSEPE32.EXE.  This is the file used to convert a zip file into a self-extracting executable.  You may or may not have this as a context-sensitive menu item when you right-click on a Zip File.  I can't remember if this functionality is installed by default with WinZip, or whether you select it as a "custom install" option.  You can also include a "Comment Field" that appears as an information dialogue to the user when the file unpacks itself.  It has to be OK's and could include anything you want them to read first.

From WinZip 8.0 "LICENSE.TXT":

"This copy includes WinZip Self-Extractor Personal Edition, which may be used to create an unlimited number of freely distributable, royalty-free self-extracting Zip files. These self-extracting Zip files contain, among other things, a portion of WinZip Self-Extractor Personal Edition, including copyrighted software, proprietary notices, and identifying information (the "Extraction Software").  You may not alter or modify the Extraction Software, nor give anyone permission to do so".

Reference to "This Copy" referes to a single and licensed copy of WinZip.

 

by: webwomanPosted on 2003-08-18 at 22:28:29ID: 9178703

Most installations of WinZip will have the self-extractor piece. If you don't have it, it's likely because you're using an eval copy of Winzip. Purchase it (it's not very expensive) and I'm sure you'll get the self-extractor -- and no prompts to register. ;-) You add all the files to the zip, and then make it an exe (Winzip has an option to do that).

Winzip has an option to preserve paths. If you set up your computer with the folders you want and put the files where you'd want them on the user's machine, and use preserve paths (or words to that effect -- I haven't had to use that for a while so I'm not positive about their wording), when the files unzip they will be put where you wanted them.

Just about every browser I know of supports javascript and cookies. The only one that might not support javascript would be a totally text browser like Lybx, or a blind person who uses an old version of a screenreader (newer ones can deal with it to some exent).

Printing can be a problem from a browser -- YOU don't completely control how the page displays. The USER does. They can override any of your settings, change page margins, orientation, etc. and you have no way of knowing. Also, forms don't print well, so if you use any forms for your data, you won't get dropdowns, text inputs, etc. printing correctly. If the browser window is too big (or your text is set too wide), the printer may cut off your text -- or not. It depends on the browser and the settings, which you don't control. If you need background colors/graphics to print -- they won't unless the user changes the default settings. If you need certain things printed out landscape -- tell the user, because you have no way to change any printer settings.

If you can live with that, HTML can be fine. You can set your pages to print BETTER, but you can't ever be totally sure they'll print the way you expect.

 

by: BillDLPosted on 2003-08-19 at 08:00:25ID: 9181395

Regarding my ideas:

I have largely discounted my first idea because, in my estimation, it presents a security risk and goes against my personal dislikes because it uses ActiveX and ActiveScripting.  For instance, in gamer_2055's otherwise splendid idea earlier, Norton AntiVirus Script Blocker jumps in with its alarming popup dialogue which would be bound to terrify the type of computer user you are targeting your CD's towards.  

This idea makes use of the fact that activity from CD Rom's can bypass some security aspects.  It is something that you may wish to incorporate into your CD's and, instead of posting code here, you will find that the vendor's website is VERY comprehensive and includes code snippets.  IntraLaunch.ocx is widely used by CD distributers and PC Magazines often use it in their "giveaway" cover CD's to provide "install" functionality directly from HTML pages by including a .cab file on the CD which unpacks the components and registers them with or sometimes without warning.  It is usually spawned from an "autorun.exe" menu which asks you to read the licence agreement and click "I Agree".

Here's the relevant links and snippets of info from the pages:

IntraLaunch is an ActiveX control for Internet Explorer & Netscape. It's primarily designed for corporate Intranets with Windows based workstations that need to use a web browser to present menus to their end users or employees. It allows web page links to execute anything from applications to associations such as Word or Acrobat PDF documents both locally and across a network without prompts or security warnings.

Examples of some companies using IntraLaunch:
Used by: http://www.particlesoftware.com/en/companies.html

Start Here:
http://www.particlesoftware.com/en/index.html

Full listing of available features in latest release:
http://www.particlesoftware.com/en/features.html

Explains a few things to help you decide straight off if it is for you:
http://www.particlesoftware.com/en/faq.html

Some more in-depth details:
http://www.particlesoftware.com/en/tech.html

The everpresent issue of "what if....?"
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q240/8/97.ASP&NoWebContent=1

All required files IntraLaunch needs are held with IntraLaunch.CAB and are placed in the appropriate directories by IE during the installation/first time viewing of IntraLaunch enabled web page.

IntraLaunch can be used locally on one machine that doesn't have a modem or isn't even connected to a network. The web sever in an Intranet only provides a central and simple place to store HTML files and they're embedded ActiveX controls. Browser must have ActiveX and Active Scripting enabled.

Some examples of what can be included in your HTML web page:
http://www.particlesoftware.com/en/functions.html

Variables will avoid the need to anticipate things in advance:
http://www.particlesoftware.com/en/variables.html

You cannot normally "uninstall" a registered .ocx file, but this page describes how to go about it:
http://www.particlesoftware.com/en/uninstall.html

Using the tool found here:
http://www.particlesoftware.com/temp/RegControls.exe

Well, what sort of security risks are we talking about:
http://www.particlesoftware.com/en/security.html

NOTE: Some Adware Detectors such as HiJack This! will identify IntraLaunch as a security risk:
http://forums.techguy.org/t155348/sc61cc10a22d2cd580c61c43144ea1d20.html

What if the user's computer uses Netscape?  Read this:
http://www.particlesoftware.com/en/netscape.html

USE FROM CD ROM
---------------

IntraLaunch can be used to build web based CD-Rom menus which can work independently of the CD-Rom drive the CD is placed in. So applications on the CD can be executed through a web interface even though the drive letter is unknown or changes for the CD-Rom. This provides guaranteed operation on all desktop configurations.

When IE loads this menu.html page, it automatically installs IntraLaunch.CAB without security or certificate prompts because its being install from a local CD-Rom. The menu.html page then displays and the user then can click HTML links and graphics to execute applications through IntraLaunch.

IntraLaunch will use the CDRelative parameter and attempt to find IntraLaunch.CAB in the root directory of each CD in each CD-Rom drive to figure out the CD drive letter to use. For this example, IntraLaunch.CAB and menu.html should be in the same directory, in this case the root of the CD. Once located, IntraLaunch then automatically substitutes *:\ in parameter paths with the drive letter of the CD-Rom. So if your Run param is *:\setup.exe, IntraLaunch will find the CD drive letter to use by looking for IntraLaunch.CAB(from CDRelative) and then take that drive letter and execute X:\setup.exe. This provides guaranteed operation.

This solution is 100% transparent for the customer, no annoying prompts during installation or execution. The customer doesn't even know it happened and simply inserts the CD and starts using the web interface to run applications on the CD. This will work in all versions of Microsoft Windows from Windows95 thru to WindowsXP.

(Note: when it says "no annoying prompts" what they mean is with a registered version)

If distributing your CD's to several people you must purchase a developer's license.
http://www.particlesoftware.com/en/purchase.html#develop

Note:  Their example uses a small executable by Karen Kenworthy called PTstart.exe.  It simply redirects the command from autorun.inf to open a web page:
http://www.particlesoftware.com/en/cdexample.html

Details about using this through an autorun enabled PC:
http://www.particlesoftware.com/temp/autorun

Download the autorun executable and .inf files:
http://www.particlesoftware.com/temp/autorun/Autorun.exe
http://www.particlesoftware.com/temp/autorun/Autorun.inf

(Karen Kenworthy's pages:
http://www.karenware.com/
http://www.karenware.com/powertools/powertools.asp
http://www.karenware.com/powertools/ptautorun.asp)

Personally, I use WinOpen.exe or Go.exe for the purposes described above:
http://www.duckware.com
http://www.duckware.com/download/winopen.exe
http://hjem.get2net.dk/lpj/Download.htm
http://hjem.get2net.dk/lpj/Filer/Go.exe

http://www.particlesoftware.com/en/contact.html

http://www.particlesoftware.com/en/download.html

Listing of other items for download:
http://www.particlesoftware.com/temp/

View 3 functional online demonstrations.
NOTE: A one time 1.2 MB ActiveX download is required to view these demonstrations.
http://www.particlesoftware.com/en/demoask.html?type=portal

I still think that webwoman's cookies idea is the best yet as it addresses your main issue about adding custom strings to each page that will appear in the printed page.  I suppose you could use IntraLaunch to edit the "Print Setup" entries in the Registry for a more permanent solution, but I hate this idea in principle.

Right, now to try out my other idea.

 

by: meaculpa1113Posted on 2003-08-19 at 11:41:26ID: 9183070

webwoman:  i mite have misstated myself at some point.. i m NOT printing out any forms.. the form is just for collecting informatino.  as far as printing is concerned, its only the documents that will be printed (w/that dynamic text that will b generated from the cookie).  does that make it a bit better?  i noe that they still cud screw up the text on it.. but at least that way all the information is guaranteed to be there (i hope).  i dont have any background, nor any restrictions of printing it in landscape.  they r for the most part straightforward documents that contain a bunch of FAQ's in different languages.  

it seems that if i provide on the cd a distributable version of ie, then my cookie problem is solved.. ( i m hoping to install ie as a part of the winzipped .EXE file that will run from autorun.inf.  and even the foreign language font seems to have been taken care of w/me installing the foreign language fonts directly to their fonts directory, thus makingthe html files for them simpler.. no embedded fonts nor activeX..

pls point out anything that i mite have missed..!
thank  you!!

 

by: BillDLPosted on 2003-08-19 at 22:49:35ID: 9186002

meaculpa1113

I have fully explored my second option and will point you at some urls which fully explore and explain the applications that I use, namely HTML Executable used alongside Paquet Builder.

HTML Executable generates single executable files from existing HTML pages and support files, and offers you two ways to distribute them:

1. Over the internet
2. CD Rom (normally with the autorun.inf file set to run the standalone package)

There are two options:

1. Simple self-extracting archive
2. HTML Executable publication with embedded viewer (preferred).

Product Page:
http://www.gdgsoft.com/htmlexe/index.asp

Editions:
http://www.gdgsoft.com/htmlexe/editions.asp

Professional Version (US$ 49.95 includes Share-It registration fee)
http://www.gdgsoft.com/htmlexe/editions.asp#Pro

Commercial Version (US$ 68.95 includes Share-It registration fee)
http://www.gdgsoft.com/htmlexe/editions.asp#Commercial

Purchase Info and Links:
http://www.gdgsoft.com/htmlexe/register.asp

Download Page:
http://www.gdgsoft.com/download/index.asp

Paquet Builder tool to increase functionality of the above (the pages linked to explain it fully):

Information:
http://www.gdgsoft.com/pb/index.asp

Personal Edition: (US $33 includes Share-It registration fee)
http://www.gdgsoft.com/pb/Editions.asp#Personal

Commercial Edition: (US $58.50 includes Share-It registration fee)
http://www.gdgsoft.com/pb/Editions.asp#Commercial

Features:
http://www.gdgsoft.com/pb/features.asp

Multilanguage:
http://www.gdgsoft.com/pb/features.asp#T4

Purchase:
http://www.gdgsoft.com/pb/register.asp

Download Page:
http://www.gdgsoft.com/download/pb.asp

Now, to explain the route I was going towards your problem.  HTML Executable allows you to control certain functions in the final distributed file, so that the viewer can enable or disable certain features.  One such feature that can be customised at Build Time is the "Print Page Setup" where you can specify variables for headers and footers.

I had a feeling that they may have been fairly limited, but felt that I could extend them by experimenting a little bit.  Unfortunately I cannot.  The most recent version of the actual "Viewer" component only allows for very much what you already have in your registry under Internet Explorer's "Page Setup" as I discussed previously.  That said, however, there is always the possibility that an updated viewer will be released with extra support for your own text strings, or functionality to retrieve data from other sources.

The main problem, and it is something I had not tried before because I have preferred to keep the pages as simple as possible, is that the Viewer will NOT handle JavaScript.  It simply ignores its presence.

The "Paquet Builder" programme allows you far greater flexibility and you could easily force it to write custom strings to the registry and probably restore them afterwards.

I would, nevertheless, urge you strongly to consider these 2 products for any other projects.  They are VERY reasonably priced (or I wouldn't have been able to afford them :-)

More info about WinZip:

WinZip Self-Extractor Personal Edition is included with WinZip, under the terms of the WinZip License Agreement.  WinZip Self-Extractor 2.2, a $49 add-on to WinZip, includes the following features not available in the Personal Edition:

· Features to automate and customize software installation, such as the ability to specify an icon and text for the main self-extractor dialog box, and to delete temporary files after running a setup program.  It includes support for the InstallShield 3.0 SETUP program.
· Ability to run a command when the unzip operation completes.
· Self-extracting files can be created from the command line.
· All versions can be created with English or German messages.
· Ability to automatically extract files when the EXE file is run.
· A Wizard to simplify the process of building self-extracting files.

Another program I use to create CD Front-End Menu's is "Autorun Menu Studio version 2.5 Professional" by Indigo Rose Software.  I see, however, that they now only have a newer prduct named "AutoPlay MEDIA Studio" which goes by the version 4.0.  They also have a similar product to "Paquet Builder" named "Setup Factory":

http://www.indigorose.com/products/overview1.php

These are well worthy of investigation in addition to the others.

Now, as my attempts to find you a solution better than webwoman's have obviously fallen on stony ground by comparison, I will butt-out and leave you to it.

Good Luck !!

 

by: meaculpa1113Posted on 2003-08-20 at 06:18:21ID: 9187885

BillDL :  THANK YOU SO VERY MUCh for all ur help.. all the information that you have posted has thoroughly expanded my knowledege and given me a better sense of perception.. after all these projects are just abt learning.. and that i done a lot from ur messages..!  and not to pinpoint nor to be rude.. but just one little correction.. the cookie solution was posted by samarth13.. so.. w/all due credit to webwoman, who has also tremendously helped me w/all of this.. it's samarth13's solution that i m working on and has been the base of my 'cd customization' project... w/that said.. all the posts from u guys have tremendously helped me understand the many finer aspects w/this project..

i actually got the whole cookie thing to work (it was pretty straight forward, those two codes from samarth13 were EXTREMELY helpful) and it just works great..

i got faced w/another problem that i had talked abt earlier, and webwoman had replied to it.. its abt the foreign language files.. the files that i m gonna be getting are all gonna b in word format.. now from wat i have been told, there is a 'language pack' that comes w/windows xp that supports all this, and that is the reason that i cud have seen all these foreign language files on my comp, even though i specifically didn't install any particular fonts..  now that font doesn't even appear in the regular font list in Word.. but its there, and it is displayed properly.. i had earlier posted the code for one such file that i had directly converted from word to a webpage..
so, basically at this point, this is wat i have.... i have a whole bunch of files in Word.. that need to be converted into HTML.. i have a template for all the documents, (w/the cookie code on it).. so i have to add the text to it....
so, one of two things...
i)  is there anyway to integrate the code that i had put up earlier w/the cookie code provided by samarth13? (i tried it, and got errors that i didn't understand)
ii) if i have documents in word in a foreign language, how to convert them to html (w/o using the direct conversion to html feature in word, because it 'produces "Word crap pseudo XML/XHTML' :)..

thanks again guys!

 

by: BillDLPosted on 2003-08-20 at 07:41:06ID: 9188584

Oh dear, my apologies to samarth13.  This came about when I prepared the notes in NotePad whilst offline so that I could post it later.  I'm afraid webwoman's name was in my mind for some reason.

It's because of this damned page.  I assume that everybody else has the same problem with it not wrapping the text to my screen width whereby I have to scroll right to see the vertical scrollbar for the comment itself.

Yes, it was samarth13's 2 html pages that I tried out using the "HTML Executable" application that I spoke of.  The JavaScript wasn't supported, which was a great pity.

Regarding the non-standard HTML code produced by the MS Office MHTML converter, I remember seeing utilities to "clean up" the code, but it's not something I have really delved into, so I don't know.  Regarding Foreign Language support, I would be guessing if I attempted to comment on how you could do this in your circumstances. I do know that, regardless of what "fonts" you happen to install, the operating system has to first have support for them using a "Unicode" extended character set and also bi-directional layout support to allow for right to left and vertically arranged languages.

So, thanks you for your acknowledgement meaculpa1113, and sorry once again for not acknowledging samarth13.

 

by: webwomanPosted on 2003-08-20 at 18:13:36ID: 9192488

The problem isn't the fonts -- it's the LANGUAGE.

You can't use different fonts, but not translate the page. If you need multiple languages, you need multiple languages. You'll need translations for each page, AND you'll need to use the language meta tags, AND you'll need to use the right coding.

You CAN make links to Word docs in HTML files. If the user has IE and Word, the files will open in the browser, in Word. However, nothing from the HTML pages will carry over to the Word docs, so using cookies isn't an option.

HOwever, if you have Acrobat, you might want to try playing with that. Acrobat supports a limited version of javascript, and it's possible (not certain, but possible) that you might be able to use your cookie script on an HTML page that gets the info from the form, then refresh to the PDF, and load the cookie values into form fields on the PDF. The PDF can be generated out of Word, with the right fonts, and the javascript would just fill it in (provided it works -- which is iffy). Then you could print it. And it WOULD print right, just the way you want.

Might be worth playing with. ;-)  

 

by: BillDLPosted on 2003-08-24 at 18:46:39ID: 9213618

Thank you meaculpa1113.  Sorry if my comments were more in general terms than made to answer your question fully.

samarth13.  I really liked your JavaScript code for cookie storage accompanied by informative msg boxes, and I especially liked the redirect to the "user details" page and button to remove the cookie.  It's the most innocuous way of storing user data and goes completely with my views on privacy and invasiveness without prompting.

If it's OK with you, I think I might use this approach in some of my own non-commercal distributions on CD.

20120131-EE-VQP-002

3 Ways to Join

30-Day Free Trial

The Experts

98% positive feedback on 31,087 answers since March 2000. angeliii is a Microsoft Most Valuable Professional for his work with MS SQL Server & Develoment.

He has also proven his knowledge of Visual Basic Programming, PHP Scripting and Oracle Databases.

The Experts

97% positive feedback on 10,752 answers since July 2000. lrmoore has more than 18 years experience in the networking industry.

The six-time Mircosoft MVPs specialties include firewalls, virtual private networking, and network management.

Testimonials

"...and excellent source for support... Kind of like having your very own IT dept." Electriciansnet

Testimonials

"I was apprehensive at signing up at first. However... it has already made my life as an IT administrator much easier." JaCrews

Testimonials

"WOW! You guys have great, active, and knowledgeable people on here." moore50

Business Clients

Business Clients

In the Press

"If you’ve got a question... Experts Exchange can supply an answer.”

In the Press

"...an invaluable aid for both IT professionals and those who require tech support."

In the Press

"where IT professionals provide quick answers on just about any topic"

Business Account Plans

Loading Advertisement...