DLLServer registration for running GSPy on Citrix VDI

Comments

4 comments

  • Avatar
    Jason

    Hi Aleta,

    Thanks for posting in the forum. First - please make sure you are using the latest version of GSPy (1.8.6): GoldSim/gspy: Python bridge for GoldSim - execute Python calculations directly in simulation models

    Next, let's address the regsvr32 error message:

    "The module...was loaded but the entry-point DllRegisterServer was not found."

    This error is expected because GSPy.dll is not a COM DLL and is not designed to be registered with regsvr32. That command is for a specific type of DLL that needs to register itself with the Windows Registry, which GSPy does not do. You can't "fix" this error because you are using the wrong tool for this file.

    The original error you saw in GoldSim ("Could not obtain an interface pointer for the DLLServer") likely means that GoldSim, running inside the Citrix VDI, cannot find or load the GSPy17_2025v1.dll file's dependencies (like Python).

    On your local laptop, your user profile has the correct Windows System PATH configured to find your Python installation (e.g., Python 3.11) and the GSPy DLL. When you log into the Citrix VDI, you are getting a new, clean environment for your session, and it likely does not have these same PATH modifications.

    Here are the steps to investigate. You may need to coordinate with your IT admin.

    1. Check the VDI's PATH Environment Variable:

      • Once you are in your VDI session, open a Command Prompt.

      • Type echo %PATH% and press Enter.

      • You need to see the path to your Python 3.11/3.14 (64-bit) installation folder (e.g., C:\Python311\) and the Scripts folder (e.g., C:\Python311\Scripts\).

      • If they are missing, the PATH variable for your VDI user profile needs to be updated. This is the most likely cause of the problem.

    2. Verify DLL and JSON File Location:

      • Ensure the GSPy17_2025v1.dll (your renamed file) is in the same directory as your model file and script and json configuration file within the VDI.

    3. Check VDI Security & Permissions:

      • Citrix and VDI environments often have security policies that block applications from loading "unrecognized" DLLs.

      • It's possible the VDI's security policy allows GoldSim.exe to run but is blocking it from loading your custom-named GSPy DLL.

      • This is something your IT admin would have to check and, if necessary, create an exception for the GSPy DLL.

    I recommend starting with #1, as a misconfigured PATH variable is the most common reason this works on a local machine but fails in a VDI.

    I hope this helps you get it resolved.

    -Jason

    0
    Comment actions Permalink
  • Avatar
    Aleta Finnila

    Thanks for this. I was using GSPy v1.7.1 to take advantage of the dynamic array sizing ('dimensions_from' tag in JSON file). Is this option no longer supported in the current version (GSPy v1.8.6)? 

    0
    Comment actions Permalink
  • Avatar
    Jason

    I'm sorry, Aleta but I was not able to implement that feature due to a misunderstanding I had about how we need to communicate with GoldSim before runtime. Can you tell me more about your specific use case and why you require that?

    0
    Comment actions Permalink
  • Avatar
    Aleta Finnila

    Hi Jason,

    The dynamic length vectors was very useful for our model, but I can see a workaround as they don't change that often and modifying the hard-coded lengths in the JSON file isn't too onerous.

    However, before I upgrade to the newer GSPy version, I need to be able to run my current code (GSPy v1.7.1) on our Citrix VDI. I've checked the Python environment at that seems perfectly fine. Would you be willing to join a call with me and my IT support person to do a bit more troubleshooting? We can't get past this initial error message "Could not obtain an interface pointer for the DLLServer. Is the DLLServer registered on this computer?". 

    0
    Comment actions Permalink

Please sign in to leave a comment.