Board index » delphi » Windows CHM and Network Drives and Vista

Windows CHM and Network Drives and Vista


2008-01-11 01:38:25 PM
delphi183
I was wondering how any of you are dealing with this problem.
Microsoft is not shipping WinHelp.exe on Vista (although they now have a
download)
Microsoft has it now so that CHM files cannot be run from network drives
(security reasons) - after you install security patches on Windows 2003 Server or
Vista. They have work arounds for this - but modifying registry entries
to make Windows trust the Intranet may not fly in this case
So - at this point we have to figure out how to deliver help files to
our users. Our situatiton is that we sell software to some fairly large
companies that have their own IT departments and security processes in
place. So - they may not want to be modifying registry entries on their
user's machines. Most large companies are hesitant to do this without
good reason.
So - at this point - we have a couple of options.
1. Write HLP files - and somehow ship the WinHelp.exe file with our
install. We are not keen on this as it is older technology - and we are
not sure we are allowed to distribute that file with our software.
2. Use CHM files and force the users to update their security settings.
This is less than ideal.
3. Write our own viewer for the CHM files - like M$ has done in Office.
This is just too expensive. Does anyone know of a cheap or free one out
there?
How do the rest of you out there deal with this issue?? It has been
around for a number of years - so I am curious.
--
G. Bradley MacDonald
brad_AT_timeacct_DOT_com
 
 

Re:Windows CHM and Network Drives and Vista

G. Bradley MacDonald writes:
Quote
3. Write our own viewer for the CHM files - like M$ has done in Office.
This is just too expensive. Does anyone know of a cheap or free one out
there?
If you use a tool like Help & Manual, or Docomatic, then you can import
existing help projects into their own single-source format, and then you
can output the whole help system as pure HTML, with links and indexes
and the like. Then you don't need to build your own viewer, unless you
don't like Firefox :)
Loren sZendre
 

Re:Windows CHM and Network Drives and Vista

Quote
Microsoft is not shipping WinHelp.exe on Vista (although they now have a
download)
MS provide a seperate Download to install HLP-Support unter Vista. But
you are not allowed to distribute this with your installer.
Quote
Microsoft has it now so that CHM files cannot be run from network drives
(security reasons) - after you install security patches on Windows 2003 Server or
Vista.
This problem is not a OS-Problem, its a IE-Problem and also occures on
XP (W2k?).
If you add your CHM-Help unter
HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions
HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions
your CHM-Helf-File will also run from Network-Drives.
 

Re:Windows CHM and Network Drives and Vista

Let your program automatically update the chm help files on the network to
the user's local machine at program start-up. Your program will then use the
local chm files for help information.
Hope it help.
"G. Bradley MacDonald" <XXXX@XXXXX.COM>writes
Quote
I was wondering how any of you are dealing with this problem.

Microsoft is not shipping WinHelp.exe on Vista (although they now have a
download)
Microsoft has it now so that CHM files cannot be run from network drives
(security reasons) - after you install security patches on Windows 2003 Server or
Vista. They have work arounds for this - but modifying registry entries
to make Windows trust the Intranet may not fly in this case

So - at this point we have to figure out how to deliver help files to
our users. Our situatiton is that we sell software to some fairly large
companies that have their own IT departments and security processes in
place. So - they may not want to be modifying registry entries on their
user's machines. Most large companies are hesitant to do this without
good reason.

So - at this point - we have a couple of options.
1. Write HLP files - and somehow ship the WinHelp.exe file with our
install. We are not keen on this as it is older technology - and we are
not sure we are allowed to distribute that file with our software.

2. Use CHM files and force the users to update their security settings.
This is less than ideal.

3. Write our own viewer for the CHM files - like M$ has done in Office.
This is just too expensive. Does anyone know of a cheap or free one out
there?

How do the rest of you out there deal with this issue?? It has been
around for a number of years - so I am curious.




--

G. Bradley MacDonald
brad_AT_timeacct_DOT_com
 

