Yep. Confirmed.
MC 17.0.189 does not perform IMJFileAutomation.SilentDeleteFile() correctly, at least not from .NET.
When you run it, it shows the "normal" File Deletion popup (Remove, Recycle, Delete). Then, no matter what you choose in this dialog, it then throws an Exception (though it does actually do the deletion, it just then crashes). Details:
Exception Message: The server threw an exception. (Exception from HRESULT: 0x80010105 (RPC_E_SERVERFAULT))
HRESULT: -2147417851
InnerException: null
Source: mscorlib
StackTrace:
at System.RuntimeType.ForwardCallToInvokeMember(String memberName, BindingFlags flags, Object target, Int32[] aWrapperTypes, MessageData& msgData)
at MediaCenter.IMJFileAutomation.SilentDeleteFile()
at MCnet.MC.ReplaceFile(IMJFileAutomation oldFile, String newFilename, Boolean removeSourceFile) in c:\Users\emr\Development\Libraries\MCnet\MC.cs:line 1865
at MCnet.MC.ReplaceFileExtension(IMJFileAutomation oldFile, String newExtension, Boolean removeSourceFile) in c:\Users\emr\Development\Libraries\MCnet\MC.cs:line 2063
at MCnet.MC.ReplaceFile(ReplaceMode replaceMode, IMJFileAutomation oldFile, String newFilename, String newExtension, Boolean removeSourceFile) in c:\Users\emr\Development\Libraries\MCnet\MC.cs:line 1942
at MCnet.MC.ReplaceFile(ReplaceMode replaceMode, IMJFileAutomation oldFile, String newFilename, String newExtension) in c:\Users\emr\Development\Libraries\MCnet\MC.cs:line 1914
at MCTester.Program.Main(String[] args) in c:\Users\emr\Development\Projects\MCTester\MCTester\Program.cs:line 52
at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
TargetSite: {System.Object ForwardCallToInvokeMember(System.String, System.Reflection.BindingFlags, System.Object, Int32[], System.Runtime.Remoting.Proxies.MessageData ByRef)}
I should make it clear: Not only does my application get this exception, but doing this also causes MC itself to crash (no matter what you choose in the popup dialog, including cancel).
The current build of MC18 does not have this problem.