MKS Homepage v9.0 

MKS Toolkit is the leader in UNIX to Windows user productivity, platform interoperability, and application portability.

MKS Inc.
12701 Fair Lakes Circle, Suite 350
Fairfax VA 22033-3831 USA



MKS Toolkit 9.0

MKS Toolkit is the leader in UNIX to Window scripting, connectivity, and application migration. Enhancements found in the 9.0 release include multibyte and wide character support, vi/viw enhancements, as well as new utilities and APIs.

The Fixed Problems section discusses the problems resolved in this release. The following section discusses the specific enhancements in much greater detail.

Multibyte and Wide Character Support

MKS Toolkit utilities now support multibyte (UTF-8) and wide (Unicode) characters as well as extended ASCII characters within file content, file and directory names, pipes, environment variables, console displays, and other areas. MKS Toolkit UNIX APIs continue to support the Double Byte Character Set (DBCS).

Vi/Viw Enhancements

The vi and viw editors have been enhanced with several new features.

  • Visual Studio Plug-In. viw can be now used as the editor for Microsoft Visual Studio. Details can be found in the viw_vs reference page in the online MKS Toolkit Utilities Reference.

  • Syntax Highlighting. vi and viw can now highlight commands, reserved words, comments, and so forth using customizable rules.

  • Large File Support. vi and viw can now support files larger than 2 GB in size.

Updated Perl

Perl has been updated to version 5.8 and with this update, a variety of new features are now available to MKS Toolkit Perl users:

  • fork() Now Available. Unlike pervious versions, Perl 5.8 for MKS Toolkit supports the fork() function.

  • 32-bit and 64-bit Executables. Perl 5.8 includes executables for both 32-bit and 64-bit Windows platforms. The MKS Toolkit installer automatically installs the correct executable for your system.

  • Multithreaded. Perl 5.8 features "interpreter threads" ("ithreads", for short). This is a new multithreading implementation of threads intended to replace earlier implementations, such as "5.005 threads".

  • Standard HTML-Based Perl Reference Pages. The MKS Toolkit version of Perl 5.8 includes the standard HTML-based Perl reference pages. These pages can be viewed from the MKS Toolkit Perl Reference available on the MKS Toolkit Start menu or via the man -H command. Specifically:
       man -H mksperl
    is the equivalent of using the Start menu item.

Visual SFTP Enhancements

Several enhancements have been made to the Visual SFTP tool:

  • Drag and Drop Directories. Visual SFTP now lets you drag and drop directories in the same manner as regular files.

  • Editable Permissions. You can now edit the permissions for the appropriate files using Visual SFTP.

  • Large File Support. Visual SFTP can now handle files of any size.

  • Performance Enhancements. Various small enhancements have been made to Visual SFTP to improve its performance and stability.

IPv6 Support

MKS Toolkit utilities and APIs now support IPv6 addresses in addition to traditonal IPv4 addresses.

  • Secure Utilities. The secsh utility and other related utilities have been updated to allow IPv6 addresses. To turn on support for IPv6 addresses, launch the the MKS Toolkit control panel applet, select the Secure Shell Service tab and click Advanced.... Then, from the Secure Shell Server Configuration dialog that appears, select the TCP/IP tab and add a listening address of ::0.

  • New APIs. The follwing new APIs have been added to MKS Toolkit to help support IPv6 address:
  • Enhanced APIs. In addition to the new APIs listed above, many APIs have been enhanced to allow the use of IPv6 addresses as well as IPv4 addresses.

New Utilities

Several new utilities have been added to MKS Toolkit:

  • dgstsum and Related Utilities. The new dgstsum utility calculates and compares message digests (checksums) for specified files using a variety of digest formats.

    The following additional utilities are similar to dgstsum but use the digest format indicated by the utility name:
  • mksrv. The new mksrv utility lets you set up any standard script or program to run as a Windows service.

  • mktemp. The new mktemp utility creates a temporary file with a named based upon a provided template.

  • pwrmgr. The new pwrmgr utility allows you to display defined power schemes and to switch between them.

  • shexec. The new shexec utility lets you automatically execute any arbitrary application or file.

New Porting APIs

New APIs for clocks, timers and other SUSv3 functions have been added. For more information on these functions, please refer to the appropriate reference pages in the MKS Toolkit UNIX API Reference available from the MKS Toolkit Start menu or from the MKS web site at

      clock_getcpuclockid(), clock_getres(), clock_gettime(), clock_nanosleep(), clock_settime(), pthread_getcpuclockid()

      timer_create(), timer_delete(), timer_getoverrun(), timer_gettime(), timer_settime()

    Temporary Files
      mkdtemp(), mkstemps(), mkstemps64(), mkstemp64()

    File I/O
      pread(), pread64(), pwrite(), pwrite64(),

