Choosing Your Build

DotRas SDK

Collapse image Expand Image Copy image CopyHover image

The DotRas project contains different assemblies for different versions of Windows. Deciding which assembly your project should use is one of the biggest decisions you will make when utilizing the API. Each assembly contains different features, because different versions of Windows expose different features. Whichever assembly you select, that will be the earliest version of Windows your application can support.

Introduction

Attempting to use the assembly compiled for Windows XP on Windows 2000 would cause many of the methods to throw exceptions with an error code of 632. Error code 632 indicates a structure size problem. Windows decides how to interact with the structure based on the size of the structure passed into it. If you decide to use the Windows XP (WINXP) version, that assembly will support everything except for Windows 2000. The same thing applies to Windows 2008 (WIN2K8) only supporting Windows Vista or later. If your application needs to support IPv6, you will need to use the WIN2K8 build, and your application will only work on Windows Vista or later. No versions of Windows prior to Windows Vista has this capability.

Do not take this decision lightly, your application's platform interoperability rests solely on this decision.

Tip

If you are unsure which assembly will suit your needs, use the Windows 2000 version of the assembly. It is cross-platform compatible with all supported operating systems.

Benefits and Features

The list below describes the different versions available and the features each version adds.

  • WIN8 - Windows 8 and Windows 8 Server
    • Includes all features listed in the WIN7 build.
    • Entry options
      • Indicating whether a pre-shared is used by the initiator or respoder for IPSec authentication.
      • Natively allowing caching of credentials at the end of a successful authentication attempt.
  • WIN7 - Windows 7 and Windows 2008 Server R2 (aka Windows 7 Server)
    • Includes all features listed in the WIN2K8 build.
    • Updating Internet Key Exchange (IKEv2) connection tunnel endpoints.
    • Retrieval of PPP and Internet Key Exchange (IKEv2) projection information for an active connection.
    • Connection substates for Internet Key Exchange (IKEv2) virtual private network connections.
    • Modifying the interface metrics, allowing skipping PPP authentication, and setting an authentication cookie while dialing.
    • Entry options
      • Disabling class based static routes.
      • Enabling/disabling mobility of an IKEv2 virtual private network connection.
      • Modifying the IPv6 address, prefix length, and network outage timeout.
    • Added support for IKEv2 VPN strategies.
  • WIN2K8 - Windows Vista and Windows 2008 Server
    • Includes all features listed in the WINXP build.
    • Retrival of the correlation id, network access protection (NAP) status, and IPv6 projection information for an active connection.
    • Modifying IPv6 DNS addresses, IPv4 and IPv6 interface metrics for a phonebook entry.
    • Added support for the IPv6 network protocol.
    • Removes support for SLIP projection information.
    • Entry options
      • Enables securing of routing compartments.
      • Allows indication whether default settings should be used during entry creation.
      • Enabling IPv6 remote default gateway.
      • Registration of IP address with DNS.
      • Using DNS suffix for registration.
      • Disabling the IKE name EKU check.
    • Added support for SSTP VPN strategies.
  • WINXP - Windows XP and Windows 2003 Server
    • Includes all features listed in the WIN2K build.
    • Retrival of connection options and session id for active connections.
    • Adds support for custom scripting on the RasDialer component.
    • Added support for PPPoE devices.
    • Added DNS suffix, TCP window size, prerequisite entries, redial count, redial pause, clearing and retrieval of preshared key credentials, and updating credentials for all users to RasEntry.
    • Entry options
      • Support for securing file and print servers.
      • Securing the client for MS networks.
      • Disallow negotiation of multi-link.
      • Disallow use of RAS credentials to access network resources.
      • Use preshared keys for IPSec authentication.
      • Indicating whether the connection connects to the Internet.
      • Disabling NBT probing over IP.
      • Enabling the use of global device settings.
      • Enabling auto-reconnect if the connection is dropped.
      • Indicating whether the same set of phone numbers will be used for all subentries in a multi-link connection.
  • WIN2K - Windows 2000 and Windows 2000 Server
    • Base version of the assembly.