Copyright: Copyright ® 1994 Sean O'Dell


 O'Setup Manual Contents

Introduction

O'Setup is an easy to use, small to medium-sized Windows application installation utility.  It features custom Bitmap display, a custom Read-Me dialog box, Lempel-Ziv decompression, easy Program Manager group/item creation, easy Registration Database access and much more.

Topics

Using O'Setup

Registration

Technical Support

Credits


Using O'Setup

Read through the following topics to learn how to make effective use of O'Setup.

How O'Setup Works

Creating an Installation Disk or ZIP File

INF File Specifications


How O'Setup Works

This topic explains, in general detail, the process O'Setup goes through to complete an installation.

•	OSETUP.EXE executes.

•	The INF file is located and all values are read in.

•	Main Window appears.

•	The BMP file is loaded.

•	User is given an informative prompt.

•	If there are more than one optional section, user is prompted to select them.

•	User is prompted to enter a drive/directory.

•	If the total size needed to install all the optional sections exceeds the available space on the destination drive, the user is notified and may go back and fix the selections he/she has made or continue anyway.

•	Each section is processed, one at a time.

•	All files are copied to the destinations.

•	All registrations are made to the Windows Registration Database.

•	If a Delete Group is specified, it is removed from the Program Manager.

•	If an Add Group is specified, it is added to Program Manager.  If it already exists, it is activated.

•	If Delete Items are specified, they are deleted from the Add Group.

•	If Add Items are specified, they are added to the Add Group.

•	The TXT file is loaded and displayed in a Read Me dialog.

•	User is given a success prompt.

•	The Exit Run parameter will now execute.


Creating an Installation Disk or ZIP File

Compression and Decompression

The process of creating an installation consists of three main steps:

1	Gather all the target application files.  Compress any files not needed during installation; this is not a requirement, just a suggestion.

2	Create the INF, BMP and TXT files.

3	Combine all the files together into a complete installation.

You may rename the file OSETUP.EXE to any executable file name you want.  The INF, BMP and TXT files are assumed to have the same name as the executable, so remember that if you rename the EXE, rename all the associated files.

The INF File

The INF file contains all the information needed by O'Setup to perform the installation.

The BMP File

This is a Bitmap that will display in the Main Window.  You can create it using any application that can generate BMP files, including PaintBrush.

The TXT File

At the end of the installation, a Read Me dialog will appear to the user.  The dialog is basically a large text box where the text in the TXT file is displayed.


Compression and Decompression

Compression is acheived by the person creating the installation.  A program called COMPRESS.EXE is distributed with most Windows application development packages, but may appear elsewhere.  If you want to use compression with O'Setup, you must use COMPRESS.EXE or compatible compression utility using Lempel-Ziv algorithms.

Decompression occurs automatically.  You have bascially no responsibities here.  A file is copied from a source path to a destination path.  If the source file is compressed, the destination file will be decompressed.

If a file is not compressed, the file is simply copied.  This is automatic as well.


INF File Specifications

Variables, Example INF File

[Main Window]
This section is for main window display values.

WindowTitle = Text
This is the title of the main window.  It is name of the main window as it is known to Windows.

HeaderText = Text
This string appears at the top-right of the main window.

HeaderFontSize = LogicalFontSize
This number determines the size of the Header Text, in logical units (device units).

FooterText = Text
This string appears at the lower-left of the main window.

FooterFontSize = LogicalFontSize
Same as Header Font Size.

[Display]
This section is for general display information.

MessageBoxTitle = Text
This is a general-purpose title for certain message boxes.  Most message boxes have their own titles already, but sometimes this string is used.  It should be very general, like the application name in brief.

ReadTitle = Text
This string appears in the title of the Read Me dialog.

[Parameters]
This section is for the initial installation information.

Directory = \Path
This path is used as the initial destination directory.  Do not give this path a drive letter as the drive where Windows is installed is used.

SectionCount = Num
The number of sections.  An options dialog appears when there are more than one section with the IsOptional statement set to 1 (TRUE).

Section#... = SectionName
Section1, Section2, etc.  The section is the name of each section described below.  The names are whatever you decide them to be, so long as they are given to O'Setup here.

ExitRun = Path
When the installation is complete, the command-line given here is executed.  Use this for any additional setup.  You may use path variables with this statement.

