MKWINOS/2 Readme

From Wiki
Jump to: navigation, search


1. Introduction

MKWINOS/2 is a commercial OS/2 program that creates the equivalent of your Windows Program Manager as an OS/2 Desktop folder named "Program Manager Desktop Equivalent". Your Windows groups and the program entities within each group are used to create OS/2 folders and program objects respectively within the Program Manager Desktop Equivalent folder. MKWINOS/2 is equally effective with OS/2 Warp or OS/2 2.1 and 2.11.

The MKWINOS/2 main program (MKWINOS2.CMD) creates a REXX program (MKWINRUN.CMD) which you run to build the OS/2 objects. You can alter the contents of MKWINRUN.CMD and the program can be rerun as desired.

Each OS/2 folder (the Desktop folder along with the group folders) will be the same size and in the same relative screen position as they exist on your full screen Windows display. The OS/2 folders created from the Windows program groups will contain the same Windows and DOS programs as the originals. Each program is setup as a Win-OS/2 object.

WP graphic <-- Windows MKWINOS/2 --> WP graphic

Each program object created by MKWINOS/2 uses the default settings you have established with the WIN-OS/2 Setup option found in your OS/2 System Setup settings notebook. MKWINOS/2 then adjusts these settings for the particular program with the settings found in MKWINOS2.DBX (an updated version of the DATABASE.TXT file provided with OS/2).

1.1 OS/2 OS/2 Warp Blue Box vs. Red Box and MKWINOS/2

If you have OS/2 for Windows or OS/2 Warp (Red box) then MKWINOS/2 creates OS/2 Desktop objects to mirror your Windows Program Manager - nothing in your Windows directory is altered.MKWINOS/2 performs additional functions for OS/2 full pack (FP) systems (including Warp "Blue box", Warp Connect, Warp Server, OS/2 2.1, and 2.11) with WIN-OS2 support. Control information and files from your Windows configuration is "merged" into the OS/2 \WINOS2 files and directories. Hence, the program MKWINBAK.CMD is provided to create a backup repository of your \WINOS2 directory and all subordinate directories. A procedural .CMD file (R-WINOS2.CMD) is dynamically created to allow restoration of the WINOS2 files and directories in the event that it is necessary.

1.2 How MKWINOS/2 differs from Warp's Add Programs

MKWINOS/2 is significantly different from the Add Programs (or OS/2 2.1 Migrate Programs) facility in OS/2 since it creates program objects for just those applications that you had setup under Windows. MKWINOS/2 maintains the "look and feel" of your Windows Program Manager. MKWINOS/2 does not search your drives looking for possible candidates.Add Programs will either put all of the Windows group and program entries into a single folder or ask you to select the entries you want added to your Desktop on a program-by-program basis. The appearance of your Windows Program Manager is lost. Since Add Programs selects programs by their name, it will include all copies of a Windows program it finds, regardless of it being a backup or archive copy or a needed, running copy. These unnecessary objects which are created as a result of running Add Programs add additional burden to the OS/2 .INI files - a result that can effect overall system performance including that of native OS/2 applications and the operating system itself.MKWINOS/2 uses the value of the system WIN-OS2 default settings by merging those settings with any settings it uses that are specific to that program. On the other hand, Add Programs ignores the WIN-OS2 setup values.Any Windows groups and programs that Add Programs processes that contain errors (bad paths, non-existent .EXE files, etc.) result in the entire group being ignored with nothing more than a meaningless error message, "MIGRATE ERROR: Items in GROUP file damaged." being written to a file (\OS2\INSTALL\MIGRATE.LOG) or, in some instances, a folder with a meaningless name being created. MKWINOS/2 will create an object as best it can and identify that object as being in error. In addition, the error condition is recorded as part of the MKWINOS/2 report file.Any previously created OS/2 Windows-related objects remain unchanged and can be removed at your discretion. Beyond simply creating OS/2 objects, MKWINOS/2 merges Windows files and properties into WINOS2 on an OS/2 fullpack system. The backup facility described above is provided to allow restoration of the WINOS2 files and directories in the event that it is necessary.

