SLDSEARCHIFILTER (Desktop Search iFilter DLL) throws exceptions, causing system halt

The SolidWorks Desktop Search iFilter plug-in (sldsearchifilter.dll) constantly throws exceptions causing Windows to halt when a kernel debugger is attached. Below is a stack trace, with your iFilter DLL bolded. When a kernel debugger is not attached, the exception caused by your iFilter is ignored, but always causes a breakpoint (halt) when the debugger is attached. Clearly, your iFilter is broken

1: kd> k

# Child-SP          RetAddr           Call Site

00 00000020`eaa7cef8 00007ff8`3f7ee6b0 KERNELBASE!DebugBreak+0x2

01 00000020`eaa7cf00 00007ff8`3f7edcae combase!ServerExceptionFilter+0x44

02 00000020`eaa7cf40 00007ff8`3f844589 combase!AppInvokeExceptionFilterWithMethodAddress+0x2e

03 00000020`eaa7cf90 00007ff8`41fb2316 combase!`SyncStubInvoke'::`1'::filt\$0+0x79

04 00000020`eaa7cff0 00007ff8`3f7b37db ntdll!__C_specific_handler+0x96

05 00000020`eaa7d060 00007ff8`41fc398d combase!__GSHandlerCheck_SEH+0x77

06 00000020`eaa7d090 00007ff8`41f893a7 ntdll!RtlpExecuteHandlerForException+0xd

07 00000020`eaa7d0c0 00007ff8`41f88fbd ntdll!RtlDispatchException+0x197

08 00000020`eaa7d790 00007ff8`3f208b9c ntdll!RtlRaiseException+0x18d

09 00000020`eaa7dde0 00000000`710f14f1 KERNELBASE!RaiseException+0x68

0a 00000020`eaa7dec0 00000001`8000e013 MSVCR100!_CxxThrowException+0x81

0b 00000020`eaa7df30 00000001`80007069 sldsearchifilter!DllRegisterServer+0x5d3

0c 00000020`eaa7df80 00000001`8000b00b sldsearchifilter+0x7069

0d 00000020`eaa7e250 00007ff7`e41c4e57 sldsearchifilter+0xb00b

0e 00000020`eaa7e290 00007ff8`401e2053 SearchFilterHost!CFilterWrapper::Init+0x57

0f 00000020`eaa7e2d0 00007ff8`402f3461 RPCRT4!Invoke+0x73

10 00000020`eaa7e340 00007ff8`401f96c0 RPCRT4!Ndr64StubWorker+0xfc9

11 00000020`eaa7ea40 00007ff8`3f8387e3 RPCRT4!NdrStubCall3+0x10d

12 00000020`eaa7ed60 00007ff8`3f8386ad combase!CStdStubBuffer_Invoke+0x6b

13 00000020`eaa7eda0 00007ff8`3f6c4f5a combase!SyncStubInvoke+0x205

SolidworksAdministration