Re:Windows CHM and Network Drives and Vista

In article <XXXX@XXXXX.COM>, XXXX@XXXXX.COM says...
Quote
In Help&Manual, there is a CHM-like e-book format which produces a
standalone exe-file.


"Zoren Lendry" <XXXX@XXXXX.COM>p?3Fe v diskusnÝm prÝspevku
news:47870f80$XXXX@XXXXX.COM...
>G. Bradley MacDonald writes:
>>3. Write our own viewer for the CHM files - like M$ has done in Office.
>>This is just too expensive. Does anyone know of a cheap or free one out
>>there?
>
>If you use a tool like Help & Manual, or Docomatic, then you can import
>existing help projects into their own single-source format, and then you
>can output the whole help system as pure HTML, with links and indexes and
>the like. Then you don't need to build your own viewer, unless you don't
>like Firefox :)
>
>Loren sZendre



Pavel,
Can you link to that file from your program to jump to a individual
topic?
--
G. Bradley MacDonald
bradley_AT_telus_DOT_net
 

Re:Windows CHM and Network Drives and Vista

In article <478719dc$XXXX@XXXXX.COM>, XXXX@XXXXX.COM
says...
Quote
>Microsoft is not shipping WinHelp.exe on Vista (although they now have a
>download)

MS provide a seperate Download to install HLP-Support unter Vista. But
you are not allowed to distribute this with your installer.

>Microsoft has it now so that CHM files cannot be run from network drives
>(security reasons) - after you install security patches on Windows 2003 Server or
>Vista.

This problem is not a OS-Problem, its a IE-Problem and also occures on
XP (W2k?).

If you add your CHM-Help unter

HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\ItssRestrictions
HKLM\SOFTWARE\Microsoft\HTMLHelp\1.x\HHRestrictions

your CHM-Helf-File will also run from Network-Drives.


Bernhard,
Thanks - I will check this option out. However, as these are big
corporations - they may not want us fiddeling with their machine
registry settings.
--
G. Bradley MacDonald
bradley_AT_telus_DOT_net
 

Re:Windows CHM and Network Drives and Vista

Quote
Thanks - I will check this option out. However, as these are big
corporations - they may not want us fiddeling with their machine
registry settings.
If you use a installer (which runs normaly with Admin-rights) let this
do in the installer), Perhaps it works with HKCU instead of HKLM (i
didn't test this)
 

Re:Windows CHM and Network Drives and Vista

Man... Each year I got more tiered of M$.
Back to the problem: Use Help & Manual and do it in HTML. As a gift it will
be Linux-ready ;-)
If you dont want to do the same work some years from now, just don't use any
M$ {*word*99}py technology.
Regards,
Alexandre Machado
 

Re:Windows CHM and Network Drives and Vista

I do not suppose so.
I use it to produce a manual rather than an online help.
Pavel
"G. Bradley MacDonald" <XXXX@XXXXX.COM>pÝĘe v diskusnÝm
prÝspevku news:XXXX@XXXXX.COM...
In article <XXXX@XXXXX.COM>, XXXX@XXXXX.COM says...
Quote
In Help&Manual, there is a CHM-like e-book format which produces a
standalone exe-file.


"Zoren Lendry" <XXXX@XXXXX.COM>p?3Fe v diskusnÝm prÝspevku
news:47870f80$XXXX@XXXXX.COM...
>G. Bradley MacDonald writes:
>>3. Write our own viewer for the CHM files - like M$ has done in
>>Office.
>>This is just too expensive. Does anyone know of a cheap or free one
>>out
>>there?
>
>If you use a tool like Help & Manual, or Docomatic, then you can import
>existing help projects into their own single-source format, and then you
>can output the whole help system as pure HTML, with links and indexes
>and
>the like. Then you don't need to build your own viewer, unless you don't
>like Firefox :)
>
>Loren sZendre