1.3 Additional MKWINOS/2 functions

Windows group folders that are open when MKWINOS/2 is run receive special attention on Warp. An option is provided at the end of MKWINRUN to shadow these folder and program objects to the OS/2 Startup folder. A positive user reply is required to add these objects to the OS/2 Startup folder; they are also immediately opened on the OS/2 system. In either case, the Program Manager Desktop Equivalent folder is opened when MKWINRUN completes.MKWINOS/2 has an optional debugging log facility. The debugging facility is enabled for the initial release of MKWINOS/2. In subsequent releases this debugging facility would be activated by the presence of either -d or /d on the command line. Enabling the debugging facility, intended primarily for support use, results in the file MKWINOS2.LOG being created. Previous MKWINOS2.LOG files are overwritten.

2. Installation & Execution

If you downloaded this program from a software repository the program is a demo version, not Shareware, that has been restricted to processing a limited number of Windows group folders. Only the programs within the Accessories group, the Main group, and the Startup group will be processed by the un-enabled, demo version. MKWINOS/2 processes all of the programs in all of the groups when the demo version is enabled with a key. The details for obtaining the key to enable the program appear later in this readme.htm file.

If you received an enabled copy, the .ZIP file contains the file MKWINOS2.KEY created just for you, Please do not pass this file or its contents on to others as you will be depriving not only the program's authors but the sales, distribution, and support organizations of their due revenue.

In either case, simply unzip the .ZIP file you received into its own directory (the suggested directory name is MKWIN). Either the DOS PKUNZIP or OS/2 UNZIP may be used to decompress the file. There is no restriction on where this directory resides. After the distribution file is unzipped, the program is ready to run. The program name is MKWINOS2 and it can be run from a full screen or windowed OS/2 command line session with the MKWIN (or directory of your choice) as the current directory. No changes are necessary to any files or other components on your system. (This assumes you have the current directory indication, ".;", in your LIBPATH statement.)

Running MKWINOS2 creates a REXX program file named MKWINRUN.CMD in the same directory where MKWINOS2.CMD exists. MKWINRUN is the program you run to actually build the Windows equivalent objects. MKWINRUN may be altered and re-run as frequently as desired. However, we don't anticipate that most users will want to change the MKWINRUN program.

The subject Windows system defaults to the Windows directory used by your OS/2 System. With OS/2 Red box (OS/2 2.1 for Windows), this is your actual Microsoft Windows directory. The subject Windows system for OS/2 Blue box (OS/2 2.1 Full Pack), is the ?:\OS2\MDOS\WINOS2 directory.

There are two ways of altering the pointer to the default Windows directory. If you have an enabled version of MKWINOS/2, you already have a file named MKWINOS2.KEY. If you are running the demo version, it will be necessary for you to create an ASCII text file called MKWINOS2.KEY in the MKWIN directory. MKWINOS/2 checks the first line of this file to see if it contains an enabling key, if you have one. All other data within this file is structured in a key word=value format and the position within the file, case, and white space is irrelevant. To specify a specific Windows directory for MKWINOS/2, add the line:


where path is the drive letter and path of the directory that contains the Windows PROGMAN.INI file. Generally, this line will be:


The other means of specifying an alternate Windows directory is by including it as a command line parameter when you run MKWINOS/2. For example:

mkwinos2 c:\windows

The command line specification overrides any Windows path stored in the MKWINOS2.KEY file.

2.1 Quick Start Summary

1) Unzip MKWINOS/2 .ZIP file into a directory of your choice - MKWIN suggested. The .ZIP file name is MKWINOS2.ZIP (or MKWINnnn.ZIP for beta or other interim releases).