Miscellaneous Enhancements

A variety of minor enhancements have been made to several utilities and APIs:

  • Tab Completion of Environment Variables. The MKS KornShell now allows you to use tab completion with environment variables.

  • Expanded API PATH_MAX. The size of PATH_MAX used by the MKS Toolkit UNIX APIs has been increased to 4096 bytes on Windows NT/2000/XP/2003 systems.

  • man Now Supports HTML Reference Pages. The man utility can now display HTML reference pages using the -H option.

Operating System and Compiler Support

  • Support for Visual Studio.NET 2005. MKS Toolkit for Developers and all higher products have been tested with Beta 2 of Microsoft Visual Studio.NET 2005. Full support for Visual Studio.NET will be available shortly after its formal release.

  • Support for 64-bit Windows. MKS Toolkit for Enterprise Developers 64-bit Edition now supports Windows XP x64 Edition and Windows Server 2003 x64 Edition as welli as Windows Server 2003 for Itanium processors.

  • Support for Windows Server 2003 Service Pack 1. MKS Toolkit is now fully compatible with the latest beta release or release candidate for Microsoft Windows Server 2003 Service Pack 1.

Hardware and Software Requirements

MKS Toolkit products do not have any particular hardware requirements. Any machine that is sufficient to run the underlying operating system is sufficient. All MKS Toolkit products run on Windows systems with Intel 32-bit, IA64, or Extended Architecture 64-bit (such as AMD64) processors.

