PDXpert PLM client diagnostics

PDXpert client installation diagnostics

  1. For new installations and upgrades
  2. For new installations only
  3. For upgrades only

PDXpert client log-in diagnostics

  1. Log into the PDXpert client
  2. PDXpert release 8.0 and later
  3. PDXpert releases prior to 8.0
  4. Message: The server could not be contacted
  5. Message: database disk image is malformed
  6. Message: Could not load file or assembly '…\Local\PDXpert\…' or one of its dependencies.
  7. Message: The socket connection has been disposed
  8. Message: Unable to read data from the transport connection
  9. Message: This implementation is not part of the Windows Platform FIPS…

PDXpert client operation diagnostics

  1. Attaching large or compressed files is extremely slow or fails
  2. Insufficient Windows system resources
  3. Odd display of controls and graphic elements
  4. Problem Event Name: CLR20r3
  5. Repairing a client installation
  6. Repeated installations of the PDXpert client
  7. Setting the local file cache limit
  8. The Writer is closed or in error state.
  9. Window handles pool depleted
  10. The remote server returned an error: (503) Server Unavailable.

PDXpert client log file error messages

  1. Message: Access to the path 'C:\Users\...\PDXpert\Assemblies\{guid}' is denied.
  2. Message: Attempted to read or write protected memory...at DBROverlayIcon.DBRBackupOverlayIcon...
  3. Message: Could not allocate space for object '...' in database 'tempdb'.
  4. Message: Execution Timeout Expired: The timeout period elapsed...
  5. Message: File requires about {disk space} and only {free disk space} is available.
  6. Message: Font '[fontname]' does not support style '[style]'.
  7. Message: Login failed for user 'pdxpertuser'.
  8. Message: Object reference not set to an instance of an object.
  9. Message: PDXpert.UI.ClientLoader at MS.Internal.FontCache.Util..cctor().
  10. Message: Session is no longer alive.
  11. Message: The 'DbProviderFactories' section can only appear once per config file.
  12. Message: The dock state is invalid.
  13. Message: The 'Microsoft.xxx.OLEDB.vvv' provider is not registered on the local machine.
  14. Message: The requested service provider could not be loaded or initialized.
  15. Message: The type initializer for '{shared .NET component}' threw an exception.

PDXpert client installation diagnostics

For new installations and upgrades

Invalid download file

If your PDXpert installer fails to run, or doesn't decompress correctly, it's possible that the file has been corrupted during download. Return to the download page to obtain a new copy.

Do not run the installer directly from the download page. When prompted, click the Save As button in your browser, and save the installer to a convenient location on your computer's local hard disk.

After the download is finished, run the installer from the saved location.

Client security

Beginning with .NET 4.8 and PDXpert 15.0, TLS 1.3 is supported. Windows Server 2022 and Windows 11 enable TLS 1.3 by default. For older Windows 10 clients, ensure TLS 1.3 is enabled: In Windows 10, search for and then open Internet Options. In the Internet Properties window, select the Advanced tab. Find and mark the Use TLS 1.3 option.

Permissions and prerequisites

You should have administrator rights to your computer, and be the only user logged into Windows.

The PDXpert client application requires administrator level permissions to install prerequisites such as the Microsoft .NET Framework. The .NET installer requires administrator permissions to run. If the PDXpert installer doesn't run as expected, first install the required .NET version, and then run the PDXpert client setup.

For new installations only

The PDXpert client will examine your system for its Windows and .NET prerequisites and, if missing, will automatically download and install these from the Microsoft website.

During installation, an error may be displayed or contained in the installer log file: Cannot access a disposed object. Object Name: 'System.Net.HttpWebResponse' or Process returned Message: 0xc8000222.

This error usually indicates that Windows Update has a pending system change, or a bad download of the Microsoft .NET installer. Reboot your computer to finish the Windows Update, separately download and install the current .NET framework, or run the Windows Update troubleshooter.

When your Windows / .NET is fully updated, restart the PDXpert client installer.

For upgrades only

Antivirus blocking error

When upgrading, antivirus software may block the PDXpert installer's service utility UninstallPre8Clients.exe. In the installer log file, the error message often refers to the utility, for example:

  • Invalid payload: UninstallPre8Clients.exe, reason: 0x80070002
  • Application requested retry of package: UninstallPre8Clients.exe, encountered error: 0x80070652
  • Applied execute package: UninstallPre8Clients.exe, result: 0x80070645, restart: None
       Error 0x80070645: Failed to execute EXE package
  • Failed to CreateProcess on path: C:\{path}\UninstallPre8Clients.exe

Temporarily disable the computer's antivirus and re-run the installer.

Windows Installer errors

Errors during upgrades may sometimes occur when Windows Installer loses track of installation history, and sees mismatched information in the system Registry. This mismatch is discovered when the PDXpert client installer attempts to uninstall an earlier release prior to installing the upgrade. A typical error message is The feature you are trying to use is on a network resource that is unavailable. Typically, the reference to a network resource is inaccurate and Use source: pdxpert.client.setup.msi will fail.

Uninstall PDXpert using Windows Control Panel

Manually uninstalling PDXpert may be successful, particularly on newer Windows:

  1. Open the Windows Control Panel
  2. In recent Windows releases, open Programs and Features; in older Windows, open Add or Remove Programs.
  3. Scroll down to the PDXpert Network Client or, in earlier releases, PDXpert PLM. Select the item, and click the Uninstall or Remove button.

You can now try to run the PDXpert client installer. If the error remains, then you'll need to repair the PDXpert installation using one of the following options.

Option 1: For 64-bit, and possibly 32-bit, Windows

Use the Microsoft Fix It tool to uninstall the previous PDXpert installation.

The web page specifically mentions that the tool "removes bad registry key on 64 bit operating systems". However, the tool can be installed on, and may repair the bad registry key in, 32-bit systems — it's a bit ambiguous. The technique described in the next option is known to be compatible with all x86 and x64 Windows.

There's an Advanced-Download to run on a different or disconnected computer link for saving a local copy of the tool.

Option 2: For all Windows systems

