PDM Professional Add-In Error on Explorer

Add-in SolidWorks PDM Professional stops working after migrating to 2026 SP1.1.

We have an add-in developed for SolidWorks PDM Professional that was working perfectly on version 2025. After migrating to version 2026 SP1.1, the add-in completely stopped working.

What we have already tried:

  • Replaced all DLLs

  • Created a new vault for testing

  • Created a brand new simple add-in from scratch, based on the official SolidWorks PDM Professional API sample template

None of the above resolved the issue.

Symptom: Whenever any OnMenu or OnCmd function is executed, Windows Explorer closes abruptly with no error message displayed.

Event Viewer Error:

Add-in code:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using EPDM.Interop.epdm;

namespace Serraff.SolidWorks.PDM._2026.NF
{
   [Guid("357696DE-017D-4EDF-ABC8-B3D555947CA7"), ComVisible(true)]
   public class Main : IEdmAddIn5
   {
       public void GetAddInInfo(ref EdmAddInInfo poInfo, IEdmVault5 poVault, IEdmCmdMgr5 poCmdMgr)
       {
           try
           {
               //Informações do Add-in
               poInfo.mbsAddInName = "Serraff.SolidWorks.PDM.2026";
               poInfo.mbsCompany = "Maico Ismael Schmitz";
               poInfo.mbsDescription = "API SolidWorks PDM desenvolvido por Maico Ismael Schmitz.";
               poInfo.mlAddInVersion = 1;
               poInfo.mlRequiredVersionMajor = 34;
               poInfo.mlRequiredVersionMinor = 1;

               #region Menu
               //https://help.solidworks.com/2025/english/api/epdmapi/epdm.interop.epdm~epdm.interop.epdm.iedmcmdmgr5~addcmd.html

               poCmdMgr.AddCmd(999, \\\$"Teste", 2, "Tarefa Teste", "Teste", -1, 0);
               #endregion
           }
           catch { }
           //catch (COMException Exception) { MessageBox.Show("Main() - HRESULT = 0x" + Exception.ErrorCode.ToString("X") + Exception.Message); }
           //catch (Exception Exception) { MessageBox.Show(\\\$"Main.GetAddInInfo():56\\n{Exception.Message}"); }
       }
       public void OnCmd(ref EdmCmd poCmd, ref EdmCmdData[] ppoData)
       {
           if (poCmd.meCmdType == EdmCmdType.EdmCmd_Menu)
           {
               string CommandName = "Teste";
               int index = 0;
               int last = 0;
               index = ppoData.GetLowerBound(0);
               last = ppoData.GetUpperBound(0);
               string StrID = null;

               string message = null;
               message = "You have selected the following files and folders: " + "\\r";
               while (index <= last)
               {
                   if (((EdmCmdData)ppoData.GetValue(index)).mlObjectID1 == 0)
                   {
                       message = message + "Folder: (ID=";
                       StrID = ((EdmCmdData)ppoData.GetValue(index)).mlObjectID2.ToString();
                       message = message + StrID + ") ";
                   }
                   else
                   {
                       message = message + "File: (ID=";
                       StrID = ((EdmCmdData)ppoData.GetValue(index)).mlObjectID1.ToString();
                       message = message + StrID + ") ";
                   }
                   message = message + ((EdmCmdData)ppoData.GetValue(index)).mbsStrData1 + "\\r";
                   index = index + 1;
               }
               EdmVault5 v = default(EdmVault5);
               v = (EdmVault5)poCmd.mpoVault;
               v.MsgBox(poCmd.mlParentWnd, message, EdmMBoxType.EdmMbt_OKOnly, CommandName);

           }
       }
   }
}