Skip to main content

Troubleshooting Citrix Client Issues in ScrewDrivers v6 and v7

Overview

The ScrewDrivers client integrates with Citrix environments through an ICA (Independent Computing Architecture) client plugin that enables printer redirection and management. When users don't receive their printers in Citrix sessions, the issue is usually related to the ICA plugin configuration, registry settings, or Citrix client updates that have disrupted the integration.

This guide covers common Citrix client issues and their solutions for both ScrewDrivers v6 and v7.

Understanding the Citrix Integration

Installation Order Requirement

The ScrewDrivers client requires the Citrix ICA Client to be installed before the ScrewDrivers client installation. This installation order is critical because:

  • ScrewDrivers installs plugins into the Citrix ICA Client directory during its installation
  • The installer creates registry keys within the Citrix configuration structure
  • The installer registers the ScrewDrivers virtual channel with Citrix
Installation Order

Always install Citrix ICA Client first, then install ScrewDrivers Client. Installing in the wrong order will result in missing plugins and non-functional printer redirection.

Impact of Citrix Client Updates

When the Citrix ICA Client is updated, it frequently removes or overwrites the ScrewDrivers plugin information. This is a known behavior of Citrix client updates and results in users losing printer access in their Citrix sessions.

After any Citrix ICA Client update, you must reinstall or re-register the ScrewDrivers ICA plugin.

Common Symptom: No Printers in Citrix Sessions

Symptom: Users connect to their Citrix session but don't see any ScrewDrivers-managed printers.

Root Cause: The ScrewDrivers ICA plugin is missing, not registered, or not loading due to incorrect registry configuration.

Verifying ICA Plugin Installation

Before attempting fixes, verify the current state of the ICA plugin installation.

Check Plugin DLL Location

The ICA plugin DLL should be present in the Citrix ICA Client directory:

64-bit Windows:

C:\Program Files (x86)\Citrix\ICA Client\sdica32.dll

32-bit Windows:

C:\Program Files\Citrix\ICA Client\sdica32.dll
Why sdica32.dll on 64-bit?

Even on 64-bit Windows, the Citrix ICA Client often runs as a 32-bit process, so the plugin is named sdica32.dll and resides in the Program Files (x86) directory.

Check Registry Configuration

Verify the registry contains the proper ScrewDrivers virtual channel registration.

64-bit Windows:

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules

32-bit Windows:

HKEY_LOCAL_MACHINE\Software\Citrix\ICA Client\Engine\Configuration\Advanced\Modules

Required Subkeys and Values

The following subkeys and values must exist:

Subkey: ICA 3.0

  • Value Name: VirtualDriver
  • Value Type: REG_SZ
  • Value Data: Must include ScrewDriversFXP in the comma-separated list
    • Example: Thinwire3.0,ClientDrive,ClientAudio,ScrewDriversFXP,...

Subkey: ScrewDriversFXP (created by ScrewDrivers installer)

  • Value Name: DriverNameWin32
  • Value Type: REG_SZ
  • Value Data: sdica32.dll

Subkey: VirtualDriver

  • Value Name: ScrewDriversFXP
  • Value Type: REG_SZ
  • Value Data: "" (empty string)

For complete details on these registry settings, see Client Plugin Registry Configuration.

Fixing ICA Plugin Issues

Solution 1: Reinstall ICA Plugin (PerMachine Installation)

If the Citrix ICA Client is installed per-machine (the standard and recommended method), use this procedure.

For ScrewDrivers v6

  1. Navigate to the ScrewDrivers Client installation directory:

    C:\Program Files\Tricerat\Simplify Printing\ScrewDrivers Client v6
  2. Locate and run RegisterTriceratIcaPerMachine.bat as Administrator

  3. You may see a quick blank command prompt flash on the screen—this is normal and indicates the script ran successfully

  4. The batch file registers the ScrewDrivers ICA plugin and creates the necessary registry entries

For ScrewDrivers v7

Version 7 simplifies the plugin registration process with a built-in tool.

  1. Open the ScrewDrivers Endpoint Client application

  2. Navigate to the About tab

  3. Click the Register button at the top of the window

  4. The registration process runs automatically and reinstalls the Citrix plugin configuration

Solution 2: Fix PerUser Installation

If Citrix ICA Client was installed per-user instead of per-machine, the registry keys won't be in the expected location. This is less common but does occur in some deployment scenarios.

Symptoms of PerUser Installation

  • The registry path HKLM\Software\...\Citrix\ICA Client\... doesn't exist
  • Citrix ICA Client registry keys are in HKCU (Current User) instead of HKLM (Local Machine)
  • The RegisterTriceratIcaPerMachine.bat script completes but doesn't fix the issue

For ScrewDrivers v6 PerUser Fix

  1. Navigate to the ScrewDrivers Client installation directory:

    C:\Program Files\Tricerat\Simplify Printing\ScrewDrivers Client v6
  2. Locate and run RegisterTriceratIcaPerUser.bat as the affected user (not necessarily as Administrator)

  3. The batch file creates the necessary registry entries in HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE

PerUser Limitations

PerUser Citrix installations require running the registration batch file for each user account. This is more difficult to manage at scale. When possible, reinstall Citrix ICA Client using a per-machine installation method.

For ScrewDrivers v7 PerUser Fix

The v7 Register button in the Endpoint Client works for both PerMachine and PerUser Citrix installations. Simply use the Register button as described in Solution 1.

Verification After Reinstallation

After running the registration scripts or using the v7 Register button:

  1. Restart the Citrix ICA Client: Close any running ICA connections and restart the Citrix Workspace app or Receiver

  2. Test printer access: Connect to a Citrix session and verify that ScrewDrivers printers appear

  3. Check registry: Verify that the registry keys mentioned earlier now exist and have the correct values

  4. Review logs: If issues persist, enable ScrewDrivers client logging and collect logs for analysis (see Enabling Diagnostic Logging or v7 logging guide)

Prevention: Managing Citrix Updates

Before Updating Citrix ICA Client

  1. Document current configuration: Note which ScrewDrivers client version is installed
  2. Backup registry settings: Export the Citrix ICA Client registry keys
  3. Test in non-production: Update Citrix on test machines first
  4. Plan for re-registration: Schedule time to re-register ScrewDrivers plugins after the update

After Updating Citrix ICA Client

  1. Immediately re-register plugins: Run the appropriate registration method for your ScrewDrivers version
  2. Test printer functionality: Verify printers appear in test Citrix sessions
  3. Deploy to production: Once verified, update production machines and re-register plugins
  4. Communicate to users: Let users know to log off and back on if they don't see printers after the update

Automating Plugin Re-Registration

For large-scale deployments, consider automating plugin re-registration:

Using Group Policy: Create a logon script that checks for and runs the registration batch file if needed.

Using Configuration Management: Include the registration step in your Citrix ICA Client update deployment process (SCCM, Intune, etc.).

Monitoring: Implement monitoring to detect when users connect to Citrix but don't have ScrewDrivers printers, triggering automatic remediation.

Advanced Troubleshooting

If the standard registration procedures don't resolve the issue, try these advanced steps:

Manually Verify DLL Registration

Check that the ICA plugin DLL is properly registered:

# Check if DLL exists
Test-Path "C:\Program Files (x86)\Citrix\ICA Client\sdica32.dll"

# Check file version
Get-Item "C:\Program Files (x86)\Citrix\ICA Client\sdica32.dll" | Select-Object VersionInfo

# Verify it's not blocked
Get-Item "C:\Program Files (x86)\Citrix\ICA Client\sdica32.dll" | Unblock-File

Manually Add Registry Keys

If the batch files fail, manually create the registry keys:

# For 64-bit Windows
$regPath = "HKLM:\Software\Wow6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules"

# Ensure paths exist
New-Item -Path "$regPath\ScrewDriversFXP" -Force
New-Item -Path "$regPath\VirtualDriver" -Force

# Add values
Set-ItemProperty -Path "$regPath\ScrewDriversFXP" -Name "DriverNameWin32" -Value "sdica32.dll"
Set-ItemProperty -Path "$regPath\VirtualDriver" -Name "ScrewDriversFXP" -Value ""

# Add to VirtualDriver list
$ica30Path = "$regPath\ICA 3.0"
$currentDrivers = (Get-ItemProperty -Path $ica30Path -Name "VirtualDriver").VirtualDriver

if ($currentDrivers -notlike "*ScrewDriversFXP*") {
$newDrivers = $currentDrivers + ",ScrewDriversFXP"
Set-ItemProperty -Path $ica30Path -Name "VirtualDriver" -Value $newDrivers
}

See Client Plugin Registry Configuration for complete manual configuration details.

Reinstall ScrewDrivers Client

If all else fails, completely reinstall the ScrewDrivers client:

  1. Uninstall ScrewDrivers Client: Use Add/Remove Programs or the ScrewDrivers uninstaller
  2. Verify Citrix ICA Client is installed: Check that Citrix Workspace or Receiver is present
  3. Reinstall ScrewDrivers Client: Run the installer as Administrator
  4. Test functionality: Connect to a Citrix session and verify printer access

When to Contact Support

Contact Tricerat Support if:

  • The registration procedures don't resolve the issue
  • Printers still don't appear after manual registry configuration
  • You see errors during the registration process
  • The issue affects all users in your environment
  • You're using a non-standard Citrix configuration

Tricerat Support Contact:

When contacting support, provide:

  • ScrewDrivers client version (v6 or v7, specific build number)
  • Citrix ICA Client version
  • Operating system version
  • Whether Citrix is installed PerMachine or PerUser
  • Screenshots of registry configuration
  • ScrewDrivers client logs (with logging enabled)