Microsoft Windows Installer Clean Up Utility, msicuu2.exe, was created to remove incorrect Registry data and prepare for a new install. Although it's no longer available from Microsoft, you can find this utility on a trusted IT download site. The tool is compatible with all 32-bit and 64-bit versions of Windows.

  • To install msicuu2.exe, log into Windows using an administrator account. By default, the setup program will install the Windows Installer Clean Up Utility's files to the folder: C:\Program Files\Windows Installer Clean Up (32-bit) or C:\Program Files (x86)\Windows Installer Clean Up (64-bit).
  • On the Start menu, select All Programs, and click on the Windows Install Clean Up shortcut. The window will list all programs that are installed on your computer that use Windows Installer.
  • Select the PDXpert application only.
  • Click the Remove button, which immediately deletes the PDXpert application from the Windows Installer database.
  • After the clean-up, delete all files - but not any folders - that remain in the %ProgramFiles%\PDXpert folder (by default, C:\Program Files\PDXpert).
  • Re-run the PDXpert installer.

If you choose to use the utility, be extremely careful to select only the PDXpert installation for clean-up. You should consider uninstalling the Windows Installer Clean Up Utility after you're done. You'll find the Windows Installer Clean Up Utility entry in the control panel's Programs and Features.

Message: The feature you are trying to use is on a network resource that is unavailable.

The upgrade is blocked because the previous PDXpert release cannot be uninstalled. A component of the setup .msi file has been damaged or deleted (possibly when using the Windows Disk Cleanup utility).

Solution: Run the previous release's installation file (PDXpertSystemSetup.exe or PDXpertClientSetup.exe), and select Repair. Run it again and select Uninstall. After the old release has been uninstalled, install the new release.

Message: One or more errors occurred.

The PDXpert client cannot be upgraded from the PDXpert server.

An error message One or more errors occurred. may be displayed, and the client log file may include an error trace similar to this:

YYYY-MM-DD HH:MM:SS.NNNN [1] Error PDXpert.Client.Program - System.AggregateException: One or more errors occurred. --->

System.Threading.Tasks.TaskCanceledException: A task was canceled.

--- End of inner exception stack trace ---

at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)

at PDXpert.Client.Program.DownloadLayout()

at PDXpert.Client.Program.OnStartup(StartupEventArgs eventArgs)

at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()

at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)

at PDXpert.Client.Program.Main(String[] args)

---> (Inner Exception #0) System.Threading.Tasks.TaskCanceledException: A task was canceled.<---

Solution: To install or upgrade the client application (PDXpert.exe), the PDXpert server must deliver a new package of DLLs over TCP port 48084. When this port is blocked by firewall, antivirus or network proxy server, then the client cannot be upgraded. See Client upgrade when IP ports are blocked.

Upgrade errors in Turkish Windows

The PDXpert client may not download new upgrade code when the server's machine name includes Turkish ı/İ characters. This is caused by a problem in DNS resolution in Windows. In this case, the PDXpert client application must be updated:

  • Use the server computer's IP address rather than machine name in the download link, or
  • Manually install using the PDXpertClientSetup.exe installer.

You can prevent this problem by naming the server using only ANSI alphanumeric or hyphen characters.

PDXpert client log-in diagnostics

Log into the PDXpert client

Follow the procedure in the Log into PDXpert help topic.

If the Welcome to PDXpert window is displayed repeatedly when the PDXpert client is launched, this may be caused by an invalid user account name or an incorrect password.

If you cannot log into the PDXpert client, then an administrator can verify your account name and clear your password on your user account. If no one can log into the PDXpert client, the default administrator's password can be cleared using the Reset Admin button on the PDXpert Application Server console.

PDXpert releases 8.0 and later

The PDXpert server communicates with the SQL Server database, and each PDXpert client application. The PDXpert client doesn't directly communicate with the SQL Server database.

  • Each computer's firewall and anti-virus (FW/AV) must allow communications on TCP ports 48084 through 48087. It's usually sufficient to set your FW/AV to allow communications between the pdxpert.exe and pdxpertserver.exe applications. Ensure that your AV doesn't override your FW settings (for example, it doesn't change the Inbound connections: Allow setting).
  • If the Welcome to PDXpert dialog is displayed more than once, the PDXpert client is not able to find and connect to the PDXpert Application Server. This is usually because:
    • The log-in account name or password is invalid: Verify that the account credentials are correct.
    • The PDXpert Application Server has not yet been installed: Use the PDXpert System Setup installer.
    • The PDXpert communications service is not started, possibly because the server computer requires a reboot after installation or Windows Update: (1) In the Windows Control Panel > Administrator Tools > Services, select the PDXpert Server service from the list, and then click Restart; or (2) Reboot the computer.
    • The server machine name is incorrect: Try using the server's IP address rather than name on the PDXpert client log-in window.
    • Communication is blocked by a firewall or antivirus software: Try disabling both, start the PDXpert client, and then enable the appropriate permissions.
  • If the Software License Key dialog is displayed, then the PDXpert client is able to communicate with the PDXpert Application Server.

PDXpert older releases (before 8.0)

Both PDXpert server and client applications communicate with each other, and both directly access the SQL Server database. The server and client go through several steps to establish a working database connection.

  • Each computer's firewall and anti-virus (FW/AV) must allow communications on TCP port 1433 (for SQL Server) and TCP ports 48084 through 48087. It's usually sufficient to set your FW/AV to allow communications between the pdxpert.exe, pdxpertserver.exe and sqlservr.exe applications. Ensure that your AV doesn't override your FW settings (for example, it doesn't change SQL Server's Inbound connections: Allow setting).
  • If the Welcome to PDXpert dialog is displayed more than once, the PDXpert client is not able to find the PDXpert Application Server. This is usually because the log-in account name or password is invalid, the PDXpert Application Server has not yet been installed, the server machine name is incorrect, or communication is blocked by a firewall or antivirus software.
  • If the Software License Key dialog is displayed, then the PDXpert client is able to communicate with the PDXpert Application Server. This does not yet confirm that the client can connect to the SQL Server database.
  • If the PDXpert PLM client application window is displayed, then the PDXpert client is communicating with both the PDXpert Application Server and the SQL Server database.

