WinBatch Tech Support Home

Database Search

If you can't find the information using the categories below, post a question over in our WinBatch Tech Support Forum.

TechHome

Compiler
plus
plus

Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.

Explanation of Compiler Options

Keywords: compiler large EXE small EXE 

Question:

If I compile a WinBatch script with the extender DLLS, will these DLLs be available when I use the standalone WinBatch executable elsewhere. For example, if I compile a script that will be making calls to a NetWare DLL, do I have to copy that DLL with the WinBatch executable or will it be available if I compiled with the extender attached?

Answer:

If you compile with the "Complete EXEs for Standalone PCs" option, the "large EXE" will include "emergency" copies of all the DLL's you included within the EXE (that's what makes it "big" or "a large EXE").

When the EXE starts up, it scouts around looking for its DLL. If it cannot locate a copy either in the current directory or anywhere along the path or in the Windows directory then it unstuffs the emergency copy of the DLL and places it in the same directory as the EXE. If located on a fixed hard drive, it will make the DLLs in the same directory as the EXE. If executing on removable media (floppy, zip, jaz drives), it will create the DLLs in the Windows directory (in versions of WinBatch *after* 96M).

One cute trick is to compile the setup program with the BIGexe option, and have it create the required DLLs. Subsequent EXE's can all be compiled with the small option as the DLLs then exist. For Network installations we recommend the SMALLexe with copies of the reqired dlls in the same directory.

You have a couple of choices in terms of where to locate the DLLs:

  1. Place a copy of the DLL in some directory that is on your path (windows directory?). The exe will use that copy instead of making a new one.

    OR

  2. Make a directory for the exe and just put a shortcut to it from the desktop.

Note that if you're compiling Large EXEs and you are "Call"ing secondary .WBT's, you will need to compile the Called .WBT's into .WBC's, with the "Encode for Calls" option in the compiler.

Then simply inlcude your WBC files in the compiler's "Other Files" option.

Here's an explanation of the compiler options:

  1. Large EXEs for Standalone PCs

    It allows you to build in "emergency copies" of the DLLs (and other files) you might need at execution time. If the exe cannot locate the DLLs, it uses the "emergency copies" to build them. It is easy to add other files. It is controlled by a 2-line *.DAT file in the compiler directory. Top line is the description. Bottom line is a CSV (comma-separated values) list of files.

  2. Small EXE for Networked PCs

    Makes a smaller exe that loads faster over a network. You also know what copies of the DLLs are being used as you have to manually place them.

  3. Encoded for calls from EXE files

    Makes files that can be CALLED from compiled EXE's. They also can be run with standard Winbatch. Keeps users out of the source code.

  4. Encrypted with passwords

    Like (3) but requires a password to execute. Uses trivial encryption.



Article ID:   W12775
Filename:   Compiler Explained.txt
File Created: 2001:03:01:11:38:34
Last Updated: 2001:03:01:11:38:34