lookandfeel Free Software -- Installing DLLs
The following is a synopsis of how lookandfeel installs COM DLLs on production servers. This is not necessarily The Right Way to do it, nor is it The Only Way to do it but it works well and is easy to maintain.
D:\PUB\SITES\COMPONENTS\packagename.
EXEC, one named
WEBSITE and the last named JNI.
EXEC directory (usually this is just the DLL).
WEBSITE directory (any _VBS.TXT and
ASP files).
JNI directory (any JAR files).
EXEC and WEBSITE directories to allow
the SYSTEM and anonymous IUSR_machinename users Read access.
REGSVR32.EXE to register the DLL within the EXEC directory.
WEBSITE folder that the site will use. The virtual directory
does not need to be an IIS application, nor does it need to run in a separate memory space.
EXEC directory to the PATH environment
variable and add the full path to each JAR file to the CLASSPATH environment variable.
For example:
GRENDEL, I download
LAFmessage-0.0.16.0-binaries.zip from
the LAFmessage package to my desktop, C:\WINNT\PROFILES\ADMINISTRATOR\DESKTOP.
C:\WINNT\PROFILES\ADMINISTRATOR\DESKTOP\TMP.
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\EXEC,
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\WEBSITE and
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\JNI.
SYSTEM and IUSR_GRENDEL Read permission to the EXEC
and WEBSITE
directories.
C:\WINNT\PROFILES\ADMINISTRATOR\DESKTOP\TMP\BIN-WIN32\LAFMESSAGE.DLL to
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\EXEC.
C:\WINNT\PROFILES\ADMINISTRATOR\DESKTOP\TMP\WEBSITE\LAFMESSAGE_VBS.TXT to
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\WEBSITE. (I ignore the LAFMAIL subdirectory because
I do not intend to use LAFmail.)
C:\WINNT\PROFILES\ADMINISTRATOR\DESKTOP\TMP\JNI\LAFMESSAGE.JAR to
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\JNI.
C:\WINNT\PROFILES\ADMINISTRATOR\DESKTOP\TMP.
REGSVR32.EXE (in C:\WINNT\SYSTEM32) to try to register
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\EXEC\LAFMESSAGE.DLL but it fails because I did not install the
Microsoft Visual Studio 6.0 Runtime.
REGSVR32.EXE (in C:\WINNT\SYSTEM32) to register
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\EXEC\LAFMESSAGE.DLL. It works this time.
www.grendelcorp.com. I name the virtual
directory LAFmessage and target it at the directory D:\PUB\SITES\COMPONENTS\LAFMESSAGE\WEBSITE.
Because it only contains one text file, I do not give it Script or Execute permission.
D:\PUB\SITES\COMPONENTS\LAFMESSAGE\EXEC to my PATH environment variable and
I add D:\PUB\SITES\COMPONENTS\LAFMESSAGE\JNI\LAFMESSAGE.JAR to my CLASSPATH environment
variable.
That's it!
There are a few advantages to installing the components this way. First and foremost, by being very careful to only have one copy of the package's files on the server, upgrading to a later version is much easier. If many copies get scattered around, the system administrator has to find every copy on the machine and replace it with the later version. Also, since COM tends to get strange when multiple copies of registered DLLs are floating around, keeping only one copy on the server helps reduce the troubleshooting work later.
Second, by maintaining a consistant process for installing components, it's much easier to determine what components are available and find their versions without having to search the registry.
IMPORTANT NOTES:
C:\WINNT\SYSTEM32 or F:\SOME\OTHER\DIR.