All systems must have the PDXpert Application Server installed.

Message: Access to the path 'C:\Users\...'

After you've entered your account credentials on the Welcome to PDXpert dialog, you may see an error like Access to the path 'C:\Users\...\PDXpert\Assemblies\{guid}' is denied.

For a solution, see below: Message: Access to the path 'C:\Users\...\PDXpert\Assemblies\{guid}' is denied

Message: The server could not be contacted.

After you've entered your account credentials on the Welcome to PDXpert dialog, you may receive an error that the server could not be contacted, or the database is not available.

  • Server computer's machine name: The client application must connect to an existing PDXpert Application Server. The server must be installed, and you must enter its machine name or IP address.

    Solution: Follow the log-in instructions in the help file.

  • Firewall and/or anti-virus configuration: The firewall and/or anti-virus is blocking communications between the PDXpert PLM client and the PDXpert Server, or between the PDXpert Server and the SQL Server database.

    Solution: Temporarily disable both the firewall and anti-virus (FW/AV) on both the server and workstation computers. If you can then sign into the PDXpert client, one of the disabled FW/AV components requires reconfiguration to permit communications.

  • SQL Server is not responding: Immediately after the system is installed, or after a Windows update/restart, the SQL Server service may fail to start or take too long.

    Solution:

    • Before starting the PDXpert client for the first time, wait for SQL Server to finish its start-up and to construct the PDXpert database. It's sometimes useful to restart the server computer after SQL Server or the PDXpert Server has been installed or upgraded. See Has SQL Server started?

    • If the PDXpert client has previously connected, then the SQL Server service may be temporarily unavailable. SQL Server is often slow to start, and may not be ready when the PDXpert Server service starts. If this is frequent problem, set the PDXpert Service to delay starting. See When the PDXpert service starts before Windows is ready

  • Enable SQL Server's TCP protocol: Immediately after installation, the default configuration of SQL Server has TCP communications disabled. The PDXpert Application Server installer will enable TCP only while it installs SQL Server Express. If another edition of SQL Server was pre-installed before running the PDXpert Application Server installer, then it's possible that the TCP protocol was not enabled.

    Solution: Enable the SQL Server TCP protocol.

Message: database disk image is malformed

When attempting to open the PDXpert client, the PDX Client Error window shows a message similar to database disk image is malformed.

This is a pass-through error from the SQLite database that indicates the local client cache is damaged. It's often the result of a software crash while PDXpert is open, or when switching between PDXpert Server production and test databases where the test system is not correctly configured (see Managing a PDXpert test server).

Delete the SQLite local cache database to force the PDXpert client to create a new database:

  1. Close the PDXpert client log-in window.

  2. Open Windows File Explorer, and go to the %LocalAppData%\PDXpert\Cache folder. This is similar to C:\Users\{username}\AppData\Local\PDXpert\Cache

  3. Delete all of the GUID (random alphanumeric 32-character) folders, similar to

    AppData Local Cache folder

Message: Could not load file or assembly '...\Local\PDXpert\...' or one of its dependencies.

Installing a duplicate client on server

This message is shown when opening the PDXpert PLM client on the server computer. The PDXpertSystemSetup.exe installs its own PDXpert client into the machine profile. A second PDXpertClientSetup.exe may have been installed into the user profile (...\AppData\Local\PDXpert\...).

Start menu duplicate PDXpert clients

If you see two PDXpert PLM clients in the Windows Start menu, then:

  1. Go to Windows Search ➔ Control Panel ➔ Programs and Features
  2. Uninstall PDXpert PLM Client. Do not make any changes to the PDXpert PLM (server+client) install entry.

Installing or upgrading a workstation client

This error message may be displayed when a PDXpert client is installed for the first time, or when an upgraded client requires a new version of Microsoft .NET:

Could not load file or assembly 'file:///{path}\PDXpert.UI.exe' or one of its dependencies. The system cannot find the file specified.

The error may be related to a Microsoft .NET assembly that's missing or corrupted.

Solution

Repair .NET by searching the web for repair microsoft .net or try this tool:

Upgrading a server ('localhost') client

When the client application (1) can connect to a localhost server computer, and (2) cannot be upgraded, then the following error messages may be shown.

Could not load file or assembly 'PDXpert.UI, Version={release}' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Could not load file or assembly 'file:///{path}\PDXpert.UI.exe' or one of its dependencies. The system cannot find the file specified.

This is the result of installing the entire PDXpert system (SQL Server database, PDXpert server and PDXpert client), and then redirecting that client to a different server. Although the PDXpert client can attach to a remote server when they both use the same release, the client fails when the remote server's release is different.

The PDXpert system installs its "localhost" client into the Windows all users (per-machine) profile. Subsequent PDXpert system updates also update the "localhost" client in the per-machine profile. All other PDXpert clients are installed into the Windows user (per-user) profile; a remote server sends the per-user client what's needed to match the server's release. The error occurs because a remote server's per-user code can't be saved into the localhost client's per-machine profile.

Solution:

PDXpert is designed to use exactly one installer per computer.

  • Use the PDXpertSystemSetup installer to install a production or test server, and its local client.

  • Use the PDXpertClientSetup for installing into the current user profile.

  • If the client machine is shared among users as a kiosk, Citrix, RDT, etc., use the PDXpertClientSetupMPx64 to install into the all users/machine profile.

Options:

  • To access several different servers, the preferred solution for all releases:

    1. Move the local system to a separate server computer, and uninstall the PDXpert system from the computer.
    2. Install the PDXpert network client application.
    3. Enter the remote server's name or IP address when you log in.
  • In older releases (before PDXpert 13), the same physical machine can support both a full PDXpert system and allow access to a remote server:

    1. Install a separate copy of the PDXpert network client (current user, not all users/machine profile).

    2. Rename this new client's Windows shortcut to something distinctive, such as PDXpert Remote.
    3. When logging into the new client, enter the remote server's name or IP address.
    4. Restore the original PDXpert client log-in to use the localhost server name.
  • If a per-machine client installation (e.g., on a Citrix shared host) is required for accessing a remote server, and the full PDXpert system is not otherwise used, then install the 64-bit machine-profile PDXpert client (PDXpertClientSetupMPx64.msi) that's available on the download web page.

    If the unusual case where your shared machine is Windows 32-bit (x86), then use the system install and keep the per-machine client in sync with the remote server by installing/upgrading the same PDXpert system release on both computers.