Pavel,
Can you link to that file from your program to jump to a individual
topic?
--
G. Bradley MacDonald
bradley_AT_telus_DOT_net
 

Re:Windows CHM and Network Drives and Vista

G. Bradley MacDonald writes:
Quote
Microsoft has it now so that CHM files cannot be run from network
drives (security reasons) - after you install security patches on
Win2003 or Vista. They have work arounds for this - but modifying
registry entries to make Windows trust the Intranet may not fly in
this case
<snip>rest of message</snip>
Quote
How do the rest of you out there deal with this issue?? It has been
around for a number of years - so I am curious.
I link the .chm file as a resource into the application, and when it's
about to be used, the application reads the resource, copies it to the
local appdata directory of the user and uses it from there. Works like
a charm.
--
Robert.
Whatever you are, be a good one
===
robertcram.blogspot.com
 

Re:Windows CHM and Network Drives and Vista

You can enter the path to your help file or application folder to the Windows
registry, as Bernhard suggested. Our free tool HHReg
(www.ec-software.com/products_hhreg.html) does that for you, but it's
really only a tiny registry setting. You should do that during installation,
since you need admin rights to write to that branch.
If your program does not get installed, you can alternatively copy the CHM
file from the network location to the local disk. We do this with the server
version of Help & Manual, since we ran into the same problem (no individual
installation here). The following function checks, at the first help call,
whether the application has been loaded from a network path and copies the CHM
file over to the temporary directory, if it is not up-to-date.
function TFrmHelpMan.HelpRouterHelp(Command: Word; Data: Integer; var
CallHelp: Boolean): Boolean;
function GetTempDir: string;
var
TmpPath: pchar;
begin
try
GetMem(TmpPath, MAX_PATH);
FillChar(TmpPath^, MAX_PATH, #0);
GetTempPath(MAX_PATH, TmpPath);
Result := ExpandFileName(String(TmpPath));
finally
FreeMem(TmpPath, MAX_PATH);
end;
end;
function GetFileSize(const FileName: string): Integer; //Int64;
var
FileStream: TFileStream;
begin
FileStream := TFileStream.Create(FileName, fmOpenRead or fmShareDenyNone);
try
try
Result := FileStream.Size;
except
Result := 0;
end;
finally
FileStream.Free;
end;
end;
var
strOriginalHelp, strLocalHelp: string;
bLocal: boolean;
begin
if (not HHLoaded) and ((copy(application.exename, 1, 2) = '\\') or
(GetDriveType(PChar(extractFilePath(application.exename))) = DRIVE_REMOTE))
then
begin
{ Here we go, we need a local copy of HELPMAN.CHM ... First check if
a
copy of the help file is already there (we do not delete this
file)
and if it is, check if it is up-to-date. We go by the file SIZE
here.
This is not 100% perfect but sufficient for our own help file. }
strOriginalHelp := Application.Helpfile;
if FileExists(strOriginalHelp) then
begin
strLocalHelp := GetTempDir + '\' +
extractFileName(Application.Helpfile);
bLocal := FileExists(strLocalHelp) and (GetFileSize(strOriginalHelp) =
GetFileSize(strLocalHelp));
if not bLocal then
bLocal := CopyFile(PChar(strOriginalHelp), PChar(strLocalHelp),
False);
if bLocal then
Application.Helpfile := strLocalHelp; //assign local help file
end;
end;
end;
--
Alexander Halser
_________________________________________
EC Software GmbH - www.ec-software.com
Publishers of Help & Manual + TNT Screen Capture
"G. Bradley MacDonald" <XXXX@XXXXX.COM>writes
Quote
I was wondering how any of you are dealing with this problem.

Microsoft is not shipping WinHelp.exe on Vista (although they now have a
download)
Microsoft has it now so that CHM files cannot be run from network drives
(security reasons) - after you install security patches on Windows 2003 Server or
Vista. They have work arounds for this - but modifying registry entries
to make Windows trust the Intranet may not fly in this case