CD Executor v2.5


Written by The Arc Angel
	(arc_angel33@hotmail.com)
Graffix by Kaoz
	(thefoxxx@hotmail.com)


Introduction:
============
This program is the product of frustration in searching for a CD menu program
that didn't require extensive INI file manipulation or having to spend hours
learning someones sick idea of 'intuitive'. CD Executor is easy to use and easy
to customize. Some of its features include:

* An explorer style (read STYLE not COPY) interface.
* 'Skins' Support
* An NFO/TXT file reader.
* A Serial Number display box.
* Multiple screen shots of the programs to be installed.
* A built in VIVO player for trailers/video of the programs.
* Internal unpacker for ACE and RAR archives.
* Deletes Partial Installations when prompted (Archives only)
* Calculates Total Disk Space Required for Program (Archives only)
* Adds multiple .REG files into the registry
* Creates Program Groups and Shortcuts
* Launches files after extraction
* Copies multiple files to target or windows directories
* Uninstaller
* Built in File Browser with Descriptions
* MP3 support through third party software
* Personalized Info in "About" Box

CD Executor is designed to be modular. In that you could take programs from
several different disks and burn a new CD with almost no modification. My goal
with this program was to make it as quick and easy as possible to create 
'compilation' CDs from new and previously configured sources.

