Table of contents

Overview

What's SoftwareShield SDK?

SoftwareShield SDK provides easy to use OOP style API to allow developers:

  1. Query license status;
  2. Listen to license events;
  3. Generate request code, get license code from license server;
  4. Revoke serial number, move license status between machines;

Language Supported

Currently we provide OOP API for the following programming language:

Because the kernel of SoftwareShield is developed in C++ and the gsCore exposes flat API in standard way, any language (such as Object-C, Java, NodeJS, Perl, Python, etc.) that can make api call to Windows DLL or MacOS dylib can integrated with SoftwareShield SDK. We might add more language supports according to customer's requirement.

How to get the latest SDK?

The SDK package (SDK.zip) is deployed as part of SoftwareShield IDE installation, its version is compatible with the installed IDE. To locate the SDK.zip:

The SoftwareShield IDE itself can be upgraded automatically, to know the IDE's SDK version:

Main IDE Menu => Help => About:

Do I need to use SDK?

  • Yes: If you want to implement your own license logic to query license information, reacts to different license events.

    For example, if the user has not purchased your app, you give him a limited trial period, and during the period, you also want to prohibit the trial user from running some advanced features, then you need to query the license status to know if the app should run in demo or limited mode.

  • No: If your app needs a valid license to run, or during the trial period your app runs in full-featured mode, then you do not need the SDK, the Standard Project Type should be ok for your requirement.

Do I need SoftwareShield Enterprise Edition?

  • Desktop Application

If you want to implement your own license UI to activate entities, revoke serial number and transfer license between machines, then the SoftwareShield Enterprise version is needed.

If your app relies on built-in UI template to do license activation, then there is no need for Enterprise Edition.

  • Server Application

If you want to protect a Web application on server side, then you need the Enterprise Edition SDK.

How to deploy the gsCore.dll /libgsCore.dylib and license file (*.lic) after SDK Integration?

When you are developing the app integration without app wrapping, the gsCore is needed (in PATH on Windows or DYLD_LIBRARY_PATH on Mac) to run the app properly, however, after you have tested the SDK integration is successful, you can copy the new app binary to your license project's "Src/" folder, build the project in SoftwareShield IDE, then the output app in "Release/Deploy/" folder is self-contained, you do not have to deploy gsCore and the license file (*.lic) because they are embedded in the final exe.

Preparation

Before you start integration, you need to prepare necessary files and project parameters:

  1. Copy gsCore dynamic library to a folder that can be accessed by your app:
  • On Windows: Copy gsCore.dll side by side with your app exe, or put it in a folder, setup PATH environment variable to contain that folder.

  • On Mac: Copy libgsCore.dylib to a folder and setup DYLD_LIBRARY_PATH environment variable to allow app find it at runtime.

  1. Create a license project in SoftwareShield IDE, build it once, copy the license file from license_project_dir\Release*.lic to a local test folder.
  2. Copy the following parameters from IDE, they will be needed in SDK api calling:
  • ProductID:
  • Entity ID:
  • Test Serial Number:

  • License File Name and Password: (Main Menu => Edit => License File)