Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to resolve The message filter indicated that the application is busy. (Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

PowerPoint.Application PowerPoint_App;
PowerPoint_App = new PowerPoint.ApplicationClass();
PowerPoint_App.DisplayAlerts = PowerPoint.PpAlertLevel.ppAlertsNone;
PowerPoint.Presentation presentation;
presentation = null;
try
{
    PowerPoint_App.Visible = MsoTriState.msoTrue;
    presentation = PowerPoint_App.Presentations.Open(strPptFilePath, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoFalse);
    PowerPoint.Slide tempSlide = null;
    int totalSlides = presentation.Slides.Count;
    int slideNo = 0;

I am getting the below exception on PowerPoint_App.Presentations.Open code.

Exception Message: The message filter indicated that the application is busy. (Exception from HRESULT: 0x8001010A (RPC_E_SERVERCALL_RETRYLATER))

I did not received this error previously on this block of code. Everything was working perfectly before. Can anyone help?

like image 971
Milind Anantwar Avatar asked Feb 24 '14 12:02

Milind Anantwar


3 Answers

I just want to say that Nikolay's advice was 100% spot on for me. Although my problem was with code that interacted with Excel rather than PowerPoint, I believe it'll apply all the same.

Suddenly and seemingly out of nowhere a service that had been running flawlessly for years without issues started encountering this error. There weren't any recent code changes that could've been suspect, either.

I logged into the server via Remote Desktop using credentials for the service account that runs the automated service in question and as soon as I manually launched Excel, I was presented with a pop-up with some unrelated news I didn't care about. I clicked OK on this, closed Excel, logged out, and restarted the service and voila! No more issues.

Long story short, the root cause of the problem (for me) was that Excel was trying to present a pop-up and continued code execution couldn't continue because there wasn't a user to acknowledge the pop-up. Acknowledge it and your issue will go away if you have the same issue I did.

like image 93
Joshua Barker Avatar answered Oct 10 '22 13:10

Joshua Barker


I ended up removing:

 PowerPoint_App.Visible = MsoTriState.msoTrue;

And it worked...!!!

like image 21
Milind Anantwar Avatar answered Oct 10 '22 12:10

Milind Anantwar


I'm working through a similar problem (controlling Excel via PowerShell), and wanted to add that -- in a way I cannot begin to explain -- the analogue to @Milind Anantwar's suggestion caused my script to start working.

More details, in case they help:

  • In my case, everything worked fine when run locally. I started seeing the

    Application is busy

    exception only when I moved to executing via an Azure Hybrid Worker Runner.

  • With reference to the following snippet, I was seeing the exception after line 2, but removing line 2 "fixed" the problem:

    $excel = New-Object -ComObject Excel.Application    
    $excel.visible = $SHOW_EXCEL    
    $workbook = $excel.Workbooks.Open($_excel_file) 
    
  • I saw the exception when $SHOW_EXCEL was set to $false.

like image 21
jrheling Avatar answered Oct 10 '22 13:10

jrheling