Tuesday, November 25, 2025 - 11:52

 

The General Settings for PC Guard provide a comprehensive suite of options for managing application compatibility, security, and licensing behavior. The configurations address common issues arising from the software protection process, particularly for non-standard applications and specific operating environments.

Key features focus on ensuring stability and functionality. The Advanced Overlay Management (AOM) and Smart DLL Handling mechanisms are critical for maintaining the integrity of applications built with non-programming tools and for safely protecting DLL modules, respectively. Compatibility is further enhanced through flags that can disable potentially conflicting anti-debugging or memory management code.

The settings also offer granular control over licensing and usage. Features include support for roaming profiles in corporate networks to prevent license loss, tolerance for minor system time adjustments to avoid invalidating time-limited licenses, and the ability to limit concurrent application instances. This instance-limiting feature can be leveraged to implement network floating licenses in terminal server environments. While many settings have default values designed for broad compatibility, optimal protection requires careful configuration tailored to the specific application and its intended deployment environment.

1. Core Compatibility and Stability Features

These settings are designed to ensure the protected application runs correctly by managing how the protection code interacts with the application's structure and the underlying operating system.

1.1. Advanced Overlay Management (AOM)

  • Default Status: ON
  • Purpose: To provide a universal solution for protecting non-standard applications that use an "internal overlay."
  • Problem Solved: Many application development tools place essential code or data in an internal overlay at the end of the executable file. The protection process, which adds its own code, can shift this overlay, preventing the application's stub loader from finding and using it. Since this overlay data is often encrypted or hashed by the stub, any change can render the application non-functional.
  • Mechanism: AOM code automatically manages and resolves these issues.
  • Additional Benefit: When AOM is enabled, it allows for the additional encryption of the internal overlay data itself. This prevents third-party tools from accessing or managing this data, enhancing security. The internal overlay encryption option becomes available in the encryption settings when AOM is active.

1.2. Smart DLL Handling

  • Default Status: ON
  • Purpose: Allows the operating system to manage the loading of certain required DLL modules for the protected application.
  • Recommendation: This option is highly recommended for the protection of standalone DLL modules. Encrypting DLLs can introduce significant problems due to limitations imposed by the operating system, and this feature mitigates those risks.
  • Special Requirement: For standalone DLLs that use custom dialogs, it is necessary to add at least one exported function to the module and call it. This action ensures that PC Guard automatically adds the custom dialog module to the list of modules managed by the smart DLL handling feature.

1.3. Compatibility Flags

  • Default Status: Varies; some flags are enabled automatically during the protection process.
  • Purpose: To enhance compatibility by disabling specific PC Guard features that may conflict with the protected application or with third-party software.
  • Mechanism: These flags can turn off certain memory management routines, anti-debugging code, or encryption/decryption processes that are known to be incompatible with some applications or security software like antivirus programs that interfere with program loading.

1.4. Manage Load Configuration

  • Default Status: OFF
  • Purpose: Grants the protection code control over the application's load configuration directory.
  • Use Case: This setting is explicitly noted as being required for some DLL modules.

1.5. Fix OS Version Information

  • Default Status: ON
  • Purpose: Modifies the target operating system information stored in the application's file header. This data is originally set by the compiler.
  • Default Target OS: Windows 95/NT (4.0)
  • Available Target Operating Systems:
OS NameVersion Number
Windows 95/NT4.0
Windows 984.1
Windows 20005.0
Windows XP5.1
Windows Vista/Windows Server 20086.0
Windows 7/Windows Server 2008 R26.1
Windows 8/Windows Server 20126.2

 

2. Licensing and Environment Management

These options control how application licenses behave in different network environments and under various system conditions.

2.1. Support for Roaming Profiles

  • Default Status: OFF
  • Purpose: To prevent license loss on networks where users frequently change machines and their user profile data is moved with them.
  • Mechanism: When enabled, license data is stored in a location that is not part of the roaming user profile, ensuring it remains on the original machine.
  • Recommendation: It is suggested to use this option only for large corporate networks where roaming profiles are actively enabled.

2.2. System Time Adjustments

  • Default Status: OFF
  • Purpose: To prevent license errors or resets due to minor, legitimate changes to the system clock.
  • Problem Solved: When time-based license limitations are used, the protection code monitors the system clock. If the clock is detected as having been set back, the system time is considered "invalid." This feature creates a tolerance period for such changes.
  • Configuration: The allowable adjustment period can be set to any value between 1 and 9999 minutes. If enabled, the default period is 60 minutes.

2.3. Limit Number of Application Instances

  • Default Status: OFF
  • Purpose: To control how many instances of the protected application can run concurrently on a single computer.
  • Configuration: The maximum number of instances can be set from 1 to 999.
  • Technical Requirement: The protection code must be able to free an instance when the application closes. It accomplishes this by taking control of the ExitProcess() function. If an application does not use or import this function (e.g., MFC and VB applications), the developer must manually call the FreeAppInstance() protection interface function before the application quits.
  • Network Licensing Tip: In a Windows Terminal Services environment, the instance limit is applied per server, not per workstation. This allows the feature to be used as a method for implementing network floating licensing.

3. Miscellaneous Settings and Utilities

This section covers additional configuration options and tools available within the General settings panel.

3.1. User Feedback and File Properties

  • Show warning messages:
    • Default Status: ON
    • Function: Controls whether the protected application displays warning and error messages to the end user.
  • Preserve original file date and time:
    • Default Status: OFF
    • Function: If enabled, the protected output file will retain the original file date and time information from the source application.

3.2. Development and Testing

  • Reset license button:
    • Function: This is a utility button within the PC Guard interface, not a setting for the protected application. It allows a developer to reset the local license status for the project currently being worked on. This is useful for testing different protection and licensing scenarios on the development machine.