YAWPI: Yet Another Windows Program Installer

Version 2.4 / February 1997


1. Introduction

YAWPI is a simple and low cost, yet powerful and elegant Windows installation program. It features user selection of destination directory, full screen main window with color gradient (similar to MS-Setup) and display of meter bar (progress bar) for each program disk, as well as numeric percentage progress indicator per file or archive.

YAWPI can copy files and decompress archives (as well as nested archives) into subdirectories or the Windows directory. The decompression code is integrated in the installation program. This means that you can compress your application very tightly without paying royalties for compression software.

The source directory can be on a floppy drive, CD drive or hard drive. Multiple floppy diskettes are supported, as well as multiple .zip files distributed through BBS's and the Internet.

This package includes 16 bit and 32 bit versions of the install, uninstall and archive programs. It also includes string definitions for English, French, Spanish, German and Italian.

Registration fee is only $29 (or $79 including C and C++ source).

If you are upgrading from earlier version, here is a quick feature summary:

Version 2.4 includes 32 bit version that supports long file names and correct a few problems with uninstall.
Version 2.3c has a few bug fixes concerning floppy diskette installation under Windows 3.1.
New in version 2.3a is the ability to split files across floppy diskettes.
New in version 2.3 are a fix regarding ExecPrompt and the addition of IconPrompt option. 
New in version 2.2 are copy directories, prompt before exec and placement of the title line at the bottom of the screen.
New in version 2.1 are uninstall, support for multiple languages and a few other enhancements.

2. Registration

YAWPI is a shareware product. It means that you can evaluate it for free but you must register before using this software to distribute your application.

The unregistered version has all the functionally of the registered version so you can prepare your configuration files and test the installation process before registering. However, the unregistered version displays the message "YAWPI - Unregistered Version 2.x" on the caption bar.

With QUICK registration ($29) you simply receive a registration password that matches your name (or company name). As soon as you enter your name and password to the 'Register' dialog of the Seal editor, you can modify the title of the caption bar to your liking.

Note: if you did not receive a registration password yet, do not use the Seal editor.