Thanx go out to Leigh Bowers of Compulsion software for the UnACE and UnRAR DLL
quasi-source. Visit his page (http://www.esheep.freeserve.co.uk/compulsion) for
more source code and other programming utilities.

Extra Special Thanx to Bankrupt for his extensive beta testing, suggestions and
above all, super-human patience in putting up with the sometimes lethal bugs!


Installation: (or I just bought my computer)
============
There is no installation required for CD Executor. Simply unzip it to any
directory, from there you can decide if any customization needs to be done or
you can just copy it to your CD burn directory as is.


Usage: (or this isn't very intuitive either)
=====
Simply execute INSTALL.EXE, the interface is split into a few areas:

The Action Window: On the right hand side which is where graphics and vivos
                   will display.
The Menu Box     : The left hand side contains all the subdirectories of the
                   current directory listed as a menu.
File Browser     : Appears in the action window once you click a browseable
                   menu item/directory. The files then may be double clicked
                   ala windows explorer. Vivo files will play in CD Executor
                   instead of launching your default vivo player.
Serial Number Box: Just under the Action window is a text box that will display
                   Serial Numbers when needed.
Action Buttons   : Are located just under the Serial Number Box.

NFO/TXT files will pop up in their own window and are separate to the main
window. The window must be closed for another NFO/TXT to open. Vivo files are
played once, clicking the movie once will pause/resume while double clicking it
will close the movie. You may continue to browse the CD but no graphics will 
display until the movie has ended. Double clicking a screen shot will toggle
full screen mode.


INITOOL.EXE
===========
This program was designed as a tool to create new and convert over old CD 
Executor configurations. It is not required to convert old configurations as 
CD Executor is backwards compatable but has been included for those wishing to
do so. Simply execute the program and select the directory that you with to 
create or convert. Old configuration files (INSTALL.DIR, INSTALL.PRG and 
SERIAL.NUM) will be replaced by a new single INSTALL.INI file. If an existing
INSTALL.INI is located in the selected directory, it will be loaded for editing

When creating a new configuration, INITOOL will make certain assumptions like
Program Group names and Install directories but this can be easily changed to
suit your needs. When selecting files for shortcuts, the archive filenames will
be loaded in for easy selection. Selectable file types loaded for shortcuts are 
*.exe, *.com, *.bat, *.htm, *.html, *.url, *.reg, *.txt, *.hlp *.doc, *.rtf
*.pdf and *.wri. Choosing what files are to be copied to the target or windows 
directories is similarly easy, all files in the current directory are listed 
for your choosing.

INITool also now sports a screen shot renamer. Copying your screen shots into
your program directory, you select Shot Renamer from the main menu. A file mask
will appear at the top along with a list of files. When you click Rename, all
of the listed files will be renamed to comply to CD Executors screen shot
function (SHOT 1.JPG, Shot 2.JPG... etc).

A File Indexer is also now included. Selecting a directory containing loose
files will enable the File Indexer button on the main menu. Selecting it will
bring you to a form where you can edit descriptions for each file and select
a file mask (which will be created as INSTALL.INI). If the 00INDEX.TXT file
contains non-existant file listings, they will not be removed until you select
refresh with the Remove Unmasked Files checkbox clicked. You may also Remove,
Delete and Upcase the files. Remove only removes the file from the Index while
Delete also deletes the file from the disk. The Upcase command is used to
convert all the filenames to uppercase.

A starting path may be added to the command line for shell integration purposes
(e.g. INITOOL.EXE D:\GAMES would begin in the path D:\GAMES). A quick execution
of the program will likely clear up any further question you may have as it is
fairly intuitive.


Implementation: (or how did you get this to work)
==============
Initially, my idea was that these files:

AUTORUN.INI
INSTALL.EXE
VVWEB.OCX
MSVBVM50.DLL
UNINST.DAT
UNACE.DLL
UNRAR.DLL
INSTALL.ICO (custom Icon - optional)
INSTALL.LIB (customized graphics - optional)
INSTALL.INI (custom configuration - optional)

would be placed in the root directory of the CD and the subdirectories would 
serve as Program names. But you do not have to do it this way. CD Executor can
be run from any directory but it will open up to its own directory when run
unless you specify a starting directory in the INSTALL.INI file (See Below). 
Also the AUTORUN.INF file should be modified if you do decide to change the 
directories or use your own icon. You can have a personal NFO/TXT or VIV file
for the CD by copying it to your CD Executor Directory (Delete the INSTALL.VIV
or your vivo may not play). When CD Executor is first run, your vivo will be 
played automatically (the NFO will have to be clicked on). The INSTALL button 
will be disabled while in the CD Executor Directory tho.

To set up each program, CD Executor will look for and use the following files 
in each directory:

INSTALL.BMP (or INSTALL.JPG) - The graphic that will be displayed in the action
            window when this directory is selected (auto resizing).
SHOT ?.BMP  (or SHOT ?.JPG) - The graphic the will be displayed when PREVU is
            clicked when this directory is selected (auto resizing). The ?
            represents the number of the screen shot (unlimited). They will 
            appear in order as PREVU is clicked. Double click the image for a
            full screen view (Page Down for next image in full screen mode).
            When Installing, the progress bar is created from a random screen
            shot. If no screen shot is available, the install image is used.
*.VIV       - If SHOT.BMP and SHOT.JPG do not exist then CD Executor will look
            for the first .VIV file and play it. If no graphics are found, the
            PREVU button will be disabled.
*.NFO *.TXT - The file that will be displayed when the NFO button is clicked. 
            CD Executor will look for the first file with the extension .NFO 
            and display it. If .NFO is not found then the first .TXT file is
            displayed. If neither is found, the NFO button will be disabled.
INSTALL.EXE (or SETUP.EXE) - CD Executor will look first for INSTALL.EXE and
            execute it. If its not found, it looks for SETUP.EXE  if that is
            not found CD Executor will look for archives. 
*.ACE *.C01 - ACE archives that CD Executor will unpack via UnArc.
*.RAR *.001 (or *.R01) - RAR archives that CD Executor will unpack via Unarc.
            If no installable files are present than CD Executor will open its
            internal browser to that directory (unless the directory is empty).
            The INSTALL button graphic will change to reflect which action will
            take place when it is clicked.
00INDEX.TXT - A Unix style index file for filename descriptions intended to be
            used with the BROWSE feature. Each file must exist on it's own line
            followed by a TAB then the description. The file description will 
            appear in the text box under the action window as the file is 
            clicked.
*.REG       - CD Executor will import all .REG files the install directory 
            contains into the registry.
*.M3U       - An MP3 Playlist file. CD Executor will display PLAY instead of
            INSTALL. When clicked, the default MP3 player will execute the
            playlist.
INSTALL.INI - This is the main configuration file for the program. It contains
            entries which CD Executor will use for customization. You may use
            headers encased in square brackets and blank lines to separate any
            of the entries. A tool called INITOOL.EXE has been included to 
            optionally create this for you.

            InstallDir=              - Specifies the install directory if you
                                     wish it to be specific. If this text is 
                                     not present, CD Executor will default the
                                     install to dialog to the name of the 
                                     archive (e.g - GOODGAME.ACE will be 
                                     displayed as C:\GOODGAME). This can be
                                     modified by the user before installation
                                     begins unless you specify a ! in front of
                                     the directory (e.g - !C:\GOODGAME).
                                     * This entry is used to specify a file 
                                     pattern for the browse feature if desired.
                                     Use a semicolon to separate the file 
                                     types, no spaces. e.g *.RAM;*.R?;*.VIV
            SpaceReq=                - Specifies the bytes required for the
                                     program to be installed. CD Executor can
                                     calculate this automatically during the
                                     installation but is useful when the
                                     program expands files (like MP3 -> WAV)
                                     after decompression or the program is
                                     HUGE. *NOTE* ACE archives require the
                                     total number of files, seperated by a
                                     pipe (|). INITOOL.EXE will calculate this
                                     for you and it's use is recomended.
            Serial=                  - contains serial number information that
                                     will be displayed in the text box just 
                                     under the action window.
            StartDir=                - This entry is specific to the CD 
                                     Executor directory. It is used to specify
                                     a starting directory if you wish it to be
                                     different from CD Executors path. Do not 
                                     include the drive letter, only the path. 
                                     e.g. \ (for the root of the cd) or \VIVO 
                                     (for the directory VIVO in the root). 
                                     Long filenames may be used.
            AboutTxt=                - This INI entry is specific to the CD
                                     Executor directory. If found, its text 
                                     will be displayed in the "About" box.
                                     This text should be no longer than 34 
                                     characters wide. It will be displayed in 
                                     Terminal font, scrolling left to right 
                                     looping at the end of the text. 
            GroupName=               - If omitted, the group name will be the 
                                     same as the directory containing the 
                                     archives. Only one may be created per
                                     program. For no program group, simply
                                     exclude any GroupItem entries.
            GroupItem=               - No path is needed unless the target file
            [Filename]|[Description] does not reside in the installed directory
                                     No preceding backslash is required. The 
                                     pipe (|) separates the information. If you
                                     need to use parameters with a command line
                                     simply separate the parameters from the
                                     command with a forward slash (/).
                                     e.g: Q2.EXE/+set game death|Q2 DeathGame
                                     If using a long filename, encase the 
                                     parameters in quotes.
                                     e.g: VIEW.EXE/"My Picture.BMP"|View Bitmap
            Uninstall=               - If the archive contains the program
            [None]                   directory, you may specify it here. It 
            [Directory]              will be added to the install directory 
                                     when the program is uninstalled to ensure
                                     the correct directory is removed. If you
                                     specify the text as NONE, no Uninstaller
                                     will be included in the Program Group. 
                                     Remember that the uninstaller removes 
                                     EVERYTHING in the installed directory.
            Run=                     - Will execute a file in the target 
            [Filename|Description]   directory after extraction. It may be an 
                                     executable or any registered filetype 
                                     (i.e: SETUP.EXE or README.TXT). Use as 
                                     many as required, one file per line.
                                     If you add a pipe(|) and description, CD
                                     executor will ask if you wish to Launch
                                     plus the description text.
                                     e.g. Run=SETUP.EXE|Setup Program will
                                     prompt you with "Launch Setup Program?".
            Copy=                    - Copies a file to the target or windows
            [Filename|Destination]   directory. The Filename must reside in the
                                     root of the install dir unless it also 
                                     exists in the target under the same sub
                                     directory (No preceding backslash). The 
                                     [Destination] parameter must begin with
                                     TARGET or WINDOWS and may be followed with
                                     a backslash and sub directory if required.
                                     If the directory you specify doesn't exist
                                     then CD Executor will create it. You may
                                     specify one file per line or use wildcards
                                     e.g: NEWEXE.EXE|TARGET
                                          *.DLL|WINDOWS\SYSTEM
                                          *.WAV;*.AVI|TARGET\Levels\Media

None of these files are mandatory and CD Executor will continue without a word
if any or all of these files are absent.


Limitations:
===========
Care should be taken with archives. If you intend to put multiple archives into
a directory with the intension of browsing, be sure not to use ACE or RAR files
as CD Executor will assume them to be Installed.

If you are archiving an update or add-on and require that the extracted files
should overwrite the existing files, you must use RAR as ACE will NOT do so.

In order to create a progress bar, CD Executor does a precheck on archive 
size. With very large archives this could be unacceptably long. Using the
SpaceReq function will eliminate this.

A note should be made to graphic types. While JPG is smaller, it takes longer
to load in the action window. Also, while CD Executor will resize graphics for
you, it will cost you in speed as the graphic size is larger. My suggestion is
to make the initial INSTALL graphics small (actual size is 300x375 height
/width) using BMP but use JPG for screen shots.


Tips and Tricks for CD Executor:
===============================
Installing CD Executor on the hard drive and specifying a StartDir of your
CD Rom path would allow you to install previously created CDs with the new
interface.

Presentations could also be set up using NFOs for information and graphic 
media as the illustrations.

Mp3 CDs could be set up with a cover graphic in the directory, liner notes or
other info as the NFO, optionally the back cover and liners as screenshots and
a playlist to execute.

Vivo CDs could also be set up with the Movie poster as the cover graphic and
a brief movie description or review as the NFO. A meta playlist could be used
as PREVU if it's filename was alphabetically first.


Skins: (a.k.a cheesy catch phrase)
=====
There is no GUI for customization. To design your own display you must do the
following:

Preparation: To aid you in creating your background image and buttons the 
stencil image (STENCIL.BMP) contains the placement of buttons and windows.
Examine this first before creating any images.

1) Create a background image - This image can be of any size, CD Executor
   will resize it for you by shrinking (or expanding) the width of your 
   created image to fit the window. Must be at least 256 Colors.

2) Create images for each button and their hotspot images. The sizes for each
   are as follows:

     -Install Button, Browse Button and Play Button: 25x129 height/width
     -All other Buttons: 25x73 height/width

