How to fix Error MachineCodeInvalid - The license is not valid for this machine

PROBLEM

Many times your SSIS / ODBC Jobs might fail with the following error

Checking license for [Machine=Abcd******, Hash=Abcd******].

(MachineCodeInvalid >> : The license is not valid for this machine)

POSSIBLE CAUSE

There are a few reasons why this might happen.

  1. You recently renamed the Machine name. The old activated license is no longer valid.
  2. Your job is running under Clustered Environment, but it’s not running under SQL Proxy Account and using the default SQL Agent Service account in Job Step “Run As”. Because of this, ZappySys uses Cluster name to validate license rather than Node name.
  3. You manually copied license files from another machine to C:\ProgramData\ZappySys<Product_Name> folder and those files copied from other machines are not valid on a new machine

For Clustered Environment
More information on why this happens in a clustered environment

When you use ProxyAccount==> System.Environment.MachineName returns Node name. This is good (it Works with ZappySys)
When you use SQLAgentAccount (default)==> System.Environment.MachineName returns Cluster Name (Virtual Name) ===> This is bad (it fails with ZappySys)

SOLUTION

  1. If it’s a clustered environment, make sure your SQL Agent Job Steps invoking SSIS Package uses a Proxy account rather than the default SQL Agent Account. Here is how to create Proxy Account and Run under SQL Agent Job

  2. If the machine was recently renamed, you have to Deactivate the old license (Release) and register again. If deactivation is not possible or throws an error due to a machine name mismatch, you have to contact ZappySys support.

For more information, check below links
https://zappysys.zendesk.com/knowledge/editor/01HXEXED4183PN44CR8TE8PRS7

https://zappysys.com/links/?id=10021