Message: The socket connection has been disposed

To improve performance, the PDXpert client maintains a data cache on the client computer. Each time that the PDXpert client connects to the server, the cache is updated with all changes since the last connection.

The cache is empty when users log into PDXpert for the first time, reset their account settings, or switch to a different database. If the cache is empty, then the server sends a pre-built cache file to the client computer. Although this file is compressed, it can be quite large if the system contains thousands of items.

The socket connection error may occur when a large pre-built cache file is sent over a slow or unreliable network connection.

Solution: Diagnose and fix the network errors to improve speed, reduce latency and eliminate connection drop-outs. Switch to a wired connection.

Work-around: Manually copy the pre-built cache file to the client computer.

This work-around requires PDXpert 10.3.30372.2 or later.

The PDXpert server's data directory has a pre-built cache file: drive:path\Data\Files\DatabaseId. For each user and database, the PDXpert client manages a cache file: %LocalAppData%\PDXpert\Cache\UserId\DatabaseId\Cache.

  1. Get the name of the server's pre-built cache file, and the path to each client cache. Log into a working PDXpert client as an administrator:

    When you open the exported file, you'll see that it has two sections:

    1. The name of the SERVER pre-built cache file on the PDXpert server computer, and
    2. Each user's folder path where the cache file should be saved.
  2. Get the pre-built cache file from the PDXpert server.

    1. Open the PDXpert Application Server and note the current data directory path.

      Data Directory path
    2. Open Windows Explorer and go to the data directory folder. Within the data directory folder, open the \Files folder to view the pre-built cache files.

    3. The exported file created in Step 1 identifies the SERVER pre-built cache file path and file name. The pre-built cache file name is a "guid" (for example, 0ac4e973d8264575a97f97ddeae964d2), with a compressed equivalent (like 0ac4e973d8264575a97f97ddeae964d2.gz).

      Find and copy the pre-built cache files to a USB drive, or to a shared network location that the client computer can access.

  3. Add the pre-built cache file to the client computer.

    1. On the client computer, log into the Windows user profile of the PDXpert user.

      Windows administrators can perform the following steps in the appropriate C:\Users\username\AppData\Local folder.

    2. Create the folders for the pre-built cache file on the client computer.

      1. Using the exported file you created in Step 1, find the user's name and note the related Windows User Profile - Cache Path.

      2. Open Windows Explorer and go to the user's %LocalAppData% folder. Within this folder, open or create the \PDXpert folder and the \Cache subfolder.

        %LocalAppData%\PDXpert\Cache folder

        Open or create the two other subfolders contained in the Windows User Profile - Cache Path.

        %LocalAppData%\PDXpert\Cache\UserId\DatabaseId folder
    3. Copy the pre-built cache file from your USB or shared network location to the last folder in the cache path. (If you copy the compressed pre-built cache file, decompress it with any gzip-compatible application, such as 7-Zip.) Rename the uncompressed pre-built file to Cache, without any file extension.

      %LocalAppData%\PDXpert\Cache\UserId\DatabaseId\Cache file

Message: Unable to read data from the transport connection

After logging into the PDXpert client, the client may need to download the current release from the PDXpert server.

Some network appliances may block this download: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.

Configure the appliance to allow the PDXpert server-to-client download on TCP port 48084, or see Client upgrade when IP ports are blocked.

Message: This implementation is not part of the Windows Platform FIPS…

The full message is This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms. It's related to a Windows OS option for enabling FIPS mode (the U.S. Government's Federal Information Processing Standard 140).

PDXpert is a .NET application, and uses .NET managed code cryptography for password and perfect forward secrecy encryption. For compatibility, reliability and performance, Microsoft has implemented the SHA256Managed functions strictly in .NET managed code. Microsoft has not submitted the SHA256Managed code to NIST for validation, although they consider it equal to implementations that have been approved. For Microsoft's discussion, see Why We’re Not Recommending "FIPS Mode" Anymore.

If FIPS mode is enabled, the .NET Framework disallows the use of all non-validated cryptographic classes. This includes the crypto classes that PDXpert uses for encryption.

If your Windows systems must have FIPS mode enabled, then try adding the following to the PDXpert configuration files on both server and client machines.

Using PDXpert with a FIPS-enables Windows configuration

Edit PDXpert configuration files as shown:

<configuration>

  <runtime>

    ... other settings ...

    <enforceFIPSPolicy enabled="false"/>

  </runtime>

</configuration>

Of course, if Microsoft's SHA256Managed code becomes NIST-validated, then set the value to enabled="true".

  1. On the server computer, edit two configuration files, one for the server and the other for the client:

    • C:\Program Files\PDXpert\PDXpert PLM\Website\bin\PDXpert.Service.exe.config
    • C:\Program Files\PDXpert\PDXpert PLM\Website\bin\Client\PDXpert.UI.exe.config
  2. On the remote client computer, edit this configuration file:

    • %LocalAppData%\PDXpert\Application\PDXpert.exe.config
  3. After editing these files:

    1. Delete all files in the server's \Data\Files folder, for example: C:\ProgramData\PDXpert\Data\Files

      Do not delete any files in the server's \Data\ folder, only files in the \Data\Files subfolder.

      The PDXpert Application Server tool on your server computer displays the location of your database and library. Open the PDXpert Application Server and, on the Manage tab, note the location shown to the right of the Change Data Directory… button. The \Files subfolder is inside this path.

      Data folder location

    2. Restart the Windows server.

  4. Finally, on client(s) already installed:

    • On the Welcome to PDXpert PLM window, click on the Options button, and mark the Reset my account settings checkbox. This ensures the new .config file is used.