MKS Toolkit products have the following software requirements:

  • Platforms. You can install all MKS Toolkit products on:
    • Windows Me
    • Windows NT (Workstation, Server, or Terminal Server) with Service Pack 6+ (Service Pack 6a is recommended)
    • Windows 2000 (Professional, Server, or Advanced Server)
    • Windows XP (Home or Professional)
    • Windows Server 2003

    Note: MKS Toolkit 9.0 is the last planned release of MKS Toolkit for the Windows Me operating system.

  • FAT File Systems. It is not currently possible to adequately secure an MKS Toolkit installation on a FAT file system. Therefore, on Windows NT/2000/XP/2003 systems, we recommend installing MKS Toolkit on an NTFS file system.

  • Limitations for Windows Me. Many MKS Toolkit utilities are Windows NT/2000/XP/2003-specific. These are clearly documented in the reference pages in the MKS Toolkit Utilities Reference, available from the Start menu.

    In addition, because of the lack of certain operating features on Windows Me, some MKS Toolkit UNIX APIs run in degraded mode (or return without doing anything) on those platforms. These are discussed in the MKS Toolkit UNIX to Windows Porting Guide and in great detail in the reference page for each API in the online MKS Toolkit UNIX APIs Reference which you can access via the Start menu.

    Also, you cannot do 64-bit cross development on a Windows Me system. When you install MKS Toolkit for Enterprise Developers 64-bit Edition on Windows Me, the libraries required for 64-bit development are not installed. If you also have a license for the 32-bit libraries, those libraries will be installed instead, giving you the equivalent of MKS Toolkit for Enteprise Developers. If you do not have a license for the 32-bit libraries, no libraries are installed, giving you the equivalent of MKS Toolkit for Developers.

  • Compilers. The MKS Toolkit development products work with various compilers and compilation environments. The "Using Languages" chapter of the MKS Toolkit UNIX to Windows Porting Guide describes how to use these MKS Toolkit products with C, C++, and Fortran.

    MKS Toolkit for Developers supports the following compilers:
    • Microsoft Visual C++ 6.0, 7.0, 7.1, or 8.0 (either as a separate product or as part of Microsoft Visual Studio)
    • Microsoft C++ 2003 Toolkit (requires Microsoft Platform SDK)
    • Intel C++ 8.x (requires Microsoft Platform SDK)
    • GCC 3.3.1, as provided in the MKS Toolkit Resource Kit

    In addition, MKS Toolkit for Professional Developers and MKS Toolkit for Enterprise Developers also support the following compilation environments:
    • both versions of the Standard Template Library
    • the Absoft Pro Fortran f90/f77 compiler, versions 5.0, 6.0, 7.0, 8.0, and 9.0 (

    MKS Toolkit for Enterprise Developers 64-bit Edition supports the following additional 64-bit compilers:
    • Visual C++ from Microsoft Visual Studio.NET 2005
    • Microsoft Platform SDK Compiler
    • Intel C++ 8.0 (requires Microsoft Platform SDK)

    For those 64-bit compilers that require the Microsoft Platform SDK (that is, the Intel C++ 8.0 compiler), the version of the SDK required depends upon your system's processor. For those processors with IA64 architecture, you can use any version of the SDK from February 2003 or later, such as the one available for download at For Extended Architecture processors, you must use Build 1289 or later of the SDK.

    Note:Currently, Absoft does not provide a 64-bit Fortran compiler and associated libraries for the Windows 64-bit platforms. Once this support is available from Absoft, MKS Toolkit for Enterprise Developers 64-bit Edition will provide Fortran support.

  • Windows Task Scheduler. The MKS Toolkit Scheduler, the command-line scheduling utilities (at, batch, crontab, and wts) require Internet Explorer 4 (or later) and the Windows Task Scheduler. On Windows Me, 2000, XP, and 2003 these are already installed. On Windows NT 4, you should follow these steps to install the Windows Task Scheduler:

    1. Select Add/Remove Programs from the Control Panel. The list of currently installed programs appears.

    2. Select Microsoft Internet Explorer and click Add/Remove. A dialog appears prompting you for action.

    3. Select Add a component to Internet Explorer. A list of additional Internet Explorer components appears.

    4. If you are running Internet Explorer 5+, select Offline Browsing Pack. If you are running Internet Explorer 4, select Additional Explorer Enhancements.

    Alternatively, you can download Internet Explorer 5 or 6 and their add-ons from

Installing MKS Toolkit

If you have MKS Toolkit 7.5 or earlier, or if you have a previous version of MKS NuTCRACKER Professional, we recommend that you uninstall it, or install MKS Toolkit 9.0 on another machine.

When installing MKS Toolkit on a 64-bit machine, you must first uninstall any previously installed MKS Toolkit releases (version 8.6 and earlier).

When installing MKS Toolkit for Enterprise Developers 64-bit Edition on any platform, you must first uninstall any existing MKS Toolkit installation.

When installing MKS Toolkit for Professional Developers or MKS Toolkit for Enterprise Developers, you must install from an account with local or domain administrator privileges. You do not need to be an Administrator, but your login ID must be a member of the local or domain Windows Administrators group before you can install.

All MKS Toolkit products share a common installer. If you are installing from a CD, insert the MKS Toolkit distribution CD; the installer should start automatically. If you are installing from an electronic distribution, run the self-extracting installer.

To install MKS Toolkit, click the Install Toolkit button and follow the instructions on the dialogs that appear.

Note: You should turn off all virus protection software before installing MKS Toolkit. Such software can sometimes cause the installation to be interrupted and rolled back. Once you have installed MKS Toolkit, you can turn virus protection back on.

For step-by-step installation instructions and an installation FAQ, see

Silent and Administrative Installations

For step-by-step installation instructions and information on administrative and silent installations for MKS Toolkit see

Additional Components on the MKS Toolkit CD

The MKS Toolkit CD also includes several items that are not installed as part of the normal installation procedure. These are:

  • The samples directory. This directory contains a collection of sample source code for use with MKS Toolkit for Professional Developers and MKS Toolkit for Enterprise Developers. Though they can be modified and compiled for 64-bit Windows systems, these samples were designed and tested on 32-bit Windows platforms using the MKS Toolkit porting and migration products.

    These samples include binaries for cpp, gawk, gmake, install, and the groff suite of utilities.

  • The redist directory. This directory contains a collection of utilities and drivers that may be needed to get full use out of MKS products. This includes the recent versions of the Jet Database driver, Microsoft Data Access Components (MDAC), Microsoft Management Console (MMC) and Adobe® Acrobat® Reader.

Uninstalling MKS Toolkit

Uninstalling MKS Toolkit 8.x or 9.x

To uninstall MKS Toolkit, use the following procedure:

  1. From the Control Panel run Add/Remove Programs.

  2. Remove MKS Toolkit 8.x or MKS Toolkit 9.x, as appropriate.

  3. Remove SCO XVision Eclipse. (This is only necessary if the XVision X server is installed. This X Server is normally only installed with MKS Toolkit for Interoperability and MKS Toolkit for Enterprise Developers.)

You must reboot your system before reinstalling MKS Toolkit.

Uninstalling Previous Versions of MKS Toolkit

To uninstall a 7.x version of MKS Toolkit, run the TKUninstall utility found in your system directory (you can find your system directory with the windir -s command).

Alternatively, you can uninstall the components manually with the following procedure:

  1. From the Control Panel, run Add/Remove Programs.

  2. Remove, in order, each of the following (if present):
      MKS Evaluation Guide
      MKS Toolkit 7.x
      MKS Platform Components 7.x

You must reboot your system before reinstalling MKS Toolkit.

Known Issues

The following known issues exist in MKS Toolkit 9.0:

  • Security ID Warning. When the TK_NTSERCURITYINFO_OFF environment variable is set, it turns off all security related features. This includes the ability to look up user and group IDs. As a result, utilities such as id, chown, and chgrp that depend upon user and group IDs will not work properly when this variable is set.

  • _NutConf(). MKS Toolkit 8.6 added large file support and as a result inadvertently broke backward binary compatibility for applications linked against previous import libraries. With 8.6p2 and 8.7 we added an environment variable to supplement the _NuTConf() to revert the behaviour of the runtime to pre-8.6 form such that read beyond a 2G boundary without large file support enabled will not result in an error. set NUT_DISABLE_FULL_LFS_SEMANTICS=1 to do the equivalent of _NutConf(_NC_SET_FULL_LFS_SEMANTICS, FALSE) without the need to recompile or relink your application.

  • Path Name Issue. If you install the Microsoft Platform SDK on a 64-bit machine, and your PATH environment variable contains elements that begin with C:\Program files (x86), the script for setting up the 64-bit build environment included with the platform SDK does not work. There are two possible solutions:

    • Modify the PATH environment variable in the system environment to substitute the short path variant of the folder name Program Files (x86). The short path variant is normally C:\progra~2. You can use dir /x from a command window to be sure.

    • Modify the file setenv.bat in the root directory of the platform SDK tree. Find the section that looks like this:
              REM ---------------------------------------------
              REM Patch path to put Bin\WinNT\NT4 in path ahead
              REM of NT5 tools that don't run on NT4
              REM ---------------------------------------------
              For /F "delims=;" %%i IN ('Cmd /c Ver') DO (
                IF "%%i"=="Windows NT Version 4.0" (
                  Set Path=%MSSdk%\Bin\WinNT\NT4;%Path%
                  Goto Finish
              Goto Finish
      and remove or comment out the line that begins Set Path=.

  • X Server Support. The SCO X Vision X server (included in some MKS Toolkit products) is a 32-bit application that will run on the Extended Architecture 64-bit platforms in 32-bit emulation mode. If you require a 64-bit native X server, and not a 32-bit client display server, MKS recommends the Hummingbird Exceed product which is available directly from Hummingbird Ltd..

  • The uil Compiler. The uil compiler used with some Motif applications can generate uid files that are compatible with either 32 or 64-bit platforms. A single uid file cannot be used for both situations. This is consistent with the documented behavior of the uil compiler. The uil compiler normally will try to figure out whether to build the 32-bit or 64-bit version based on your build environment. If the TARGET_CPU environment variable is set to either "AMD64" or "IA64", the uil compiler builds a 64-bit compatible uid file; otherwise, it builds a 32-bit compatible uid file. The TARGET_CPU environment variable is set as appropriate for all 64-bit NuTCRACKER build environments launched from the Start menu.

    The uid file that is generated by the uil compiler in this release is not guaranteed to be portable to other 64-bit UNIX platforms.

Customer Support

When reporting a problem, you will need certain information about your product, which you can find on the Support Information of the MKS Toolkit Control Panel Applet.

Contact MKS customer support at:

Web Site:
Online Request Form:
Telephone: +1-703-803-7660
(9:00am to 7:00pm ET, Mon-Fri, except holidays)
Fax: +1-703-803-3344

Additional MKS Toolkit Resources

There are several other sources for additional information about our MKS Toolkit products.

We have general product information, including technical specifications, detailed utility listings, and datasheets at:

We offer a resource kit including example scripts, additional utilities, more tutorials, and a wide variety of other useful information at:

We have several additional articles, tutorials, and white papers about using features of the MKS Toolkit at:

Through the years, we have accumulated a lot of technical details about the MKS Toolkit products and have put this information in a searchable database at:

Our customers commonly ask certain questions. These questions and their answers are in our Frequently Asked Questions pages at:

Known installation issues are listed at:

Fixed Problems

Several problems were fixed in MKS Toolkit 9.0. These are listed at:

Fixed Problems in Previous Releases