RebootLevel = Num
0 = Do Nothing (default)
1 = Restart Windows
2 = Reboot the system
When the installation is finished, you can have O'Setup either restart Windows or reboot the system.  The user is prompted in case they want to override the restart/reboot.

[Section]
The name of this section is not actually Section.  It is whatever you give it, and it has to be shown in one the Section#... parameters shown above.  You can have as many optional sections as you want.  If you have more than one, the user is prompted to select which to install.

Description = Text
This text appears in the options dialog shown to the user.

IsOptional = BOOL
When a section is optional, set this statement to equal TRUE (1).  If you want the section to be able to decide if they should install this section, use this statement.  If you want to install a section without user interaction, set this to FALSE (0).

Directory = Path
This is the directory O'Setup will create when processing this section.  The directory gets created even if the user de-selects the section.  You may use path variables with this statement.

FileCount = Num
The number of files to process with this section.

File#... = SourceFile, DestFile, DestFileSize
File1, File2, etc.  The source files are copied to the destination file names.  If a source file is compressed, the destination file will be uncompressed.  The file size only needs to be approximate.  If you change files a lot once the INF file is created, it would very tedious to keep the exact files size up-to-date.  You may use path variables with the file names in this statement.

RegCount = Num
The number of registration entries to process with this section.

Reg#... = Key, Value
The entry key and value to register.  You may use path variables with this statement.

DeleteGroup = GroupName
The name of the Program Manager group to delete.

AddGroup = GroupName
The name of the group to add to the Program Manager.  Add Items are created here.  If you fail to specify an Add Group, no Delete Items or Add Items will be processed with the section.

DeleteItemCount = Num
The number of items to delete from the Add Group.

DeleteItem#... = ItemTitle
DeleteItem1, DeleteItem2, etc.  The title of the Add Group items to delete.

AddItemCount = Num
The number of items to add to the Add Group

AddItem#... = CommandLine[, Title[, IconFileName, IconFileIndex[, Directory]]]
The information given is used to create the Add Items in the Add Group.  You may use path variables with Command Line, IconFileName and Directory.


Variables

Variables are provided to represent certain directories known to O'Setup at run-time.  You use these variables in the INF file where full paths are needed, but are not known at the time the INF is created.  Not all statements in the INF can use variables, so be careful where you put them.

All variables begin with the '%' character.  For example: %I, %W.  All variables contain a drive and a directory.  The variable never ends in a backslash '\', so you can assume it's never going to be there.

If you need to put a '%' character in the INF file, use two '%': %%1.

Variables

I	Input directory

O	Output directory.  User-defined.  Note that each section has its own directory entry; this variable does NOT mean that directory.  This is the directory the user entered in.

W	Windows directory.

S	Windows/SYSTEM directory.


Example INF File

[Main Window]

HeaderText = My Application 1.0 for Windows

HeaderFontSize = 40

FooterText = Copyright © 1994 Me Inc.

FooterFontSize = 20

WindowTitle = MyApp Installation

[Display]

MessageBoxTitle = MyApp Installation

ReadTitle = Welcome to My Application!

[Parameters]

ExitRun = %O\sample.abc

Directory = \MYAPP

SectionCount = 3

Section1 = Main

Section2 = Docs

Section3 = Tutorials

RebootLevel = 0

[Main]

Description = Main MyApp Files

IsOptional = 1

Directory = %O

FileCount = 2

File1 = %I\myapp.ex_,%O\myapp.exe,1300000

File2 = %I\sample.ab_,%O\sample.abc,12000

RegCount = 3

Reg1 = .abc,myappfile

Reg2 = myappfile,My Application File

Reg3 = myappfile\shell\open\command,%O\MYAPP.EXE %%1

AddGroup = MyGroup

DeleteItemCount = 2

DeleteItem1 = My Application

DeleteItem2 = Sample

AddItemCount = 2

AddItem1 = %O\myapp.exe,My Application

AddItem2 = %O\sample.abc,Sample

[Docs]

Description = MyApp Additional Documentation

IsOptional = 1

Directory = %O\DOCS

FileCount = 1

File1 = %I\manual.wri,%O\DOCS\manual.wri,39000

AddGroup = MyGroup

DeleteItemCount = 1

DeleteItem1 = MyApp Manual

AddItemCount = 1

AddItem1 = %O\DOCS\manual.wri,MyApp Manual

[Tutorials]

Description = Tutorial Program

IsOptional = 1