2) If you are running a Full Pack version of OS/2 (original OS/2 2.1 or Warp Blue box - including Connect and Server), run MKWINBAK to create a backup of the subdirectories and contents your \OS2\MDOS\WINOS2 directory. (This step is not necessary for OS/2 warp Red box or OS/2 2.1 for Windows since there are no \OS2\MDOS\WINOS2 files to concern yourself with.)

3) If you have an enabling key, create the file MKWINOS2.KEY in the MKWIN directory with the key value as the first or only line of this file. White space and case is irrelevant.

4) Run MKWINOS2 to build MKWINRUN.CMD. If you are running a Full Pack system, specify the path to your \WINDOWS directory on the command line. Alternately, you can add the line:

5) Run MKWINRUN to build the Program Manager Desktop Equivalent folder and the OS/2 objects for your Windows group and program folders.

2.2 Altering MKWINRUN.CMD

You may want to alter some of the settings in MKWINRUN.CMD. Two settings in particular were created with this in mind:

GBL.icon_view   = "NONGRID"
GBL.sort_option = "NO"

If any of your Windows program entries point to non-existent files (for example, if you have moved then and not updated your Program Manager setup), each program setup string contains a TITLE= line which appends (path?) to the program title. This allows you to search MKWINRUN.CMD for any program objects which fall into this category, alter the paths manually and then simply delete the program setup string line:

"TITLE=" || program_title || "^(path?);"

2.3 Adjusting folder window positions

Under some conditions, an OS/2 group folder may open off of the screen. This occurs because MKWINOS/2 has to calculate the position of the group windows predicated on the relative positions of the Windows group windows when Program Manager is maximized.Any folder whose window opens out of the range of the Desktop can be brought into view using the following steps:

1) Open the group folder in by double clicking MB

1.2) Open the window list with <Ctrl-Esc> or clicking MB1 & MB

2.3) Select the folder in the window list and <Alt-F7>. The window can then be moved by either mouse movement or the arrow keys on the keyboard. Complete information on the use of <Alt-F7> will be found in the general OS/2 help information.

3. Contents of the MKWIN directory

3.1 The MKWINOS/2 files

The following files, shown here in alphabetical order, are contained within the MKWINOS/2 package. They originate in the MKWINOS2.ZIP file or are created by MKWINOS/2 programs:

    This REXX program has two functions:

1) It creates a backup copy of the directory structure and contents of the WINOS2 and subordinate directories.

2) It creates a procedural file, R-WINOS2.CMD, which will restore your WINOS2 directory structure and contents to its contents when the MKWINBAK program was run.

    The icon associated with the Program Manager Desktop Equivalent folder when it is closed (Warp) or always (OS/2 2.1).
    MS-DOS program icon.
    The icon associated with the Program Manager Desktop Equivalent folder when it is opened (Warp only).
    The main MKWINOS/2 REXX program which you run from an OS/2 windowed or full screen command line.
    This file is an internal representation of the program settings contained in MKWINOS2.DBX. It is distributed in the MKWINOS/2 package but is recreated whenever MKWINOS2.DBX is updated or any program changes to MKWINOS/2 dictate.
    This is an updated copy of the \OS2\INSTALL\DATABASE.TXT file shipped with each copy of OS/2. MKWINOS2.DBX can be updated to include any additional program settings you wish.
    This file is an internal representation of the file and pathing data contained in MKWINOS2.DBX. It is distributed in the MKWINOS/2 package but is recreated whenever MKWINOS2.DBX is updated or any program changes to MKWINOS/2 dictate.
    This file contains the key to enable MKWINOS/2 as well as serving as the repository for any customization you choose for MKWINOS/2.
    This log file is created whenever the debug option is specified for MKWINOS2. It is intended to assist in any problem diagnosis with MKWINOS2.
    The MKWINOS/2 processing routines for an OS/2 system with Personal REXX from Quercus Systems.
    A report file created by running MKWINOS/2. This file contains a summary of the tasks performed when MKWINOS/2 is run. It also contains information about any erroneous conditions MKWINOS/2 found. The report file contains the following groups of information:

1) The contents of the MKWINOS2.KEY file.

2) Any .GRP files found in the Windows directory that were not referenced in PROGMAN.INI - in essence unused .GRP files.

3) Files which will be copied from the Windows directory to the WINOS2 directory (full pack only).

4) Group & program entries from C:\WIN-311\PROGMAN.INI. These will be annotated with any special considerations which should be addressed for the group or program entry. For example, unresolved .EXE paths, ambiguous MKWINOS2.DBX settings, etc.

    The MKWINOS/2 processing routines for a standard OS/2 SAA REXX environment.
    IBM PC DOS program icon.
    REXXLIB (see below) for Personal REXX from Quercus Systems.
    A procedural command file created by MKWINBAK that restores the \OS2\MDOS\WINOS2 directory to the contents saved when MKWINBAK was last run.
    A three byte file containing the letter Y and used as redirected input to provide a reply of Y to the system inquiry: Are you sure (Y/N). The presence of this file also serves as a control mechanism for the backup facility.
    This file in ASCII text format.
    An OS/2 application program interface from Quercus Systems that provides the expanded capabilities in REXX required by MKWINOS/2. It is absolutely necessary that the version of REXXLIB distributed with MKWINOS/2, or a newer version, be used with MKWINOS/2 as there are functions that have been added to REXXLIB expressly for MKWINOS/2. Use of prior versions of REXXLIB will result in a MKWINOS/2 error message.REXXLIB is a copyrighted program product from Quercus Systems and is distributed with the permission of Quercus Systems. Its use is restricted to MKWINOS/2 unless you are a licensed REXXLIB user. Licensed REXXLIB users may delete this copy of REXXLIB if a newer version already exists in a LIBPATHed directory. It is suggested that the latest version of REXXLIB be retained.

3.2 The MKWINOS2.KEY File

The MKWINOS2.KEY file additionally serves as a repository for optional information used by the MKWINOS/2 processing routines. If the key to enable the full functionality of MKWINOS/2 is present, it MUST be the first line of the file and in the following format (white space and case is irrelevant):

1234567 01 02 03 04 05 06 07


1234567 0102 0304 0506 07

3.3 Controlling Windows VDM Settings

MKWINOS/2 is distributed with MKWINOS2.DBX - its own version of the OS/2 file \OS2\INSTALL\DATABASE.TXT which describes the recommended Virtual DOS Machine (VDM) settings for many Windows programs. In the event that you have a program that is not contained in MKWINOS2.DBX, you can specify that it is to use the same settings as any other program that is contained in MKWINOS2.DBX by adding a line to the MKWINOS2.KEY file in the following format:


3.4 OS/2 Folder Presentation Style

The normal presentation style of the folders created by MKWINRUN is ICONVIEW=NONGRID and, for Warp, ALWAYSSORT=NO. These defaults can be changed by adding the following to your MKWINOS2.KEY file:


4. MKWINRUN.CMD Structure

When you run MKWINOS/2, the MKWINRUN.CMD REXX program is created, replacing any previous copy of MKWINRUN.CMD. An abbreviated copy of a MKWINRUN.CMD program in included in Appendix A. The MKWINRUN.CMD program may be altered and rerun as often as desired and/or necessary. The overall structure of the MKWINRUN.CMD program is:

4.1 Startup and banner initialization

This first section of MKWINRUN.CMD contains an introductory comment which includes the version and modification level of the MKWINOS/2 package, the date and time that the MKWINRUN.CMD program was created, the OS/2 video resolution, the number of Program Manager groups processed, and the subject Windows path that was used to build the group and program objects.

4.2 Housekeeping

The housekeeping used to establish the operating environment for MKWINRUN.CMD as well as enabling a trap processing routine in the event of an error occurring in the MKWINRUN.CMD program. A number of initialization variables and their assigned values may be of special interest to you before you launch MKWINRUN:

4.2.1 GBL.ambiguous_program_count