Your password will work with future versions of YAWPI, so you can upgrade by simply downloading the latest version from our home page (http://www.rtlsoft.com/yawpi) or from any other location.

With FULL registration ($79) you will receive the full source code (C and C++) of YAWPI and AR, so you will be free to further fine tune it according to your needs.

On-line registration is available at http://www.rtlsoft.com/yawpi. Alternatively, edit the file "register.txt" (or click on the "Register" icon), fill in the details and send it with your payment by e-mail, fax or s-mail.

3. Overview

The install program is the file INSTALL.EXE. At startup, it reads the configuration from the file INSTALL.CFG. All the information regarding which files to copy to what directories is contained in the configuration file INSTALL.CFG.

The install file name can be renamed to any other name, such as Setup.exe, as long as the configuration file is similarly renamed to Setup.cfg. If you are distributing your software on a 
CD-ROM you can keep two versions: CdSetup.exe and HdSetup.exe, each with its own configuration file (CdSetup.cfg and HdSetup.cfg).

The uninstall program is the file UNINSTAL.EXE. At startup, it reads the configuration from the file UNINSTAL.CFG. All the information regarding which directories or files to delete is contained in the configuration file UNINSTAL.CFG.

Similarly to INSTALL.EXE, UNINSTAL.EXE can be rename to any other name. For example, if your application is strictly for Windows 95, you may rename the file to UNINSTALL.EXE and the configuration file in UNINSTALL.CFG (note that "uninstall" has 9 characters).

The configuration files are simple text files that you can edit with any text editor (such as Notepad). They contain sections and variable definitions similar to WIN.INI and SYSTEM.INI. Each variable controls a parameter of the installation process. Many variables have default values that are used when you do not define them.

For example, the lines:

Title1=My First Program
DefaultPath=c:\My1Prog

define the title displayed to the user and the default destination directory where the program is to be installed.

Note: the configuration file keywords are case sensitive so "title1=My First Program" has no effect at all, since "Title1" is not defined.

4. Windows 95

The files INSTALL.EXE, UNINSTAL.EXE and AR.EXE where compiled as 16 bit programs. They run under Windows 95 but cannot recognize long file names or file names containing space characters.

The 32 bit versions are placed in the 32BIT subdirectory, with the names: INSTALL32.EXE, UNINSTALL32.exe and AR32.EXE. As mentioned above, you may rename these files according to your preference, as long as you remember to match the configuration file names.

The configuration files are identical for the 16 and 32 bit versions, except for the following points:
Long file names (longer than DOS 8.3 format) may result in installation error when used by the 16 bit version.
The "$p" substitution variable is implemented by the 32 bit version only.


4. Compressed Archives

YAWPI supports archives compressed by the AR freeware utility. AR is not compatible with PKZIP but achieves almost the same compression rate. This is far better than using Microsoft COMPRESS on individual files.

AR is freeware and is available with C source. The DOS based AR.EXE is included in this package. AR32.EXE must be started from the command line prompt and is identical to AR.EXE except that it can handle long file names.


4.1 Splitting Files Across Floppy Diskettes

If you have a large file that does not fit on one diskette you can split it and compress each half separately to go on a separate floppy diskette. The two halves will be joined together to form the original file at installation time.

The DOS based "split.exe" is included in the package.
The following example assumes you have a 2,200,000 byte file called "myfile.big".

First, use the "split" tool to split the files. Split takes a file name argument and a byte count. The byte count argument specifies the length of the first output file. The rest of the input file is copied to the second file.

The command:

	split myfile.big 1000000

produces "myfile.1" of length 1,000,000 bytes and "myfile.2" of length 1,200,000.
Next, move the two halves into two separate directories, renaming them to the original file name as follows:

	move myfile.1 disk1\myfile.big
	move myfile.2 disk2\myfile.big

Next, create the archives containing both halves as follows:

	cd disk1
	ar a disk1.ar myfile.big
	cd ..\disk2
	ar a+ disk2.ar myfile.big

Notice that the first archive was created with "ar a" and the second archive was created with 
"ar a+" option. 

At installation time, disk1.ar will be unpacked first and the first half of "myfile.big" will be created in the user's destination directory. 

When disk2.ar is unpacked, the second half of "myfile.big" (which was created with "a+") will be appended to the first half, forming together the original file.


Notes:

You can split a large file to more than 2 parts. All the parts except the first one must be archived with "ar a+".
The first part of a split file must be archived with "ar a". If the first part is archived with "ar a+" and the user installs the software a second time, he/she will get a "myfile.big" of length 4,400,000!!
You can split a smaller file in order to "best fit" the space on your distribution diskettes. For example, you have 100K left on each diskette and one 250K file. By spliting and compressing that file you can avoid using a third diskette. 
You can mix regular files and split parts in one archive, but they have to be added separately. e.g.:

	ar a disk2.ar smlfile*.*
	ar a+ disk2.ar myfile.big

4.2 Nested Archives for Extra Compression

If your application uses a large number of small files you can save upto 15% of the space by using nested archives. The extra saving comes from the fact that compression algorithms work better on large files. You first combine your small files into one large uncompressed archive, then compress that archive into a container archive. Here is how you do it with AR:

	AR s myprog.ar files*.*
	AR a myprog.arr myprog.ar

"myprog.arr" is smaller than "myprog.ar" created by:

	AR a myprog.ar files*.*

If you mark "myprog.arr" as a nested archive, YAWPI will perform
the following steps during installation:

        1. Extract "myprog.ar" from "myprog.arr".
        2. Extract "files*.*" from "myprog.ar".
        3. Delete "myprog.ar".

Notes:

AR always saves and restores the file paths in the archive. This is equivalent to "pkzip -P" and "pkunzip -d".  You should therefore avoid specifying absolute pathnames when preparing the archives.

	WRONG - paths are absolute, user cannot change them:

	ar a myprog.ar c:\myprog\files*.*
	ar a mydata.ar c:\myprog\data\files*.*


           RIGHT - paths are relative to c:\myprog, user can install to another directory 
		such as d:\userprog.

	cd \myprog 
	ar a myprog.ar files*.*
	ar a mydata.ar data\files*.*

                   
To create a nested archive with pkzip use the following steps:

           pkzip -e0 myprog0.zip files*.*
           pkzip myprog.zip myprog0.zip

	Note that Yawpi CANNOT UNPACK .ZIP files.


5. INSTALL.CFG

The "install.cfg" file contains three sections:

General section [General] contains general parameters.
Disk section [Disk1] [Disk2] etc. contains the list of files and archives to be installed.
Groups section [Groups] contains the program group and icons to be installed on the user's desktop.

This file must be located on the first floppy disk (or in a subdirectory of the hard drive) together with "install.exe".

If you rename "install.exe" to another name, you must also rename "install.cfg" to the same base name.

For example, your CD-ROM application may include "CdSetup.exe" and "HdSetup.exe" for running directly from the CD drive or from the hard drive, respectively. In that case, include "CdSetup.cfg" and "HdSetup.cfg" files to provide the configuration for each type of installation.

The following subsections (numbered 5.*) describe the variables that belong to the general section of "install.cfg".


5.1 ProgramName

Defines the name of the program being installed.

Example: ProgramName=Magic Graphics


5.2 DefaultPath

Defines the default destination path for installing the program.

Example: DefaultPath=C:\MGRAPHIC

The user may edit that path to install the program in another location.

5.2a DestPathPrompt

If defined to "N" the user is not prompted for destination path and cannot change it. By default DestPathPrompt is "Y".

Example:

DestPathPrompt=N

5.3 Title1

A centered title line at the top of the main window.

Example: Title1=Magic Graphics

5.4 Title1Size

Size of Title1 in points. This number is converted to pixels depending on the screen resolution. Use 50 points for large letters, 20 points for small letters, or any number in between.

Example: Title1Size=25

5.5 Title1Color

Color of Title1 in RGB (Red, Green, Blue components).

Example: Title1Color=30 187 0

5.6 Title2, Title2Size, Title2Color

Same as Title1. This is a second title line.

5.6a Title2Pos

By default Title2 is drawn just below Title1 at the top of the screen. If you define

Title2Pos=Bottom

then Title2 is drawn at the bottom of the screen.

5.7 TitleFont

The font used for both titles. The default font is "Times New Roman". 

Example: TitleFont=Arial

If you specify a font which does not exist on the user's system, Windows uses its default font of "Arial".

5.8 TitleShadeColor

Color of shade for Title1 and Title2 in RGB.

Example: TitleShadeColor=0 0 0

5.9 TopColor, BottomColor

Defines the background color at the top and bottom of the main window. You can get a solid background by setting TopColor and BottomColor to the same value. If TopColor is different than Bottom Color you get a color gradient.

Example:

        TopColor=0 76 38
        BottomColor=51 204 102

5.10 NumGradientSteps

Defines the number of color gradient steps. This number should not exceed 200.

Example: NumGradientSteps=32

5.11 Welcome, WelcomeCaption

If "Welcome" is defined, a dialog box with this message and "Yes/No" buttons is displayed at the very beginning.

If the message has more than one line, add a backslash character ('\') at the end of each line except for the last one.

"WelcomeCaption" is the text on the caption bar of the dialog box.

Example:

Welcome=The Magic Application will be installed on your hard drive.\
Continue?
WelcomeCaption=Hard Drive Installation

5.12 DirExistsWarn

If defined to "Y" (by default), YAWPI will warn the user if the destination directory already exists. To suppress this warning, define this variable to "N".

Example: DirExistsWarn=N

5.13 DirNotFoundWarn

If defined to "Y", YAWPI will warn the user if the destination directory is not found. This is useful for installation of upgrade versions or separate components of a larger software package.

The default option is DirNotFoundWarn=N

5.14 FileExistsWarn

If defined to "Y" (by default), YAWPI will warn the user if the destination file already exists and has a newer date than the source file. To suppress this warning, define this variable to "N".

Note: this feature applies to uncompressed files only, not to files being extracted from compressed archives.

Example: FileExistsWarn=N

5.15 Caption

Sets the caption of the main window.

Example: Caption=Magic Graphics Installation

Note: This variable takes effect only in the registered version of YAWPI.

5.16 Username

Registered user name, or developer of the application. This variable is added to INSTALL.CFG automatically by the Seal editor. It is not displayed to the user (unless the user looks inside INSTALL.CFG).

5.17 Seal

This variable is entered automatically by the Seal editor. It is an encrypted checksum of all the INSTALL.CFG variables described above.

The purpose of the Seal variable is to prevent your users from pirating your registered version of YAWPI. If anyone modifies INSTALL.CFG without Sealing it again, YAWPI will display the "Unregistered Version" message on the caption bar.

5.18 Language

This is an optional variable that specifies a list of text files containing string definitions for languages other than english.

Example1: Language=english.txt french.txt spanish.txt
Example2: Language=german.txt

If the list contains more than one language (as in example 1), the user is presented with a dropdown box for selecting the installation language. The first language on the list is the default selection.

For more information on multilingual configurations of Yawpi, please read the file "language.txt".

5.19 SpaceRequired

Specifies the number of bytes required to install the application. If this variable is defined, Yawpi checks the amount of free space on the user's hard drive. The user is warned if the required space is larger than the available free space.

Example:

SpaceRequired=2104000

5.20 SrcDir

Specifies a source directory other than the directory where "install.exe" is.

If this variable is defined, all the files, including configuration files and archives (but not including "install.cfg"), are taken from the specified directory.

Occurances of the source directory keyword "$s" are substituted with the value of original source directory (i.e. the directory where "install.exe" was found).

This keyword may appear multiple times in the [Disk*] sections, so that files can be copied from more than one directory.

Example:

SrcDir=$s\hd_files
[Disk1]
myprog.ar=$d
SrcDir=$s\cd_files
myprog2.ar=$d


In this example, the source directory is defined to be "hd_files", a subdirectory of the directory where "install.exe" resides. If this installation takes place from floppy drive a: then the archive "myprog.ar" should be in "a:\hd_files\myprog.ar".

Other configuration files such as "groups.cfg" and foreign language string definitions should also be placed in the "hd_files" subdirectory.

The file "myprog2.ar" is taken from "a:\cd_files".


5.21 Exec

Specifies a program path to execute after installation is complete.

Examples:

	1. Exec=$s\vfw\setup.exe
	2. Exec=$w\notepad.exe $d\readme.txt


The first example invokes a setup program to install Video for Windows.
The second example displays the file readme.txt using Notepad text editor.

Note: only one Exec statement can be specified in a configuration file.

5.21a ExecPrompt

If defined, the user will be prompted with this message before executing the
Exec file. Example:

ExecPrompt=Click OK to install Video for Windows.

5.22 RestartWindows

If defined to "Y", YAWPI prompts the user at the end of the installation.
If the user chooses "Yes" Windows is restarted.

By default RestartWindows=N.

5.22a RestartWin3Only

If you need to restart Windows only when running under Windows 3.xx and
not when running under Windows 95, define RestartWin3Only to "Y".

5.23 RestartWindowsMsg

The message that is displayed if RestartWindows=Y.

Example:

RestartWindowsMsg=You must restart Windows before running this application.\
Restart now?

5.24 RebootSystem

If defined to "Y", YAWPI prompts the user at the end of the installation.
If the user chooses "Yes" the user's computer is rebooted.

By default RebootSystem=N.

5.25 RebootSystemMsg

The message that is displayed if RebootSystem=Y.

Example:

RebootSystemMsg=You must reboot your computer before running this application.\
Reboot now?

5.26 IconsPrompt

If defined to "N" the user is not prompted for installing icons on the desktop. If "Group" and "Items" are defined and IconsPrompt is "N" the icons are installed without prompting the user.

By default IconsPrompt is "Y".

Example:

IconsPrompt=N

6. Disk Sections

Following all the variables described above are the disk sections.

Each floppy disk has a section with a title of the form [Disk1] [Disk2] etc.
The section title must be on a separate line.

Within each disk section you list the files or archives on the disk.


6.1 Plain (uncompressed) Files

Define each uncompressed file to be copied to the destination directory with the syntax:

<file>==<destination>

If <destination> contains the term "$d", it is substituted by the destination path.
If <destination> contains the term "$w", it is substituted by the user's Windows directory.

Example 1: PICTURE.DAT==$d\DATA

Will copy the file PICTURE.DAT to C:\MGRAPHIC\DATA. If the user had changed the default C:\MGRAPHIC to D:\MG, the file will be copied to D:\MG\DATA.

Example 2: PICTURE.DAT==$d\DATA\PICTURE2.DAT

Will copy PICTURE.DAT to C:\MGRAPHIC\DATA\PICTURE2.DAT.

Example 3: MYPROG.INI==$w

Will copy the file MYPROG.INI to Windows directory (usually C:\WINDOWS).

6.1a Directories

If you specify a directory on the left side, all the files in this directory
are copied to the destination. The destination must be a directory too.

Example:

.==$d
system==$d\system
fonts==$d\fonts


The above example copies all the files in the source directory and in the 'system' and 'fonts' subdirectories. Note that this function does not work recursively on subdirectories. Each subdirectory has to be specified explicitly.

6.2 Compressed Archives

Define each compressed archive with the syntax:

<archive>=<destination>

Example: MYPROG.AR=$d\BIN

Will extract the contents of MYPROG.AR to C:\MGRAPHIC\BIN.

6.3 Nested Archives

Define each nested archive with the syntax:

<archive>=@<destination>

Example: MYPROG.ARR=@$d

Will first extract MYPROG.AR from MYPROG.ARR. Then extract the contents of MYPROG.AR into the destination directory. Finally, MYPROG.AR is deleted.

Important Note: The container archive must contain a single archive with the same base name as the nested archive, and same extension truncated to two letters.

Examples:

	MYPROG.ARR contains MYPROG.AR
	YR_PROG.XYZ contains YR_PROG.XY

Read section 2 of this document again to see how to create nested archives.

6.4 .INI Files

If your application uses a private .INI file you can list it so that it is merged with an existing .INI file of the same name (from previous versions) rather than overwrite it.

<ini-file>=|<destination>

Examples:

	MYPROG.INI=|$w
	MYAPP.INI=|$d
	MYPROG.INI=|$w\HERPROG.INI

The definitions inside an .INI file may contain symbols for directory substitution as follows:

"$d" is substituted for the destination directory.
"$s" is substituted for the source directory (useful when the application runs off a CD-ROM).
"$w" is substituted for the user's Windows directory (usually C:\WINDOWS).

Only lines that belong to a section will be copied to the destination.

Example:

	NoSection=This line is not copied
	[Magic Grahpics Application]
	BinDirectory=$d\BIN
	SamplesDirectory=$s\WAVE

6.5 SrcDir directive

Redefines the source directory for the files that follow. See also section 5.20.


7. Groups Section

Following all the Disk sections you may specify the program groups section.
This section has the title "[Groups]" and includes information for adding icons to the user's desktop.

7.1 Group

Defines the name of a program group where the icons to follow will be added.

Example: Group=Magic Applications Group

You may specify more than one group. Each group will contain the items which follow its definition.

7.2 Item1, Item2 ...

The icons in the selected group. Each definition line consists of up to 4 parameters separated by commas:

The command line for starting the program.
The title under the icon.
Optional parameter defining the file that contains the icon.
Optional parameter defining the icon number within the file.

The items may contain the following symbols to be substituted at installation time:

"$d" is substituted by the destination path.
"$w" is substituted by the user's Windows directory.
"$s" is substituted by the source path.

Example 1:

	[Groups]
	Group=Magic Applications Group
	Item1=$d\myprog.exe,Magic Grahpics,$d\myprog.exe,1
	Item2=$w\notepad.exe $d\register.frm,Register
	Item3=$d\dosapp.exe,Dos Magic,$d\dosapp.ico


Example 2:

	[Groups]
	Group=Magic Application Group
	Item1=$d\myprog.exe,Magic Grahpics,$d\myprog.exe,1
	Group=Another Magic Application Group
	Item1=$w\notepad.exe $d\register.frm,Register
	Group=Startup
	Item1=$d\progload.exe,Magic Application Loader

7.2 32 Bit Version

With the 32 bit version of Yawpi you can use "$p" to be substituted by the application which is associated with the file that follows this symbol.

Example:

	[Groups]	
	Item1="$d\myprog.exe",Magic Grahpics,"$d\myprog.exe",1
	Item2="$p" "$d\about.html"

$p on Item2 is converted to the user's Internet browser, the same program that is invoked when the user double-clicks on a file with .html extension.

Note the quotes (' " ') around all the parameters which contain the substitution variables. These quotes are necessary for the case that the directory name contains space characters.


8. THISDISK

If you distribute your application on multiple floppy diskettes, you must place a THISDISK file on each floppy. YAWPI uses THISDISK files to verify that the user has inserted the correct floppy disk in the drive.

8.1 DiskNumber

Defines the disk number, starting with 1.

Example: DiskNumber=1

8.2 NextDiskNumber

Defines the next distribution disk for your application. On the last disk, do not define this variable (or define it to 0).

Example: NextDiskNumber=2


Note:  If your application fits on a single floppy or when installing from a CD drive or hard drive (drive C: or higher), THISDISK files are ignored. 


9. WIN.INI, SYSTEM.INI

If you need to add or modify a section in WIN.INI or SYSTEM.INI in the user's Windows directory, simply place these files with your modifications on the first distribution diskette. You can use "$d", "$w" and "$s" within your WIN.INI. These symbols are substituted before being added to Windows WIN.INI. See section 6.4.

Sample WIN.INI:

        [windows]
        ScreenSaveActive=1

        [Magic Screen Saver]
        MagicDir=$d
        Settings=0 0 3 5


Note: You may specify WIN.INI or SYSTEM.INI as .INI files (with "<file>=|<destination>" syntax) but for compatibility with previous versions, WIN.INI and SYSTEM.INI are detected and merged even if they are not listed in the [Disk*] sections.


10. GROUPS.CFG

For compatibility with previous versions, you can specify the program groups and icons in a separate file called "groups.cfg".

Read section 7 again for a detailed description on how to define groups and icons.

11. Uninstall

"Uninstal.exe" is an uninstaller. It reads directives from the "uninstal.cfg"
configuration file, which is similar to the "install.cfg" file.

11.1 UNINSTAL.CFG

The file "uninstal.cfg" contains the same three sections as "install.cfg".
They are: [General], [Disk1], [Groups].

The [General] section contains the same parameters as "install.cfg".

The [Disk1] section contains a list of directories and files to be deleted.

The [Groups] section contains a list of program groups and icons to be deleted.

11.2 Installing UNINSTAL.EXE

When the user decides to uninstall your program, the distribution diskettes (or temporaty subdirectory) may not be around. Therefore the uninstall program and configuration file must be installed together with your application.

Because the destination directory is not known until the program is installed, you should prepare the file "uninstal.cfg" with directory names that are relative to the destination directory ($d) and Windows directory ($w). 

Example: File1=$d\MyApp.exe

The $d and $w symbols will be converted to actual directory names at installation time.

In your "install.cfg" file include the lines:

[Disk1]
uninstal.cfg=|$d		
uninstal.exe==$d
[Groups]
Group=My Application Group
Item1=$d\uninstal.exe,Uninstall My Application

The first line copies the "uninstal.cfg" to the destination directory and substitutes '$d' and '$w' with the actual directory names. The second line copies the uninstaller itself.

The [Groups] section installs an icon for the uninstaller. 


11.3 Keywords from INSTALL.CFG

The following keywords are identical in name and meaning to the keywords in INSTALL.CFG. They belong to the [General] section.

Caption, Title1, Title1Size, Title1Color, Title2, Title2Size, Title2Color, TitleShadeColor, ProgramName, TopColor, BottomColor, NumGradientSteps, Welcome, Language, SrcDir.

Notes:
The SrcDir directive applies only to language translation files.
The uninstaller does not require the Username and Password keywords.


11.4 [Disk1] Section

This section contains a list of directories and files to be deleted.

Example:

[Disk1]
Dir1=$d\data
Dir2=$d\bin
File1=$d\myprog.exe
File2=$w\myprog.ini

Note: when a directory is deleted, all the files in it are deleted and all the subdirectories are recursively deleted as well. Use this feature with caution!

11.3 [Groups] Section

This section contains a list of program groups and icons to be deleted.
A program group that should not be deleted is marked with "=!" instead of "=".

Example:

[Groups]
Group=Magic Application Group
Group=!Startup
Item=Magic Graphic Program


The group "Magic Graphic Applications" with all its icons is deleted.
The group "Startup" is not deleted, but the icon of "Magic Graphic Program" is deleted from the startup group.


12. Seal Editor

Note: if you did not receive a registration password yet, do not use the Seal editor.

The Seal editor is a standard text editor with one additional feature - it seals INSTALL.CFG files.

If you are a registered user of YAWPI you should enter your name and registration password to the Seal editor. From the 'File' menu select 'Register' and enter the information to the Register dialog.

After you have finished preparing the INSTALL.CFG file, start the Seal editor and open INSTALL.CFG (or SETUP.CFG) of your application. Select "File | Save and Seal". 

The seal editor will save any editing changes you have made to the file and add your registration name and a special "seal" to INSTALL.CFG.

A valid seal enables the 'Caption' variable so YAWPI will display your selected caption instead of the "Unregistered Version" message.

The seal is unique to each INSTALL.CFG. It is generated as an encrypted checksum of all the variables in the file, not including [Disk*] sections. Therefore you have to seal the INSTALL.CFG for every application (if yo have more than one). Everytime you modify a variable in the General section (such as the title or color of the main screen) you have to seal the file again.
If you modify lines in the [Disk*] or [Groups] section (e.g. add or remove files for installation or groups and icons) there is no need to seal again.

Your registration password does not appear in any files shipped with your application. This feature prevents your users from pirating the registered version of YAWPI and use it to install other applications.

Note: do not distribute SEAL.EXE with your application.


13. Download The Lastest Version

Download the latest version of Yawpi from http://www.rtlsoft.com/yawpi.

If you have registered a previous version of Yawpi, your registration key is still valid for new versions.




