PC Guard for .NET was the first available software copy protection wrapper for .NET applications. Both PC Guard for .NET and PC Guard for .NET64 were successfully tested on variety of different .NET executable applications running on all .NET framework versions (1.x, 2.x, 3.x, 4.x) and all .NET compatible Windows operating systems (Windows 98 and later).

Supported .NET Framework applications

- Fully managed .NET Framework desktop (EXE) applications and .NET services.

- Mixed mode C++ .NET Framework (EXE) applications.

- Fully managed .NET Framework dynamic link libraries (DLL) (both main application (EXE) and DLL module(s) has to be protected)

.NET Framework services can be encrypted but since InstallUtil will refuse to install encrypted .NET service application installation or un-installation process has to be done directly from service. Please see the following KB article for more information.

Not supported .NET Framework applications

The following .NET applications are currently not supported:

- .NET Framework Active X controls

- .NET Framework WEB applications

- standalone .NET DLL's and some mixed .NET .DLL applications.

NOTE: Although these application can not be encrypted with PC Guard their source code can be obfuscated with SourceArmor!

Supported .NET Core applications

Supported target .NET Core frameworks:

- .NET Core 2.x
- .NET Core 3.x

Supported output type: 

- Windows application
- Windows console application
- Windows class library

Supported platform target:

- AnyCpu, x86 (PC Guard for .NET)
- x64 (PC Guard for .NET64)

Supported target runtime: 

- win-x86 (PC Guard for .NET)
- win-x64 (PC Guard for .NET64)

Supported deployment mode: Self-contained

NOTE: In case of .NET Core 2.x Windows applications both module (app.dll) and bootstrap exe (app.exe) application must be encrypted with appropriate version of PC Guard. If only module (dll) is encrypted it will not work.

This is not mandatory for .NET Core 3.x applications. Protected module will work just fine if run from command line with "dotnet app.dll".

Additional notes

- Please see the following KB article about deploying protected .NET Framework application with ClickOnce

- Strong name signature verification should be turned off in compiler settings when compiling .NET Framework applications since signature will be invalidate during encryption process. Protected application can be digitally signed after protection.

- RTE - Runtime encryption system is not available for .NET Framework applications.

Protected program will perform the following .NET Framework specific checks during loading of protected application into memory:

1. Check installed operating system.

If Windows 95 (not supported by .NET) is installed "This program can not be run under Windows 95!" error message will be displayed. 

2. Check the presence of .NET framework.

If .NET framework is not installed on target machine ".NET framework is not installed on this computer!" error message will be displayed.

3. Check if required version of .NET framework is installed.

Above error messages can be changed in language editor.