The word "platform" is used in this document to describe how a particular operating system reads the information on a disk, particularly a CD. A Unix-based machine will read the CD in the same way whether it is Sun Solaris(TM) or Linux. Using this definition of a platform, CDEveryWhere supports four platforms when creating a CD image. They are ISO9660, Microsoft Windows, Unix and Apple Macintosh. All four can coexist on the same CD. The main feature of CDEveryWhere is that all platforms are written to the image regardless of the machine on which the application is running.
The platform options are available on the main screen in the
tab.
These options allow you to select the platforms you want to write to the CD. Click on the folder icon to select or unselect a particular platform. CDEveryWhere can setup your CD to start an application automatically or to open a file when inserted into a Microsoft Windows machine or Macintosh. See the AutoRun/AutoStart section for details. Details on each platform and any additional options are given below. The default options are adequate for most CDs. Long filename support is enabled for all platforms by default.
ISO9660 is the name of the standard CD-ROM format that has been in use since 1988. It was designed after the industry standard High Sierra format. Nearly all computers support this format. However, it places severe limitations on the content of the CD.
Filenames can contain only uppercase ASCII letters, digits and the underscore "_". ISO9660 defines two levels of interchange (i.e. "limitations") pertaining to filenames that can be used. Level 1 requires that each filename consist of 0 to 8 characters, a period and 0 to 3 characters. This is also known as MS-DOS 8.3 filenames. The last three characters after the period are called the extension. Level 2 does not require an extension but limits the filename length to 31 characters.
CDEveryWhere also allows you to ignore the ISO naming restrictions. Under this option, filenames may be 128 characters in length and include any characters except "/", "\", ":", "*", and "?". This option is not recommended unless you are familar with the ISO9660 format and how your end user's system will handle it.
ISO9660 also does not allow more than 8 levels of directories. This means that you cannot have a file named "/A/B/C/D/E/F/G/H/I" on the CD.
Settings for the ISO9660 format does not affect long filename support for Microsoft Windows, Macintosh or Unix. Level 1 is highly recommended for maximum compatibility.
MS-DOS and Windows 3.x can only read an ISO9660 Level 1 CD. If you want to read the CD on one of these platforms or on other older systems, you must select "Level 1."
If you want to change how filenames are handled with ISO9660, click the "Advanced Options" button. The following dialog will appear. Make your selection and click "OK."
Microsoft has defined a CD format to support long filenames on Windows; it is called Joliet. Filenames may have up to 64 characters. This format uses Unicode to support international characters and CDEveryWhere will correctly write most international characters to the CD. However, your end users must have the correct fonts installed to read the names correctly.
CDEveryWhere supports all Unix file and directory attributes. If you are not familar will Unix, you may skip reading this section. Long filename support for Unix is enabled by default and options are set for an optimal distribution CD. You can control several options pertaining to the Unix system by clicking on the "Advanced Options" button to show the dialog below.
Unicode is supported on Unix CDs using UTF8. This format can support international character sets while being compatible with all Unix variants.
CDEveryWhere supports all Unix attributes when connected to a Unix FTP server. Using FTP you can create your Unix CD from a PC or Macintosh. See the section on FTP for more details.
The owner and group IDs assigned to each file are recorded to the CD. When CDEveryWhere is running on a Unix system or connected to a Unix FTP server, owner and group IDs are preserved. Otherwise, the owner ID is taken from the "User ID" field and the group ID from the "Group ID" field. If you want to specifically set the owner and group ID even on Unix, deselect the "Preserve" checkbox.
CDEveryWhere preserves permissions on Unix systems and Unix FTP connections. Other systems will have all readable, all writeable and all executable permissions, i.e. "rwxrwxrwx". The "Merge User/Group/Everyone" option is useful for distribution CDs. When enabled, if one readable attribute is set, all will be set. The writeable and executable bits are set similarly.
Symbolic links are used quite often in a Unix filesystem. CDEveryWhere supports symbolic links and attempts to preserve them on the CD. However, there are cases when a link is present on the CD, but the link destination is not. The "Copy Destination" option controls what happens. When enabled, the link is changed to a regular file and the destination's contents are copied into the CD. If this option is disabled, the link is written as an absolute link to the source filesystem.
If the "Create links to duplicate files" option is enabled, CDEveryWhere will check for files that are included on the CD more than once. The duplicate files are changed to symbolic links. Copying the CD to the hard drive will reduce the space needed because the duplicates are links. If disabled, duplicate files are still checked, but a regular file is created for each and will point to the same data on the CD.
Broken links are written as an absolute link to the source filesystem.
The archiving and distribution buttons are conveniences for you to set the other options. If you are creating a distribution CD, click the "Distribution" button. If you are archiving data, click the "Archiving" button.
Filenames on the Macintosh are limited to 31 characters. CDEveryWhere will truncate longer names and rename them for you.
Due to the nature of the Macintosh filesystem, the amount of data that can exist on the CD is typically less than that of Microsoft Windows or Unix. The maximum size depends on the number of files in the image. A small number (a few hundred) of large files will not affect the maximum very much, but a large number (a few thousand) small files will impact the size. You will notice a large increase in the CD size over your file size; this is normal.
The Macintosh has several additional features that makes it more difficult to support on non-Macintosh machines. CDEveryWhere is designed to make creating Macintosh CDs as easy as possible. There is a greater amount of configuration available for the Macintosh platform to take advantage of the features. In most cases the default settings are adequate.
If you are unfamilar with the Macintosh, CDEveryWhere makes it easy for you. Store your Macintosh files on your PC or Unix system using MacBinary (filename typically ends with "*.bin") or BinHex (filename typically ends with "*.hqx"). Add these files to the layout and they will be extracted for you. See the Hints page for copying Macintosh files to a PC or Unix machine in MacBinary format.
The first and foremost problem with supporting Macintosh is the existence of two forks for each file. This basically means each file is actually two files, with each part called a fork. There is a data fork and a resource fork. The data fork can be thought of as a Unix or Windows file. It can contain any data and it must be read by an application, except for the case of an executable which is read by the operating system. The resource fork has a structure defined by Apple Computer, Inc. Most other operating systems, including Windows and Unix, do not support storing Macintosh files. Therefore, special formats have been developed to do this. Two of these are called MacBinary and BinHex. MacBinary files typically use a ".bin" extension, and BinHex use ".hqx".
CDEveryWhere can decode these files into the data and resource forks automatically when creating the image. You can include Macintosh applications and other files that use resource forks on an image without using a Macintosh. One example is including the Adobe Acrobat Reader(TM) on your CD. Since Acrobat files are cross-platform, you will want to include the application for as many operating systems as possible. You can download the MacBinary or BinHex format of the installer to your hard drive and CDEveryWhere will expand it for you.
You can configure the various Macintosh options by clicking the "Advanced Options" button on the professional versions of CDEveryWhere. If you have the standard or personal version, the rest of this section does not apply to you.
There are two attributes that are important to Macintosh files. These are the type and creator. Every file has a four-character type code that indicates the content of the file. This is used by an application to know what to expect in the data fork. The creator is a four-character application identifier. These two attributes allow a file to be double-clicked in the Mac OS environment and the correct application is loaded. CDEveryWhere also supports these attributes in one of two ways. The first is the type/creator database which each file is checked against to determine their correct type and creator. The second way is using MacBinary and BinHex files. The type and creator information is stored in these formats.
The type/creator database can use either a pattern in the filename, such as the extension, or scan the content of the file, or both.
You have complete control over the database. You may add, remove or edit the file types.
Types are defined using the dialog shown to the below. The Name field is a descriptive name for the user of CDEveryWhere. It is not written to the image or used elsewhere. The type and creator are both four character fields. The creator is registered with Apple Computer, Inc. The type is application-dependent. You must know the type and creator exactly for the Macintosh to recognize the file's application.
The "File Pattern" field is used to match the filename to a given type and creator. The example below would match any files with a pdf extension to the type "PDF" and creator "CARO". You may have several patterns for a given type.
The "Content Matching" table is a list of regular expressions that are evaluated on the first 512 bytes of the file's data. The regular expression language is too extensive to describe here, but it is the standard used with many utilities such as grep. If any of the expressions match, then the type is accepted for that file. If the "Required" field is selected, then those expressions must match for the type to be accepted.
The "Required?" checkbox in the dialog box above allows you to do some validation on the files when "Scan file content to determine type". CDEveryWhere won't assign the type and creator unless the content is matched. When this option is off, CDEveryWhere needs only to match the filename to assign this type/creator. The "Required?" option is Off by default to increase performance. The database is large enough that most files will be found by pattern. If you are creating an image from an FTP site, you will usually want to set this option Off. Each file that doesn't match by pattern will be partially downloaded and scanned from the site. This can significantly slow down the writing time.
New Feature - As of version 2.0 of CDEveryWhere you can now set your default database. You will notice two buttons, "Set Default Database" and "Reset Default Database" in the 2nd picture above. "Set Default Database" will save the current database, including any changes you have made, so that the next time you run CDEveryWhere your changes will still be in effect. Clicking the "Reset Default Database" button will restore the database to it's original values when you downloaded CDEveryWhere..
Files not matched in the database are given a default type. The default is to open the file with SimpleText. You can edit the default type using the "Edit Default..." or set it to an entry in the database by selecting the entry and clicking the "Set Default" button.
The screenshot shown here allows you to select which files are decoded as MacBinary and BinHex. The file pattern uses the image's filename to determine how to decode. One "*" wildcard may be used in name. The decoding field selects how to decode. In all cases, if a file matches the pattern but errors are detected during decoding, the file is not decoded and is written to the image as is.
You may also use the right-click menu in the layout to determine how to decode. The MacBinary option works with all "*.bin" files in the directory and BinHex works with "*.hqx". These selections are reflected in the decoding table shown above.
Only the Professional version of CDEveryWhere allows access to the decoding and type database. The Standard and Personal versions use the decoding shown and will not scan file content.
Microsoft Windows and Unix support non-ASCII characters using Unicode. Macintosh does not support Unicode except in HFS+. CDEveryWhere will choose a Macintosh character set based on your computer's character set. If you want to change the default, select it from the list shown below. Your end users must have this character set selected to display the filenames correctly.
The "Scan file content to determine type" checkbox in the dialog below enables content scanning. This option is Off by default to increase performance. The database is large enough that most files will be found by pattern. If you are creating an image from an FTP site, you will usually want to set this option Off. Each file that doesn't match by pattern will be partially downloaded and scanned from the site. This can significantly slow down the writing time.