3) Create an empty image that is the size of your background image plus an
   extra 50 pixels high.
   
4) Paste your background image in the top right hand corner of the image.

5) Examine the STENCIL.BMP and make note of the numbers.

6) Paste each button according to the STENCIL.BMP in the following order:

     1) Install                              7) NFO
     2) Install Hotspot                      8) NFO Hotspot
     3) Browse                               9) Prevu
     4) Browse Hotspot                      10) Prevu Hotspot
     5) Play                                11) About
     6) Play Hotspot                        12) About Hotspot

7) Save your new image file as INSTALL.LIB (BMP or JPG format) and place it
   into your CD Executor directory.

8) Create an INSTALL.BMP (or INSTALL.JPG) in accordance to the game directory
   specifications listed above and place it into CD Executors directory.

9) You're Done! Run the Program.

New user created skins can be downloaded or uploaded at CD Executors Home Page.


Future Developments: (or you're right, I should do...)
====================
For somebody who said there wouldn't be any, this is now my third revision!
I'm still debating native MP3 playback, but don't hold your breath. I'm also
looking in to implementing the ASX format or maybe Bink for video but unless I
can safely bastardize it from the player without having to install it, it 
won't happen.

Send any suggestions or bugs to arc_angel33@hotmail.com or visit us at our 
home page.


Technical Specs: (or GEEK SPEAK)
===============
CD Executor was programmed in Visual Basic v5 (SP3) using one OCX for the VIVO
playback and two DLLs. All components were/are available FREE from their
publishers. It took countless hours to create and debug and consists mainly of
my own code. Some dolt checking has been implemented like not being able to 
specify a root directory or the Windows folder for the uninstaller, but it's 
hardly idiot-proof. Also, it seems that some sound cards don't like the Vivo 
player and freeze during playback. This is not a fault with CD Executor, it is 
related to the Vivo OCX and I cannot compensate for it's shortcomings - Buy a
real Sound Card!


Copyright Notice: (Koveryourassus Loopholius)
================
This program is KISS-MY-BUTT-WARE! And as such is protected under whatever law I
deem it should at this particular moment in the immediate space time continuum,
in whatever metabolic state I, this program or you the user may be in. It can 
and may violate any and all files on the executing computer, it's twin, cousin,
friend or passing female. I take NO responsibility for anything as can be
attested by any female that dast allow me to violate the sanctity of their less
than sane minds. Ad infinitum, ad nauseum, E pluribus unum, blah, blah, blah....