Directory = %O\TUTOR

FileCount = 1

File1 = %I\tutor.ex_,%O\TUTOR\tutor.exe,80000

AddGroup = MyGroup

DeleteItemCount = 1

DeleteItem1 = MyApp Tutorial

AddItemCount = 1

AddItem1 = %O\TUTOR\tutor.exe,MyApp Tutorial


Registration

License Agreement, O'Setup Registration Order Form

O'Setup is Shareware.  The concept of Shareware allows you to use software to determine if it suits your needs at no cost to you.  If you decide the software suits your needs, you are obligated to pay for it.  By paying for Shareware, you are not only doing the right thing, you are supporting the Shareware author so that he/she can continue to provide you with good, quality software.  By NOT registering Shareware, you are violating the license agreement and letting someone's good, hard work go without reward and pretty much ruining it for everyone else.

You may use O'Setup for an evaluation period of 30 days.  After 30 days you must register it or remove it from the system on which it was installed.  As an O'Setup user, you are bound by the terms outlined in the license agreement.  During the 30 days, however, you may use O'Setup to install your applications, but not for profit.


License Agreement

Copyright © 1994 Sean O'Dell

All rights reserved

INSTALLATION OF O'SETUP ON YOUR COMPUTER SYSTEM IMPLIES AGREEMENT WITH THE TERMS AND CONDITIONS BELOW.

DISTRIBUTION OF O'SETUP, ITS ACCOMPANY PROGRAMS AND DOCUMENTATION IS CONSIDERED AS IS.  SEAN O'DELL OFFERS NO WARRANTIES OF ANY KIND, EXPRESSED OR IMPLIED.  THIS INCLUDES, BUT IS IN NO WAY LIMITED TO, WARRANTIES OF O'SETUP'S MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  UNDER NO CIRCUMSTANCES WILL SEAN O'DELL BE LIABLE FOR ANY DAMAGES WHICH RESULT FROM THE USE OF THIS PROGRAM OR THE INABILITY TO USE IT.  EXCLUSION FROM LIABILITY INCLUDES, BUT IS NOT LIMITED TO, LOST PROFITS, LOST SAVINGS, OR ANY OTHER INCIDENTAL OR CONSEQUENTIAL DAMAGES.

O'Setup is distributed as Shareware.  It is not free, freeware, or in the public domain.  You may use O'Setup for a trial period of thirty days, at no cost to you, to determine if it fits your needs. If you decide to use O'Setup regularly, you are expected to register it and pay the applicable registration fee.  You may distribute the unregistered version of O'Setup freely.

You may not modify or dis-assemble O'Setup , nor distribute any modified or dis-assembled versions of O'Setup.

Registered copies of O'Setup can be used on more than one computer at a time as long as no more than one of these computers is running O'Setup at the same time. You may make backup copies of O'Setup as necessary for archival purposes only.

The file OSETUP.EXE is redistributable only by registered users.  Any person using OSETUP.EXE to distribute an unrelated application is considered a user of O'Setup and is bound by the terms described herein; all other persons using O'Setup are free of obligation.

U.S. Government RESTRICTED RIGHTS: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subdivision (b)(3)(ii) of the Rights in Technical Data and Computer Software clause at 252.227-7013.


O'Setup Registration Order Form

___________________________________________________

Name

___________________________________________________

Street Address

___________________________________________________

City, State  ZIP

___________________________________________________

Country

___________________________________________________

Phone Number

___________________________________________________

Internet Address

__________ X $20                         __________

Quantity

California Residents add 8.25% sales tax __________

_____3.5" Disk + $5

_____E-Mail + $0 (e-mail addresses only)

Delivery Method (check one above)        __________

Total                                    __________

Mail this registration form with your payment to:

          Lauren Greenspon

          16900 Crenshaw Blvd. #16

          Torrance, CA  90504


Technical Support

Questions you have about O'Setup may be directed to seano@netcom.com on Internet via email.

Internet email is available through most major on-line services like America OnLine, CompuServe, Dow Jones/MCI, GEnie, and Prodigy.  Contact the technical support account of your online service to find out how to send and receive email through Internet.

Many Bulletin Board Systems (BBS) offer Internet email access.  See your BBS System Operator for details.


Credits

The development and distribution of O'Setup is due to the hard work of:

Lauren Greenspon, Technical Writer
Sean O'Dell, Programmer