The value assigned to this variable represents the number, if any, of program objects which had multiple representations in MKWINOS2.DBX thus preventing the unique identity of the program from being determined. The values within MKWINOS2.DBX used to try to uniquely identify a Windows program are; the .EXE name, any ASSOC_FILE entries, and the program's TITLE value.All of the program objects in MKWINRUN.CMD that fall into this ambiguous category also contain a comment which can be located by searching on the word "ambiguous" in the MKWINRUN.CMD file. The comment created for each of these program objects will identify the choices that were available in MKWINOS2.DBX.

4.2.2 GBL.font

The font size for all of the newly created objects will match that used on the subject Windows system. The font style defaults to Helv since any alternative font on the Windows system which does directly correspond to an OS/2 type 1 is best left to the users discretion.

4.2.3 GBL.wallpaper

Any .BMP file used as wallpaper on the subject Windows system will be used as the background image for the Program Manager Desktop Equivalent folder. Depending on your color scheme, it may be necessary to turn off the transparency setting for this folder so that the titles of each of the folders contained within the Program Manager Desktop Equivalent folder will be visible.This is accomplished on Warp by selecting the View tab of the Settings notebook for the Program manager Desktop Equivalent folder and un-checking the "transparent background" box.

4.2.4 GBL.icon_view & GBL.sort_option

These variables default to FLOWED and NO respectively. Their generated values can be altered with appropriate entries in the MKWINOS2.KEY file. You can change these values an rerun MKWINRUN to alter the style of the all of the objects created by MKWINRUN.

4.3 Trap processing routine

The REXX trap processing is enabled in MKWINRUN as well as all of the MKWINOS/2 programs. If one of these trap conditions is raised, a message indicating the kind of trap and the line number of the offending instruction is displayed along with the file ?.DMP being created. This file contains all of the variables used in the program along with the values assigned to those variables. The information displayed about the trap is also included in the .DMP file.

4.4 Folder & Program creation

The REXX commands and values used to build each Windows group equivalent folder along with objects for each of the programs contained in each group.

4.5 Common routines

Commonly used internal functions along with DLL registration and trap processing complete the MKWINRUN.CMD program.

4.6 Sequence numbering

Each MKWINRUN.CMD line used to create any of the three groups of OS/2 objects (Program Manager Desktop Equivalent folder, group folder, or program object) contains a 6 character sequence number as a REXX comment - /*ggppnn*/. This 6 character value includes a two digit value representing the relative group number with the Desktop folder being group 00, two digits representing the relative program number within the group (group entries contain 00), and a two digit sequential number. This style was carefully chosen to provide a user not familiar with REXX an intuitive means of generally identifying the contents of the MKWINRUN.CMD program. The sequence numbers are informational only and need not be maintained if you choose to alter the contents of MKWINRUN.CMD.

5. MKWINOS/2 Error Messages

The following error messages can occur when running MKWINOS/2:

MK001� Unable to locate PROGMAN.INI file in ?
The program was unable to locate PROGMAN.INI using the the following criteria in decreasing priority: 1)� Command line
2)� Key file (MKWINOS2.KEY)
3)� WINOS2_LOCATION value in OS2.INI.
MK002� Unable to find the Order= string in PROGMAN.INI
The string Order= could not be found in the PROGMAN.INI file.
MK003� Unable to find the [Groups] string in PROGMAN.INI
The string [Groups] could not be found in the PROGMAN.INI file.
MK004� Error processing Group#= line in PROGMAN.INI (nnn).
A line in the [Groups] stanza could not be recognized. The numeric value indicates the absolute byte position in the file where the line was in error.
MK005� .GRP file name missing. Group is ignored.
The file name shown for the indicated group number in PROGMAN.INI can not be found. The group is ignored.
MK006� File_name is not a valid .GRP file
Parsing of the .GRP file was omitted or may be in error because of one of the following: 1)� Bytes 1-4 do not contain PMCC.
2)� Unable to find "Tag Data" at end of .GRP file
MK007� Unable to locate MKWINOS2.DBX
This is our version of DATABASE.TXT.
MK008� Unable to locate [WINDOWS] in MKWINOS2.DBX
MK009� Unable to locate [OS2] in MKWINOS2.DBX
MK010� Unable to locate the object WIN.INI file in ?
Could not locate WIN.INI in the WINOS2 path.
MK011� Unable to locate WIN.INI file in ?
The program was unable to locate WIN.INI using the the following criteria in decreasing priority: 1)� Command line
2)� Key file (MKWINOS2.KEY)
3)� WINOS2_LOCATION value in OS2.INI.
MK012� REXXLIB is at an obsolete level.
This should not occur as a correct level of REXXLIB is included in the MKWINOS2.ZIP package. Check you LIBPATH= for a path that contains an older copy of REXXLIB.
MK013� External REXX data queue error.
Queue synchronization error. This is an internal program error that It appears to be caused by the RXQUEUE('DEL')� function intermittently not deleting the queue. Testing has shown that the program can be rerun without error.
MK014� Unable to locate SYSTEM.INI file in ?
The program was unable to locate SYSTEM.INI using the the following criteria in decreasing priority: 1)� Command line
2)� Key file (MKWINOS2.KEY)
3)� WINOS2_LOCATION value in OS2.INI.
MK015� Error while parsing source / object WIN.INI file.
This is an internal programming error that It is suffixed by a sequential number to indicate its source.
MK016� Unable to locate MKWINOS2.FIL file.
MK017� MKWINOS2 source code has been altered.
It is necessary that this REXX program be run in the form it was received.

6. Windows file processing - Full Pack only

Many Windows programs require .INI files to hold data specific to a program or groups of programs. MKWINRUN.CMD handles this by identifying those .INI files contained in the subject Windows path that do not exist in the WINOS2 path. This situation only occurs in an OS/2 Warp Blue box (or original OS/2 2.1 - full pack) environment. MKWINRUN copies these .INI files to the WINOS2 directory if either; a) the .INI files does not exist; or b) the .INI file in the WINOS2 directory pre-dates the copy in the subject Windows directory. INI files which are part of the Windows program itself (e.g. CONTROL.INI, PROGMAN.INI, SYSTEM.INI, WIN.INI) are not copied.

If any Windows group windows are open or if there are programs in the Windows Startup group when MKWINOS/2 is run, MKWINRUN provides you with the option to shadow the equivalent OS/2 objects into the OS/2 Startup folder (<WP_START>). The default is not to create these shadows and a 30 second time is permitted to reply to MKWINRUN in order to change the default from No to YES.

7. Enabling MKWINOS/2

The demo version of MKWINOS/2 is transformed into the full, commercial version by providing an enabling key as the first line of the MKWINOS2.KEY file. The retail price of MKWINOS/2 key is 19.95 USD (if you require diskette distribution add $7.00). All of the vendors listed below accept credit cards (MasterCard, Visa, Discover, and American Express) or a check payable in US dollars and drawn on a US bank. Credit card numbers should NOT be sent via the Internet. CompuServe members can securely E- mail orders to CompuServe addresses.

7.1 can be obtained Obtaining a MKWINOS/2 key

7.2 Updates and service

The latest version of MKWINOS2.ZIP is available on the Internet via a World Wide Web browser from <>, via FTP from <>, or from CompuServe in Library 1 of the OS2AVEN forum. Updates to the current version of MKWINOS/2 will be available at no additional charge from these electronic repositories. Though MKWINOS/2 is also available from other BBS and online services, C F S Nevada, Inc. only maintains the home sites.

MKWINOS/2 is a trademark of C F S Nevada, Inc.
OS/2 is a registered trademark of IBM
Windows is a registered trademark of Microsoft Corp.

Compliments of NetMind's URL-minder,
you can automatically be notified via E-mail when this page changes: Your E-Mail address: