PTC MKS Toolkit Product FAQs

PTC MKS Toolkit 10.2



MKS Toolkit Product FAQs

General

Licensing Activation System Requirements Connectivity Utilities Porting Deployment Additional Resources



General

What is the PTC MKS Toolkit product family?

    PTC MKS Toolkit products enable you to preserve your investments in UNIX software and expertise as you deploy Windows-based workstations and servers, because Toolkit allows you to port scripts, source code, and working environments quickly and easily from UNIX to Windows.

    The PTC MKS Toolkit products also allow pure Windows users to automate routine tasks with scripting and increase productivity with file and text manipulation tools, batch search and replace tools, and scheduling interfaces. PTC MKS Toolkit products provide solutions in the following areas:

    • User Productivity - a variety of UNIX shells and over 400 command-line utilities help make your software engineers and system administrators more productive on their Windows machines.

    • Platform Interoperability - a selection of connectivity utilities provides you with secure interactive access to both your remote Windows servers and workstations and your legacy systems.

    • Application Portability - more than 2700 APIs let you port all manner of UNIX/Linux applications to Windows, while maintaining a single source code baseline.

    PTC MKS Toolkit for Developers (Windows Scripting and Automation)

    PTC MKS Toolkit for Enterprise Developers (UNIX to Windows Porting and Application Migration)

    PTC MKS Toolkit for Enterprise Developers 64-bit Edition (UNIX to Windows Porting and Application Migration to 64-bit Windows)

    Other PTC MKS Toolkit Products


Are PTC MKS Toolkit products POSIX compliant?

    We have implemented all the POSIX.1 APIs, including POSIX threads (which our competitors do not fully support), and have all the POSIX.2 and some of POSIX.4 APIs, commands, and utilities as well. Hundreds of customers have ported POSIX-conformant applications to Windows using MKS Toolkit porting products without any problems.

    At the same time, we are aiming for harmony between UNIX and Windows. For example, PTC MKS Toolkit does not comply with POSIX's file name case sensitivity requirement, because case sensitive files will cause all of Microsoft's file system utilities to fail.

    And more importantly to real world applications, PTC MKS Toolkit porting products include the most important non-POSIX APIs from the most widely used UNIX versions: Linux, Solaris, AIX, HP-UX, and many others.


What standards does PTC MKS Toolkit support?

    The extensive and market-leading suite of over 2700 APIs in PTC MKS Toolkit for Enterprise Developers represents the most frequently used APIs from UNIX 98, POSIX, 4.4BSD, ANSI C, OpenGL, Motif, and X11R6. Where these standards conflict, PTC MKS Toolkit aligns with UNIX 98, the most recent and most comprehensive of the standards.

    Rather than being a slave to standards, however, PTC MKS Toolkit is inclusive, going beyond the standards to meet customer needs. Customers have ported to Windows using MKS Toolkit from over 20 different brands of UNIX. As an example, while PTC MKS Toolkit implements the POSIX/UNIX 98 threads APIs, it also supplies mappings for both DCE and Solaris threads. And, PTC MKS Toolkit products continue to deliver what customers need in supporting X Windows, Motif, OpenGL, and curses.


How do the PTC MKS Toolkit porting products enhance my application?

    Because PTC MKS Toolkit is implemented on Win32, ported UNIX applications can be enhanced in several major ways:

    • All the critical APIs for commercial databases (e.g., Oracle, Informix, Sybase, SQL Server), Online Transaction Processing (e.g., Transaction Server, Tuxedo, Encina), third-party widgets (e.g., ICS, INT), NFS, and thousands of other APIs that your application may require, are available and can simply be linked into MKS Toolkit ported applications.

    • Porting to Windows with PTC MKS Toolkit automatically gives you an implementation for all Windows operating systems (see the supported versions chart for more details).

    • You can take simple steps to make your application feel more Windows-like, such as storing and retrieving configuration information in the Windows registry and using WinHelp to provide Windows-style help.

    • You can convert UNIX applications into Win32 DLLs and COM components, to be used and reused both in- and out-of-process (distributed with DCOM) by new and existing Windows applications.

    • You have access to the Microsoft Visual C++ development environment to build and debug any application ported from UNIX, including X and Motif applications.


Is PTC MKS Toolkit hard to use?

    No. PTC MKS Toolkit feels like UNIX and UNIX developers can use PTC MKS Toolkit immediately, without any special training. The PTC MKS Toolkit UNIX APIs, commands, and utilities are the same as on UNIX, so porting to Windows is just like porting to any other UNIX platform. In addition, PTC MKS Toolkit supports make, imake, and GNU make as well as the popular configuration tools, so that most makefiles work almost immediately, with little to no modification.

    UNIX applications can be ported to Windows astonishingly quickly, with very little effort. Typically, 99.9% of the code is ported with no change whatsoever. Many customers have found that porting with PTC MKS Toolkit requires no more, and sometimes less, effort than porting between different versions of UNIX.

    Furthermore, not only is PTC MKS Toolkit easy to use, but it eases the Win32 learning curve. Developers can port quickly without having to know Win32, and can learn Windows features and capabilities incrementally instead of having to learn the entire Win32 API all at once.


What types of UNIX programs are most suitable for porting with PTC MKS Toolkit?

    PTC MKS Toolkit porting products have been used successfully to port an extremely wide range of business, government and scientific applications, including large, mission critical, database, process control, military command and control, financial, CAD/CAM, telecommunications, network management, and systems management applications, as well as small utilities.

    While PTC MKS Toolkit porting products are extremely good at porting most application-level code, you would not use it to port inherently non-portable code, such as device drivers. Still, in many cases, the non-portable parts of your application are small and well isolated and you can use MKS Toolkit to port the remainder of the application, while you concentrate your engineering resources on porting the non-portable pieces, minimizing both the time to port and the amount of new code to QA.

    And, for very small programs (less than ten thousand lines of code), and programs that make very little use of UNIX APIs and architecture, it is probably more cost effective to either port without a tool such as PTC MKS Toolkit or to rewrite the code from scratch.


What is so hard about a native port of a UNIX program to Windows? Don't well-structured UNIX programs port directly?

    There are significant semantic differences between UNIX and Win32 APIs. UNIX code generally will require significant modification and/or rewriting to run on Windows. For example, UNIX code that depends on fork(), signals, or UNIX-domain sockets will have to be rearchitected; these facilities do not exist on Windows. Estimates of the amount of time and effort required to manually port a UNIX program to Windows vary, depending on the complexity and size of the UNIX code. For mission-critical applications, the cost of writing and testing new code costs between $3.90 and $4.90 per line of code according to IDC. PTC MKS Toolkit dramatically reduces the time and cost of porting the existing code and makes the effort comparable to a port to any other UNIX platform.

    Consider the following benefits of PTC MKS Toolkit:

    • Using PTC MKS Toolkit developer products, you can maintain a single build environment across UNIX and Windows, preserving your current investment. If you rewrite, you will more than likely have to rewrite and revalidate your makefiles, and you probably have already made a huge investment in your existing makefiles.

    • You can maintain a single source code baseline with PTC MKS Toolkit. If you port yourself, you will almost certainly have two source code baselines. Maintaining multiple baselines is expensive and error-prone.

    • With PTC MKS Toolkit, because you are working from a single source code baseline with minimal changes to your code, your overall QA effort is dramatically reduced and you can focus your QA efforts on very small, isolated changes.

    • PTC MKS Toolkit is a mature and stable product, has been available for over fifteen years, and has ported millions and millions of lines of UNIX code to Windows. PTC MKS Toolkit incorporates all the hard lessons that we have learned through the years – lessons that you can benefit from.


Isn't a native Win32 rewrite of a UNIX program more efficient?

    In general, the PTC MKS Toolkit runtime components that extend Win32 to support UNIX functionality add insignificant overhead. In some cases – very specifically, fork() and UNIX-to-Windows security mapping – PTC MKS Toolkit has to do more and therefore adds slightly more overhead, however our customers generally find that their applications perform acceptably. Furthermore, if you do experience a performance issue, you have the opportunity to use direct Win32 code to resolve the issue, a luxury that you do not have in the POSIX subsystem.


What customer support services are available for MKS products?

    MKS products have a solid and professional support team. Technical support for these MKS products is available during normal business hours via telephone, fax, and electronic mail (tk_support@mkssoftware.com). In addition, we have an online Technical Support form and a Technical FAQ available on our web site.

    Other forms of support are available by special arrangement.

    The customer support policies for the MKS Application Lifecycle Management product line can be found here.


In the information sent to PTC, what precisely is used to uniquely identify a computer system (node)?

    The following pieces of data are combined to create a unique node identifier:
    • CPU string
    • System volume GUID
    • Machine SID
    • Machine UUID (usually stripped out and ignored except under special circumstances)

    In addition, the system’s MAC address(es) are also sent to PTC, but it is not used to identify the node at activation time. However, MAC addresses are used at runtime to validate similarity to the activated node . As a result, changing network cards may result in deactivation. In particular PTC recommends that every available network card be turned on at activation to avoid inadvertent deactivation when changing to a wireless or docking station LAN card that was disabled at the time of activation.


Licensing

What is the simplest way to describe how and when I need to purchase a new license?

    PTC MKS Toolkit is licensed "per Authenticated User"/"per Computer System", so you need a license for every Computer System upon which PTC MKS Toolkit is installed (activated or not) and then a license for every Authenticated User on each Computer System. An Authenticated User who is using PTC MKS Toolkit on more than one Computer System needs a license on each.


I have PTC MKS Toolkit installed on a server which is used for Terminal Services. 20 different users connect to this machine to use an application that uses MKS Toolkit as part of its operation. How many licenses do I need?


I have a server with PTC MKS Toolkit installed. I have 5 system administrators who log in with "follow the sun" style administration. Only one of these users is ever logged in at any one moment. How many licenses do I need to buy?


I use PTC MKS Toolkit as a CGI script from Apache or IIS. How many licenses do I need?

    The PTC MKS Toolkit SLA states that you need one license for every Concurrent Authenticated User. In this case there is a Windows account operating on behalf of the remote connected web user; therefore every web user who hits the page needs a license. Please contact PTC MKS Toolkit Sales for licensing and pricing for this situation.


I have PTC MKS Toolkit installed on Windows Vista. 10 different users connect to the Secure Shell Service. How many licenses do I need?


I have a single person who logs into a Windows Vista machine with 5 different user accounts. How many licenses do I need to buy?

    You would need a total of 5 licenses, one for each Named Authenticated User. The exception to this is the use of "su" or "runas" to impersonate another user in the same logon session. Note there is a difference between a Named Authenticated User and a person.


I have 10 people who all log into the same machine with the same user account. How many licenses do I need?


I have an automated build script that runs under Windows scheduler as "tk_builder" every night. I also have 5 developers who maintain the build scripts on this build server. How many licenses do I need to buy?

    You would need a total of 6 licenses; one license for each developer and one license for the automated builder. In this case "tk_builder" is another Named Authenticated User regardless of the fact that there is no real person.


I need to retire a server currently licensed and in compliance and replace it with a new server. Do I need to buy licenses for this new server in the 2 month interim where both machines are running in parallel?

    You must have a valid license to run PTC MKS Toolkit even if that use is only temporary. Please contact PTC MKS Toolkit Sales to determine if the overlap justifies the issuance of an evaluation license.


My division has 100 PTC MKS Toolkit 8.5 licenses installed on workstations. PCS has lapsed on these 100 licenses. I have bought one copy of PTC MKS Toolkit 9.6. Is it now OK to update all 100 machines and will I automatically get support for this?

    Updating the 100 8.5 licenses using the new 9.6 license is not in compliance with the PTC MKS Toolkit SLA. Nor are you eligible to receive support on the new 9.6 license until the original 100 licenses are brought back under support, either through a support or update contract.


I need PTC MKS Toolkit to install Oracle. How many licenses do I need?

    If you need PTC MKS Toolkit for installing 3rd party software such as Oracle Applications or Sun J2SE/Java 2 SDK, and the only work being done is installation of that software by a system administrator, then a single license is required for each machine that you intend to install the software on. Further, you may not use our evaluation copy for installation or maintenance of any 3rd party software, or for any commercial use, even if you only need a single command for a single one-time-only purpose. Also note: The PTC MKS Toolkit license states that every Authenticated User using the Software requires a license and that only one person may use an Authenticated User account without requiring more licenses, thus, specifically every Oracle Administrator requires a license.


I bought your software from someone claiming to sell downloadable OEM software. I presume I can call in for support and updates?

    The only web site that is authorized for PTC MKS Toolkit downloads is www.mkssoftware.com. You may purchase shrink wrapped copies from many resellers, which are legal copies. Any site claiming to sell downloadable OEM software does not have the right to sell PTC MKS Toolkit at any price.


Does PTC MKS Toolkit have floating licenses?

    No, PTC MKS Toolkit is node fixed. Multi-user licenses attached to each node may be concurrent or be named on that one Computer System. That is, on any given Computer System you may either purchase a license that allows a high water mark of Concurrent Authenticated Users, or specifically name each Authenticated User who will use PTC MKS Toolkit on that Computer System.


Will all versions of PTC MKS Toolkit run on the “next version” of Windows?

    PTC MKS Toolkit will neither install nor run on any operating system not specifically certified as compatible. For example, you will need an upgrade to run on Windows 7 and then to the next version of Windows after that. Of course all licenses under a current PCS contract may be upgraded as soon as the support for the new operating system is released within 30 days of its formal release by Microsoft.


What if I want to resell my application?

    An SLA Amendment is required if you want PTC MKS Toolkit or its runtime options to be bundled with your application for resale. Please contact PTC MKS Toolkit Sales for licensing and pricing for this situation.


Are there site licenses available for PTC MKS Toolkit?

    Yes, PTC offers a variety of site licenses suitable for any size organization. Please contact PTC MKS Toolkit Sales for details.


Does MKS Toolkit have an Export Control Classification Number (ECCN)?

    Yes, an ECCN is an alpha-numeric classification used in the Commerce Control List to identify items for export control purposes and is assigned by the US Department of Commerce Bureau of Industry and Security. The ECCN for MKS Toolkit is 5D002 c. and is exported pursuant to License Exception ENC to both government and non-government end users, pursuant to Section 740.17, paragraph (b)(1) of the EAR. For more information please contact support at https://support.ptc.com


Are partial licenses available for PTC MKS Toolkit?

    PTC does not offer subsets of a given product for sale. For example, you cannot just buy the shell or only the connectivity tools, you must buy the PTC MKS Toolkit product as a whole. Nor may you copy a single binary for use on another machine.


I install PTC MKS Toolkit on 50 Virtual Machines all hosted on one server. 5 different users log in to these VMs to run scripts. The server cannot run all of these machines simultaneously; the practical limit is about 10. How many licenses do I need?


I install PTC MKS Toolkit on 5 nodes of Windows Cluster. I have 5 administrators who manage this Cluster. Two of the nodes are "hot spare" failovers and are not often online. One extra machine is kept turned off as a "cold spare". How licenses do I need?

    You would need a total of 25 licenses, one license for each machine upon which PTC MKS Toolkit is installed and then per Named Authenticated User.


I run PTC MKS Toolkit on my private Vista workstation. But I do have a Sun VirtualBox XP Virtual Machine configured to run in seamless mode. Is it "fair use" to install the same PTC MKS Toolkit license on the VM? It's the same hardware/same user?


In the information sent to PTC, what precisely is used to uniquely identify a computer system (node)?

    The following pieces of data are combined to create a unique node identifier:
    • CPU string
    • System volume GUID
    • Machine SID
    • Machine UUID (usually stripped out and ignored except under special circumstances)

    In addition, the system’s MAC address(es) are also sent to PTC, but it is not used to identify the node at activation time. However, MAC addresses are used at runtime to validate similarity to the activated node . As a result, changing network cards may result in deactivation. In particular PTC recommends that every available network card be turned on at activation to avoid inadvertent deactivation when changing to a wireless or docking station LAN card that was disabled at the time of activation.


Activation

What are the benefits of PTC MKS Toolkit Product Activation?

    The primary benefit of Product Activation is the simplified PTC MKS Toolkit installation procedure. Installation now requires only a single product key similar to those keys used by other industry standard programs as opposed to cumbersome combination of serial number, access key, and web-provided license used by previous versions.

    Additionally, Product Activation makes it easier for IT Administrators to monitor software installation and usage to ensure license compliance (for example, making sure licensing limits have not been exceeded). As a result, corporate customers no longer need to worry about employees making unauthorized copies of PTC MKS Toolkit.


How does Product Activation work?

    Product Activation works by creating a client request on the customer machine, transmitting this request to the PTC Product Activation server, and waiting for an activation response from that server. Once the response has been received and processed, PTC MKS Toolkit is fully activated for use on that machine.

    Previously, a complex access key provided the information required to unlock all the features of your purchased product. However, the new simplified product key is limited in the information it can hold, so the remainder must be retrieved from the PTC Product Activation server during the activation process.

    With a few exceptions, Product Activation is node-fixed and includes the list of users on the machine entitled to use PTC MKS Toolkit.


What information is transmitted to PTC during Product Activation?

    The following information is included in the client request sent to the PTC Product Activation server:
    • The username and password for the PTC Product Activation account being used to activate the software. These must be provided at activation time.
    • The list of users to be activated provided at activation time.
    • Additional data to uniquely identify the physical machine being activated.
    • License information, such as the product key.
    • The local time.
    Customers who have privacy concerns can use the PTC MKS Toolkit control panel applet to view the information to be transmitted during the Product Activation process.


Does PTC MKS Toolkit ever "phone home"?

    Once Product Activation is complete, PTC MKS Toolkit only attempts to contact the PTC Product Activation server when the user requests a change in activation or uninstalls PTC MKS Toolkit. In such cases, the information sent to PTC is an up-to-date version of the information sent during the initial activation.


How do I obtain a Product Activation username and password?


How are patches and upgrades affected by Product Activation?

    Under most PTC product licenses, you have a perpetual right to run the version you have installed at the time your Preferred Customer Support (PCS) expires. If you keep PCS current, you may update to newer versions as they become available. However, you must actually upgrade and notify PTC a serial number is going to be used with a particular product version or activation will fail.

    For example, suppose you have PTC MKS Toolkit 9.3 installed on two machines with two different serial numbers and you ask us to upgrade one of them to PTC MKS Toolkit 9.3 Patch 1. The other serial number is fixed at MKS Toolkit 9.3 until you ask to update it as well. If you fail to ask for the update before your PCS expires without renewal, you cannot come back later and ask us for that update later. Both machines will continue to activate as the latest version PTC has on record for you as long as you continue use the software.

    When you install a patch, PTC MKS Toolkit is deactivated and you will be requested to reactivate the updated version.


Does Product Activation ever expire?

    As long as you continue to run the same version of PTC MKS Toolkit, you need never reactivate and your machine need never contact the PTC Product Activation server again.


What happens to my Product Activation if I upgrade my machine?

    Minor upgrades should not present a problem. However, when making major upgrades, you must deactivate PTC MKS Toolkit on the original machine and reactivate it on the upgraded machine.

    Hardware updates that are guaranteed to require a reactivation include:
    • Changing the system volume.
    • Upgrading the CPU.
    • Replacing the network card.
    If you are unsure whether your upgrade may require deactivation and reactivation, it is probably better to be safe than sorry and uninstall and reinstall PTC MKS Toolkit whenever you make a major a hardware change to your system.


My hard drive died. What do I do?

    If you were able to restore your drive's contents from a backup, you might not need to do anything further. However, depending upon how you restored the system, you might need to deactivate and then reactivate the machine to get PTC MKS Toolkit working again.

    If you did not have an up-to-date backup to restore from, contact PTC MKS Toolkit Customer Support to release the previous activation. This should let you activate the reinstalled version of PTC MKS Toolkit.


How do I activate PTC MKS Toolkit if I don't have an Internet connection?

    The PTC MKS Toolkit control panel applet lets you perform offline activation. This generates a client request which you can transfer by any available method to a machine that does have Internet access, where you can use that machine's browser to receive the server response. You can transfer that response back to the original machine to complete the activation process.

    The PTC MKS Toolkit control panel applet has more information about this process.


What if I want to move PTC MKS Toolkit to a different machine?

    First, you must deactivate PTC MKS Toolkit on the original machine (for example, by uninstalling it). You can then activate it on the new machine.


How do I change the list of activated users?

    You can use the Activation tab of the PTC MKS Toolkit control panel applet to change the list of activated users.

    PTC reserves the right to limit the approval of user change requests if we discover that the changes are being used to circumvent the intentions of the Software License Agreement.


What if we have a large number of users, and maintaining the list of activated users becomes a headache?

    PTC MKS Toolkit Product Activation also supports the concept of "Concurrent authenticated users", which lets you specify a number of users rather than specify them by name. Contact PTC MKS Toolkit Sales or Support for assistance.


In the information sent to PTC, what precisely is used to uniquely identify a computer system (node)?

    The following pieces of data are combined to create a unique node identifier:
    • CPU string
    • System volume GUID
    • Machine SID
    • Machine UUID (usually stripped out and ignored except under special circumstances)

    In addition, the system’s MAC address(es) are also sent to PTC, but it is not used to identify the node at activation time. However, MAC addresses are used at runtime to validate similarity to the activated node . As a result, changing network cards may result in deactivation. In particular PTC recommends that every available network card be turned on at activation to avoid inadvertent deactivation when changing to a wireless or docking station LAN card that was disabled at the time of activation.


PTC MKS Toolkit does not appear to be installed on this machine.

    Toolkit version: PTC MKS Toolkit 9.4 (or 9.3)
    Operating System: Windows 7 and Windows Server 2008 R2
    Platform: X64 or IA64

    Problem Description:
    After successfully installing PTC MKS Toolkit 9.4 on a Windows Ultimate x64 machine, the Activation request fails with the error message:

    "PTC MKS Toolkit does not appear to be installed on this machine."

    Cause:
    The 32-bit mode registry and 64-bit registry contain conflicting PTC MKS Toolkit installation information. Specifically the 64-bit registry key information held in:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Mortice Kern Systems\Installed Products]

    Contains in formation for the PTC MKS Toolkit product for a version older than PTC MKS Toolkit 9.4 (possibly also 9.3), which does not correspond with the information in the registry key:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Mortice Kern Systems\Installed Products]

    which has been observed to be the correct information for Toolkit 9.4 installs.
    Possible events that may have caused this problem:
    An “in-place” upgrade from Windows Vista to Windows 7

    Corrective action:
    Uninstall PTC MKS Toolkit 9.4.
    Delete the registry key:
    [HKEY_LOCAL_MACHINE\SOFTWARE\Mortice Kern Systems]
    Re-install PTC MKS Toolkit 9.4.


System Requirements

What operating systems do the PTC MKS Toolkit products run on?

    The PTC MKS Toolkit products are supported on the current Windows operating systems. Please refer to the Supported Versions chart in our Customer Support area for complete information.


Does PTC MKS Toolkit require the POSIX subsystem on Windows?

    No. The POSIX subsystem, like the OS/2 subsystem, is a separate subsystem that is architecturally isolated from Win32. PTC MKS Toolkit takes advantage of the billions of dollars already invested in Win32, as well as the huge ongoing Win32 investments from tens of thousands of Windows and UNIX independent software vendors.

    Based on our experience in implementing the initial POSIX subsystem, there are several key problems with the separate subsystem design of Windows, and specifically with the POSIX subsystem design:

    • Applications built for one subsystem cannot link directly with libraries built for another subsystem. For example, POSIX subsystem applications cannot directly link with Win32-based libraries. That is, a POSIX subsystem application cannot access an Oracle database, because you cannot link it directly with the Win32-based Oracle access libraries. This problem cannot be overcome except by redesigning the application so that it no longer directly links to third-party libraries and database interfaces. Access to any Win32-based libraries (e.g., WinHelp or MAPI for e-mail integration) must be isolated into separate processes running in different subsystems, incurring significant performance penalties in communicating across the subsystems.

    • Support for the POSIX subsystem is not growing: if you require a feature that is not presently available on the POSIX subsystem, your recourse is to find someone willing to implement that feature.

    • There is no POSIX subsystem for either Windows 95, Windows 98, or Millenium. POSIX subsystem applications must forego this vast segment of the market.

    • It is not possible to use most third-party debugging tools with the POSIX subsystem. The inability to use tools such as Purify, Quantify, V-Tune, and APIMON hampers development on the POSIX subsystem. Furthermore, there are no plans to implement these necessary tools on the POSIX subsystem.

    • Microsoft advocates removing the POSIX subsystem as part of security procedures for IIS (web) servers. Refer to http://www.microsoft.com/resources/documentation/Windows/2000/server/reskit/en-us/Default.asp?url=/resources/documentation/Windows/2000/server/reskit/en-us/iisbook/c09_iis_5.0_security_checklist.asp.

    Not only does PTC MKS Toolkit's Win32-based design let applications directly access the huge and growing wealth of Win32-based services, but it also makes for simplified installation and configuration. And, PTC MKS Toolkit provides an evolution path: it lets your UNIX applications cleanly integrate with other Windows applications, to more fully integrate your application with Windows over time and to take advantage of new Windows technologies as they evolve.


What are the hardware and software requirements for running an application ported to Windows with PTC MKS Toolkit?

    Please refer to the product release notes for the hardware and software requirements of the current version.


What are the hardware and software requirements for using PTC MKS Toolkit, PTC Lex & Yacc and the add-ons?


Do I have to use the PTC X/Server supplied with PTC MKS Toolkit for Enterprise Developers?

    No. While we feel that the PTC X/Server that come standard with some PTC MKS Toolkit products offer tremendous value for the price, PTC has worked diligently to ensure that PTC MKS Toolkit is compatible with all Windows-based X servers. If you have already invested in X server technology, rest assured that your X server will work with PTC MKS Toolkit.


Do I need to configure Windows specially to run an application ported to Windows with PTC MKS Toolkit porting products?

    No. PTC MKS Toolkit operates with typical Windows configurations.


Connectivity

How can the PTC MKS Toolkit products help with UNIX and Windows interoperability?

    The PTC MKS Toolkit product family includes the following interoperability features:

    • X servers, for displaying on your Windows machines X Windows applications running on your UNIX machines.

    • A telnet server, for remote login to a Windows machine, useful for remote system administration and hundreds of other tasks.

    • Remote shell utilities and daemons, such as rsh/rshd, rexec/rexecd, rcp, and rlogin/rlogind for remote access to and from Windows and legacy machines.

    • Secure shell utilities and daemons, such as secsh/secshd, scp, sftp, and sftp-service for secure remote access to and from Windows and legacy machines.

    • File transfer utilities, such as sftp, tar, cpio, and pax, for moving files and data back and forth between machines.


Can I access the MKS Toolkit shell, commands, utilities, and applications from a UNIX workstation?

    Yes, after installing an MKS Toolkit product on the Windows machine you will have access to many services to allow you to access the Windows box from a UNIX workstation including, rshd, rexecd, rlogind, sshd, and telnetd.

    MKS licensing will still apply in this situation. You will require one license of the product for each machine that uses the utilities (i.e. each client or user accessing the server).


Utilities

What UNIX commands and utilities are included in PTC MKS Toolkit?

    PTC MKS Toolkit products provide the largest and most complete suite of tools in the market (hundreds of UNIX commands and utilities), including the full POSIX.2 specification. Some of the utilities include: awk, cc, find, grep, ld, make, sh, ksh, bash, csh, perl, sed, tar, vi. A full command list is on our web site.


Which UNIX shells are included in the PTC MKS Toolkit products?

    Korn (ksh), POSIX (sh), Bourne Again (bash) and C (csh) shells are included in the PTC MKS Toolkit products as well as the TCL shell (tclsh). In addition, PTC MKS Toolkit porting products provide alternate C (tcsh) and Korn shells (pdksh) as pre-ported samples. These alternate shells are fully supported, functional, and serve as real-world tutorials for porting to Windows with PTC MKS Toolkit for Enterprise Developers.

    These shells were introduced in the following MKS Toolkit releases:

      Bourne Again Shellbash8.6
      C Shellcsh6.2
      KornShellksh1.1
      Public Domain Korn Shell (sample)pdksh7.0
      Restricted Shellresh1.1
      Remote Shellrsh7.0
      Secure Shellsecsh / ssh8.0
      Standard UNIX Shellsh1.1
      Tcl Shelltclsh8.0
      Tenex C Shell (sample)tcsh7.0


Porting

How long does a port using the PTC MKS Toolkit developer products take?

    Naturally, every port is different, but it has been our experience that simple applications port to the proof-of-concept stage in hours, fairly complex applications port in days, and extremely complex applications port within weeks. Customers are often amazed how quickly applications port using the PTC MKS Toolkit developer products.

    For example, Computervision tried to rewrite a seven million-line application before coming to PTC MKS Toolkit for Enterprise Developers. Their rewrite took 12 of their engineers more than 13 months to produce a port with less than 60% of the function of the UNIX product, and its performance was lacking and the result felt like a kludge to their end users. When they abandoned the rewrite effort and came to PTC, the initial port took two days, followed by integration and testing, and both the performance and look-and-feel were acceptable to their end users. The QA'd Windows application was deployed in under three months.

    Our Case Studies section details many similar success stories from our customers.


What languages/compilers does PTC MKS Toolkit support for migrating applications to Windows?

    PTC MKS Toolkit porting products supply cc, cxx, ncf77, and ncf90 compiler drivers for C, C++, Fortran 77, and Fortran 90. The PTC MKS Toolkit cc and cxx drivers require that you have Microsoft Visual C++ version 5.0 or higher. The MKS Toolkit Fortran drivers work only with Absoft Fortran version 5.0 or higher. Support for Absoft Fortran version 7.0 was introduced in version 7.5 of PTC MKS Toolkit.

    We have also helped customers to successfully port Ada and COBOL applications.


