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);
}
}
}
}