The server will send these changes automatically to clients that are installed after you've edited the server's config files.

PDXpert client operation diagnostics

Attaching large or compressed files is extremely slow or fails

Even on high-speed LANs, aggressive or slow antivirus scanning may interfere with file attachments, particularly large or compressed (e.g., .zip, .rar, .iso) files.

Solution: Create a staging directory on the client computer and set the antivirus software to exclude the folder. Before attaching a file to a record, move the file into the excluded folder.

Insufficient Windows system resources

You may see this error when you have many items open within PDXpert, or many other applications open alongside PDXpert. Although this can appear with any version of Windows, it's far more common in 32-bit Windows and/or while using a CAD application with many design objects. 

Solution: This may be cleared by reducing the number of open objects displayed in other applications, or restarting the PDXpert client to reset the allocated system resources.

Odd display of controls and graphic elements§

This error occurs when your screen is not scaled to 100% at 96 dpi in your Windows screen settings. The problem is that Windows applies scaling factors inconsistently to GUI objects' size and location. Button labels, textboxes, fonts and icons may be scaled, while bitmaps, buttons and other controls may remain at 100%. On some high-resolution displays, Windows may show 100% but the driver uses 192 dpi or other scaling factor.

Microsoft is gradually adding display scaling improvements to the .NET Framework. Microsoft .NET Framework 4.5.2 was the first release to address this problem.

Solution 1: Try upgrading your computer to Microsoft .NET Framework 4.7 or later, and to the most recent PDXpert release. Close PDXpert and other .NET applications before upgrading. You may have to restart the computer after you install this update.

Solution 2: Try disabling display scaling for the PDXpert client application only:

  1. On the Windows Start menu, find the PDXpert application, right-click the icon, and select More > Open file location.
  2. In the Windows File Explorer, right-click the PDXpert PLM icon, and select Properties.
  3. In the PDXpert PLM Properties window, select Compatibility.
  4. Mark the Disable display scaling on high DPI settings checkbox.
  5. Click the Apply button, then the OK button.

Solution 3: The problem may be fully addressed only by returning to the standard Windows 100% scaling factor.

High-resolution display drivers use hardware to scale the image. By switching to a similar "display aspect ratio" (e.g., 1920x1080, 1680x1050, 1440x900 are all 16:10), the driver-scaled image trades resolution for accuracy. For example, if your laptop resolution is 1920x1200 and Windows downscales it 125%, try setting the display resolution to 1680x1080 and text/app size to 100%. Similarly, a display 2880x1920 (4:3) that's reduced by 150% can be set to 1920x1280 at 100%.

Older Windows systems may use the Control Panel to make these changes, and require a computer restart after adjusting the screen scaling.

  1. In Windows 10/11 settings, select System > Display.
  2. Set the Scale: Change the size of text, appds and other items to 100%
  3. Set the Display resolution to a lower resolution with similar display aspect ratio.

Problem Event Name: CLR20r3§

An application error CLR20r3 is usually the result of a damaged Windows .NET Framework component.

  • Check if one of the PDXpert components is damaged:
    1. On the PDXpert client's log-in window, under Options, mark the Reset my account settings checkbox, and log in as normal.
    2. Otherwise: Uninstall and re-install the PDXpert client application to refresh its .NET components.
  • The computer may have failed Windows updates or damaged Windows Update components. See Microsoft's instructions How do I reset Windows Update components?
  • If there are no failed updates, then your current .NET may need to be repaired. See Microsoft .NET Framework Repair Tool

You can search the web for CLR20r3 to get many other ideas for fixing it.

Repeated installations of the PDXpert client§

There are several possible sources of this problem.

Pinned taskbar icon

After the PDXpert server has been updated, the older PDXpert client is also upgraded when it's started. If the older client application has been pinned to the Windows Taskbar, then the pinned client will be updated each time it's started.

Solution:

  1. Close the PDXpert client application.

  2. Unpin the PDXpert PLM icon from the Windows Taskbar.

    Unpin PDXpert PLM icon on Windows Taskbar
  3. Open the updated client application using the PDXpert PLM icon in the Windows Start menu or on your computer desktop.

  4. If you wish, re-pin the updated PDXpert PLM icon to the taskbar.

Reusing PDXpertClientSetup after upgrading

The PDXpertClientSetup.exe installs the PDXpert network client. If you continue to use PDXpertClientSetup.exe after the PDXpert client is installed, then the client will be installed or repaired each time.

Solution:

  • After you've used the PDXpertClientSetup.exe to install the PDXpert PLM client application, delete the PDXpertClientSetup.exe installer.
  • Use the PDXpert PLM icon in the Windows Start menu or on the computer desktop to open the PDXpert client application.

Antivirus

After logging into the PDXpert client, you should be taken immediately to the main user window. If your PDXpert client has a noticeable delay in opening, this may indicate that the user interface .DLL code has been removed by your antivirus software, and is being downloaded again from the server.

This may also be caused by installing the client into the all users profile (%AllUsersProfile%) without giving the user permissions to upgrade all users. Upgrade the client while logged in as the system administrator, or change the user's permissions or the client folder.

On all computers except the server computer, the PDXpert client application is installed in the %LocalAppData%\PDXpert folder.

  • The PDXpert.exe launcher accepts user credentials, connects to the PDXpert server, and creates the application's main user window.
  • Various .DLL assemblies create the main user window where you manage PDXpert system and data.

You can verify whether your antivirus is removing PDXpert's code. Before opening the PDXpert client, examine the current user's %LocalAppData%\PDXpert\Assemblies folder. This folder should contain a folder for the current PDXpert release, and within this should be another folder \bin containing files like Common.Logging.dll or PDXpert.Resources.dll. If folders and files are missing after previously using PDXpert, it's likely that your antivirus is deleting them.

Solution: To address repeated installs/upgrades, configure the client computer's antivirus software:

  1. Whitelist the %LocalAppData%\PDXpert folder contents.

  2. Allow PDXpert to read & write access to the current user's %LocalAppData%\PDXpert folder.

Whitelist user's LocalAppData folder

Repairing a client installation

A Windows or .NET crash, bad antivirus scan, or other unexpected event may damage the local client cache. The cache is rebuilt when you reset your local account settings.

On the client's log-in window, in the Options area, mark the Reset user settings checkbox and then log in as usual.

If you see an application error after resetting the user settings, then clear and re-install your PDXpert client:

  1. Using the Windows Control Panel, uninstall the PDXpert client.
  2. In Windows Explorer, enter the path %LocalAppData% which opens the location similar to C:\Users\username\AppData\Local.
  3. Find and delete the PDXpert folder.

    PDXpert folder at %LocalAppData%
  4. Use the PDXpertClientSetup download link or the PDXpertClientSetup.exe file to install the PDXpert client. A PostInstaller window may display an error message, which you can ignore by closing the window.

Setting the local file cache limit

To increase performance, the PDXpert client maintains a cache of downloaded file attachments, typically in the %LocalAppData%\PDXpert\FileCache folder.

In PDXpert release 9.1 and later, the file cache maximum defaults to 500MB and is saved in the settings.xml file (file path). The file's XML <CacheLimit> tag is in bytes, and can be edited as needed. Increase the value to conserve download bandwidth; decrease the value to conserve client computer disk space.

The Writer is closed or in error state.

When exporting a PDX package, the PDXpert client shows the PDX Package Error window with The Writer is closed or in error state. In this case, the Writer is the Microsoft .NET XML or ZIP StreamWriter that's used to make the PDX package.

This often indicates that an invalid character (such as a NUL) has been included in an attachment's file name or URI string, or pasted into a text field. These bad characters are usually copied from a web page or from multi-line text in a Linux or Mac system. These latter systems use a single linefeed LF instead CRLF for new lines; Windows doesn't work well with single LF characters.

Because Windows hides invalid characters or replaces them with a normal space, they can be difficult to find and correct. Windows sometimes shows the character as unknown (symbols � or ).

Working from the failing item, open each "child" item on its BOM, Sources and References lists to export that item's PDX package. If any of these fail, then the problem is in that child item; repeat the PDX export for each of that item's child relations. Although the bad character can be in any item, look especially at:

  • Partner sources and references, as well as file attachments, because these are frequently copied from non-Windows resources.

  • Recently-added, newly-revised, and rarely-used items, because the export problem is probably new or uncommon.

If the problem is not in any of the child items, then the problem is with the current item.

Having found the item that's blocking the PDX package, repair remains challenging because the invalid character may be hidden.

Before making any changes to your production data, make a full system backup. Verify your results are correct before continuing with normal work.

Consider using this procedure in a TEST system to confirm that it solves the problem.

  • Start with file attachments and, after each step, try to export the PDX package: Completely replace all external links with manually typed text. Copy and open each file attachment; Windows or PDXpert may detect and remove the hidden characters automatically. Try deleting each file attachment. If the file works, then repair or replace the attachment.

  • Export the part or document information to a plain text file (CSV UTF-8). You can try the standard Export All Parts transform, or export the principal Batch Importer templates.

    Open the file in the free Notepad++ application, and try to find unexpected control characters: View ➔ Show Symbol ➔ Show All Characters command.

  • Open the PDXpertDB database in SQL Server Management Studio to view the complete data. Export tables like ItemMasterView, MaterializedCustomAttributes, and PhysicalFile as CSV files, and open these in Notepad++ (see previous note).

If you can't find and repair the data using normal trustee permissions, Administrator Override or with a SQL update query, then you may need to replace the item with a corrected item. Before you begin, be sure you have all data and files required to reproduce the replaced item.

  • If the item has a pending revision that can't be exported:

    • Delete the bad revision. If this is the item's first revision, you first must remove the item from its parent item(s) – check its Appears On lists.

    • Create a new revision with the correct data and file attachments. Confirm that this new item can be exported as a PDX package.

  • If the item has a released revision that can't be exported:

    • If you must retain the original number (for example, it's a partner-assigned part number), use Administrator Override to change the bad item's Number (say 12345678 to 12345678-OBS).

    • Create a new item with the correct data and file attachments. Confirm that this new item can be exported as a PDX package.

    • Revise the parent items (assembly, purchase, etc.) to remove the bad item and add the new item.

    • Create a new change form to (a) release the new item, (b) release the revised parent item(s), and (c) cancel the bad item.

Window handles pool depleted

If a user opens too many item records, the PDXpert client application can crash. On restarting the client, PDXpert attempts to restore the previous workspace settings and, in re-opening the item records, again crashes.

Solution: On the PDXpert client log-in screen, mark the Reset my account settings checkbox, and then log in as usual. Keep the total number of open PDXpert objects to a manageable size, and close item windows when you've finished using them. More details can be found in Client restart after window handle exhaustion.

The remote server returned an error: (503) Server Unavailable.

This message may be seen during a new client install, or after upgrading the server.

The PDXpert client (PDXpert.exe) is a "launcher" application. This launcher connects to the PDXpert Server service for user authentication, and to download any new client user interface components. These client components match the current PDXpert Server's release, and include

  • the PDXpert client interface (PDXpert.UI.exe)

  • Windows libraries (.dll files)

  • application help (a Windows .chm file)

  • compressed files (.gz and/or .zip) for local cache

  • configuration (.config) and other files

These files are saved in the user profile in the %LocalAppData%\PDXpert\Assemblies\v{release}\bin folder.

After user authentication and possible download, the launcher jumps to the client user interface and then closes.

This download process will fail if it's blocked by firewall, or if antivirus doesn't allow these files.

Solution: On both server and client machines, ensure the firewall port 48084 is open, and that antivirus allows downloading application files from server to the %LocalAppData%\PDXpert folder.

PDXpert client log file error messages

These messages may be displayed on the log-in window, as a pop-up window, or within the client log file.

Message: Access to the path 'C:\Users\...\PDXpert\Assemblies\{guid}' is denied

The path C:\Users\username\AppData\Local\PDXpert\ is where PDXpert maintains its client logs, cache and downloaded assemblies (binary executables). The error may be seen:

  • When the PDXpert client is first installed. The Windows user account doesn't have permission to run the executables in the folder.

  • Immediately after the PDXpert Application Server updates the PDXpert client code. The updated code isn't recognized by the antivirus.

  • When the client computer's antivirus is updated or replaced.

Solution 1: Briefly disable the antivirus software to confirm that the PDXpert client runs as expected. If successful, then configure the antivirus to permit the PDXpert.exe full permissions to all files and subfolders within the C:\Users\username\AppData\Local\PDXpert\ path.

PDXpert is included in many antivirus publishers' whitelists (AVG, Avira, Bitdefender, etc.). If your antivirus has blocked PDXpert, advise us of the software and its virus definition version. We will work with the antivirus publisher to update their "allowed" list.

Solution 2: Re-install the PDXpert client using administrator permissions:

  1. Un-install the PDXpert PLM client from Windows Control Panel.

  2. Delete the %LocalAppData%\PDXpert folder and subfolders, which looks like C:\Users\username\AppData\Local\PDXpert\

  3. Reinstall the PDXpertClientSetup.exe with Run as administrator permission.

Message: Attempted to read or write protected memory...at DBROverlayIcon.DBRBackupOverlayIcon...

You'll probably see this error only on Dell computers. The source of the problem is the Dell Backup and Recovery (DBR) utility's Windows shell extension. DBR apparently installs an obsolete SQLite 1.x that replaces the shared SQLite 3.x that PDXpert requires.

To restore PDXpert operation:

  1. Uninstall both PDXpert and DBR.
  2. Delete the %LocalAppData%\PDXpert folder to remove PDXpert's SQLite database. This forces PDXpert to rebuild its SQLite cache on start-up.
  3. If DBR is not used, then re-install PDXpert only. If you feel DBR must be used, install the latest DBR version from Dell first, then install PDXpert. DBR and PDXpert may not work well on the same computer.

Message: Could not allocate space for object '...' in database 'tempdb'.

The following error message is displayed trying to add, edit or remove data.

Could not allocate space for object '{internal database name}' in database 'tempdb' because the '{name}' filegroup is full. Create disk space by deleting unneeded files, dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.

This is a message from Microsoft SQL Server warning that its temporary working database has run out of space and cannot support any new transactions. This error may be more likely if your system uses SQL Server Express Edition than if it uses a higher-level edition.

Solution: Reset the SQL Server tempdb database by restarting the computer where SQL Server (and the PDXpert server) is installed. When the server machine restarts, SQL Server resets the tempdb file back to its default size. To prevent this problem, updating your server with Microsoft's latest releases of Windows, .NET and SQL Server usually requires sufficient computer restarts. Or, just schedule a server restart every few months.

Message: Execution Timeout Expired: The timeout period elapsed…

During log-in, or shortly after, you may see Execution Timeout Expired: The timeout period has elapsed prior to completion of the operation or the server is not responding. This is seen after the server has a Windows update, or the network connection is broken, while the client is logged in. The client may appear to work for a brief period, but the server-client session may be closed and must be restarted.

Solution: Close all clients and restart the server machine. To prevent unexpected server restarts, schedule a regular Microsoft update to obtain the latest releases of Windows, .NET and SQL Server. Ensure the server and client computers have a reliable network connection.

Message: File requires about {disk space} and only {free disk space} is available

When exporting a PDX package, the PDXpert client displays a PDX Package Error window with a message similar to File requires about 258.0 MB and only 141.0 MB is available.

Although this error is displayed on the client computer, the PDX package is actually created on the server computer, in the Windows \Temp folder.

Therefore, it's the server's disk – not the local workstation's – that must have enough free space to create the PDX package. Of course, it's also a problem if the client has no free space to accept the PDX file.

The solution is to create additional free disk space:

  • Windows system %systemdrive%\Windows\Temp folder (typically C:\Windows\temp)

  • Local %temp% folder

  • Disk space on program and data drives

Message: Font '[fontname]' does not support style '[style]'.

PDXpert relies upon a few standard Microsoft Windows fonts (like Segoe UI and ) and styles (normal, bold, italic). This error indicates that your computer has a corrupted or missing Windows font. An example of this error, Font 'Arial' does not support style 'Italic', indicates that the italic Arial font is not available on your computer.

The problem may be caused by Windows Update KB 2982791. Before trying to fix your fonts, uninstall the affected KB updates as described by Microsoft: support.microsoft.com/kb/2982791

Solution: Reinstall the font or copy it from another Windows computer.

  1. Go to your C:\Windows\Fonts directory and find the named font file.

  2. Right-click on the file and select the Copy command. Paste the file to another directory, such as your computer Desktop. Although only one file was copied and pasted, you'll probably see several files, such as arial.ttf, ariblk.ttf and ariali.ttf.

  3. Right-click on each file and select the Install command.

    Install to repair font that does not support style

If the reinstallation doesn't work, copy the font from a different Windows machine that does work and place it into the \Fonts folder.

Finally, if all else fails, you can uninstall, then re-install the font: windows.microsoft.com/en-US/windows-vista/Install-or-uninstall-fonts

Message: Login failed for user 'pdxpertuser'.

You may see this error when

  • The server client communication service has been stopped while a client is logged into the system. Solution: Don't stop the PDXpert Application Server's client communication service until all users have logged out of the PDXpert client application.
  • SQL Server is being stretched beyond its ability to handle client requests (for example, if you're using SQL Server Express with more than 10-20 users). Solution: Assess your SQL Server configuration and consider upgrading to a higher-performance edition and/or faster hardware.

Message: Object reference not set to an instance of an object

An occasional file system error or an overly-aggressive anti-virus program may corrupt the client configuration or settings files. You may see the message Object reference not set to an instance of an object during log-in.

A clean reinstall of the PDXpert client replaces any corrupt files. If you are not on your server computer:

  1. Using the Windows Control Panel, uninstall the PDXpert client.
  2. In Windows Explorer, enter the path %LocalAppData% which opens the location similar to C:\Users\username\AppData\Local.
  3. Find and delete the PDXpert folder, if any.

    PDXpert folder at %LocalAppData%
  4. In Windows Explorer, enter the path %AppData% which opens the location similar to C:\Users\username\AppData. Open the Roaming folder.
  5. Find and delete the PDXpert folder, if any.

  6. In Windows Explorer, enter the path %ProgramFiles% which opens the location similar to C:\ProgramFiles.

  7. Find and delete the PDXpert folder, if any.

  8. Use the PDXpertClientSetup download link or the PDXpertClientSetup.exe file to install a new instance of the PDXpert client.

Message: PDXpert.UI.ClientLoader at MS.Internal.FontCache.Util..cctor()

The PDXpert client main window partially loads in Windows XP, but fails before displaying the Item Explorer. The client log file includes this exception:

YYYY-MM-DD HH:MM:SS.ssss [1] Error PDXpert.UI.ClientLoader - at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)

at System.Uri..ctor(String uriString, UriKind uriKind)

at MS.Internal.FontCache.Util..cctor()

This error may be the result of an incorrect registry setting for the Windows XP system folder.

Solution: A recommended solution is:

  1. Start the Registry editor (RegEdit.exe).
  2. Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.
  3. Check that windir has a type of REG_EXPAND_SZ. If not, back up your registry (File | Export...) and then re-create the entry to be:
    • Name: windir
    • Type: REG_EXPAND_SZ
    • Data: %SystemRoot%
  4. Restart Windows XP and verify proper operation.

Message: Session is no longer alive

The PDXpert application server assigns a client session ID when a user logs into the system. The session ID is associated with the logged-in account name on a specific computer. When the server application or PDXpert client no longer communicate, the session is removed.

The session expires when:

  • All session IDs have been canceled while the PDXpert server is upgraded. Solution: Restart the client application. In the future, notify users prior to a system upgrade so they can save their work and exit.

  • The user account is shared between multiple workstations or Windows user profiles (this usage may not comply with the software license policies). Each log-in creates a new session ID for the user account, and invalidates any previous ID assigned to that account. Solution: Assign each person a unique named user account.

  • The connection between the server and the client workstation has been interrupted and cannot be re-established, usually because of poor network reliability. Solution: Diagnose and fix the network errors.

Message: The 'DbProviderFactories' section can only appear once per config file

This is typically the result of having Microsoft Visual Studio installed on the same computer. When Visual Studio is updated (new version or patch), the VS installer may add an empty <DbProviderFactories/> to the machine.config file. There may be several of these files, such as:

  • C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\Machine.Config
  • C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Machine.Config
  • C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Config\Machine.Config
  • C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Machine.Config

Solution: In each .NET machine.config file on your computer, look for the section <system.data>. Remove the empty XML tag <DbProviderFactories/> and save the file.

Message: The dock state is invalid.

If Windows closes unexpectedly while PDXpert is open, the docking panel settings file may be damaged.

Solution: Exit the PDXpert client. Start the client and, on the log-in window, mark the Reset my account settings checkbox, then enter your other log-in details as normal.

Message: The 'Microsoft.xxx.OLEDB.vvv' provider is not registered on the local machine.

On 64-bit Windows, you may see this error when attempting to export data in a Microsoft Access or Excel format. The Microsoft 64-bit OLEDB driver is not installed on your system.

Solution: To obtain the required OLEDB driver, install the 64-bit Microsoft Access Database Engine 2010 Redistributable (AccessDatabaseEngine_x64.exe) which can be downloaded here:

www.microsoft.com/download/en/details.aspx?displaylang=en&id=13255

If your system already has the 32-bit version of Microsoft Office installed, then do not proceed with installation.

The OLEDB 64-bit driver installation will likely fail with the following Office installer error:

Error on installing 64-bit OLEDB driver

When you have a 32-bit version of Office, you must either

  • upgrade to the 64-bit version of Microsoft Office, or
  • export using only plain text formats such as comma-delimited (.csv) or tab-delimited (.txt).

Message: The requested service provider could not be loaded or initialized

This is a low-level network Windows Sockets Error message, forwarded through the PDXpert error handler. The client log file includes this exception:

YYYY-MM-DD HH:MM:SS.ssss [1] Error PDXpert.Client.Program - System.Net.Sockets.SocketException (0x80004005): The requested service provider could

    not be loaded or initialized

at System.Net.Sockets.Socket..ctor(AddressFamily addressFamily, SocketType socketType,

    ProtocolType protocolType)

at System.Net.Sockets.TcpListener..ctor(IPAddress localaddr, Int32 port)

at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupChannel()

at System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor(...)

at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase

    .RegisterChannel(ChannelType ChannelType, Boolean ChannelIsSecure)

at Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(...)

at PDXpert.Client.Program.Main(String[] args)

Verify that your firewall is been configured to allow communications between the PDXpert client and server.

If this error is displayed without the PDXpert client log-in window displayed, then it's possible that the system network configuration is corrupt. (As an additional clue, this problem may be related to recent unusual antivirus activity.)

While network-related analysis is best left to your IT staff, you can try the following:

  1. Close all applications, as well as any Internet Explorer and Windows Explorer sessions that are open.
  2. Open a command line prompt and type inetcpl.cpl and wait for the Internet Properties window to open.
  3. Click on the Advanced tab, and then click on the Reset... button.
  4. In the Reset Internet Explorer Settings dialog box, click the Reset button.
  5. When the reset is complete, close these windows and restart your computer.

Message: The type initializer for '{shared .NET component}' threw an exception.

Many applications rely on shared components in the Windows .NET global assembly cache ("GAC"). The error may be caused by a corrupted shared component, bad installation or .NET configuration error.

For example, the open source SQLite database is shared by PDXpert, Chrome, Firefox, iTunes, Skype and many other applications:

The type initializer for 'System.Data.SQLite.SQLiteFactory' threw an exception.

  1. Reinstall PDXpert or other recently-installed or recently-upgraded applications. Examine the computer's install/upgrade history to determine which software requires reinstallation.

  2. Repair the .NET installation: Microsoft .NET Framework Repair Tool