How can I modernize my application with PTC MKS Toolkit?

    PTC MKS Toolkit for Enterprise Developers has the unique ability to let you encapsulate your legacy UNIX business logic in COM objects — reusable and portable objects that can be used in a variety of new ways:

    • Across the network. Using DCOM and DCOM for UNIX, these objects are deployable across your platforms, without rewriting. Now your business logic is available where you want it.

    • From inside workgroup productivity tools. Now you use that derivatives trading logic that used to run solely on the UNIX server from directly inside your trading application or your Excel spreadsheet. Just where your brokers need it. Where do you need your logic?

    • To web-enable your application. COM objects are trivially launched from HTML web pages and Active Server Pages. Bring your application to the web, easily and quickly.

    • With a new user interface. Spend your effort writing a new user interface in MFC or Visual Basic and launch the business logic objects from the new user interface.

    • In ways you never imagined. Once you create a library of business logic objects, who knows what new uses your creative engineers will put them to?


What UNIX APIs are included in the PTC MKS Toolkit porting products?

    The PTC MKS Toolkit porting and migration products offer the most complete set of APIs in the market (over 2700 APIs), including the most commonly used APIs from UNIX 98, POSIX, 4.4BSD, ANSI C, OpenGL, Motif, X11R6, and others. An API list is on our web site.


Can I maintain common code for both UNIX and Windows versions of my program?

    Yes, 95% of PTC MKS Toolkit customers maintain a single source baseline for both Windows and UNIX, and the fact that the average customer modifies far less than 0.1% of the application code makes maintaining a single source base easy. Furthermore, you can often maintain the same build environment, using the same makefiles to build your application. PTC has one customer with over seven million lines of source code who maintains a single source baseline.

    Moreover, if you want to evolve your application to take advantage of Windows features such as WinHelp or the registry, the changes to your code using PTC MKS Toolkit are straightforward and easy to conditionally compile, using standard PTC MKS Toolkit #defines.


Can I mix Win32 and UNIX APIs in a single program?

    Yes, but the best solution is to separate your code into native Win32 and Toolkit build environments. Place the Win32 code or the UNIX code in its own executable (DLL) and then link it and the Toolkit ported module into one program. This is best accomplished by making the UNIX code into a COM component and driving it with the Win32 code. Here are the rules:

    • Try to separate the build environments.

    • We do not recommend that you build your UNIX code with the VC++ IDE – although it can be done.

    • Use #include <winnutc.h> if you want to intermix Win32 and UNIX code. If the API you need is not included by winnutc.h, you must place the code in a separate source file (and sometimes separate DLL). Including other Windows header files will almost certainly clash with Toolkit headers.

    • Never mix Winsock and UNIX sockets in the same executable (the same program is fine, but you cannot pass handles back and forth and the link libraries are incompatible).

    • COM is your friend. Build components.

    • Toolkit includes a libc which is not compatible with any of the Microsoft "C Runtime Libraries". Thus static libraries built against Microsoft headers should not be linked with UNIX code.


If I mix Win32 and UNIX APIs, how can my program still be portable between my UNIX and Windows platforms?

    Similar to the way in which you make programs portable among different flavors of UNIX, use #ifdef __NUTC__ to conditionally compile the Windows-specific code.


Can MKS Toolkit ported applications be converted into an OLE server? implemented as a COM object? Where can I get more information about COM, OLE, and ActiveX?

    Yes, this is a major advantage of using MKS Toolkit porting products. Please see the "HowTo" in the MKS Toolkit Resource Kit for details and source examples. In addition, see Evolving Applications with COM in the UNIX to Windows Porting Guide.

    For more information on COM, OLE, and ActiveX, we recommend the following books:

    • David Chappell, Understanding ActiveX and OLE, Microsoft Press, 1996.

    • OLE 2 Programmer's Reference, Microsoft Press, 1996.

    • OLE Automation Programmer's Reference, Microsoft Press, 1996.


Deployment

Can I deploy one application on various flavours of Windows?

    Yes. We strongly recommend that you do build one application that runs on all Windows platforms. The UNIX to Windows Porting Guide discusses strategies for doing this, based on our experience.