55using Microsoft . Win32 ;
66using SevenZip ;
77using System . IO ;
8+ using System . Runtime . InteropServices ;
89using System . Text ;
910using System . Windows . Input ;
1011using Windows . ApplicationModel ;
@@ -354,6 +355,7 @@ public bool ShowFlattenOptions
354355 OnPropertyChanged ( ) ;
355356 }
356357 }
358+
357359 public async Task OpenFilesOnWindowsStartupAsync( )
358360 {
359361 var stateMode = await ReadState( ) ;
@@ -369,12 +371,19 @@ public async Task OpenFilesOnWindowsStartupAsync()
369371
370372 if ( state ! = OpenOnWindowsStartup )
371373 {
372- StartupTask startupTask = await StartupTask. GetAsync( "3 AA55462- A5FA- 4933 - 88 C4- 712D 0 B6CDEBB") ;
373- if ( OpenOnWindowsStartup )
374- await startupTask. RequestEnableAsync( ) ;
375- else
376- startupTask. Disable( ) ;
377- await DetectOpenFilesAtStartupAsync( ) ;
374+ try
375+ {
376+ StartupTask startupTask = await StartupTask. GetAsync( "3 AA55462- A5FA- 4933 - 88 C4- 712D 0 B6CDEBB") ;
377+ if ( OpenOnWindowsStartup )
378+ await startupTask. RequestEnableAsync( ) ;
379+ else
380+ startupTask. Disable( ) ;
381+ await DetectOpenFilesAtStartupAsync( ) ;
382+ }
383+ catch ( COMException ex)
384+ {
385+ App. Logger? . LogWarning( ex, "RPC server unavailable, returning default state") ;
386+ }
378387 }
379388 }
380389
@@ -409,8 +418,16 @@ public async Task DetectOpenFilesAtStartupAsync()
409418
410419 public async Task< StartupTaskState> ReadState( )
411420 {
412- var state = await StartupTask. GetAsync( "3 AA55462- A5FA- 4933 - 88 C4- 712D 0 B6CDEBB") ;
413- return state. State;
421+ try
422+ {
423+ var state = await StartupTask. GetAsync( "3 AA55462- A5FA- 4933 - 88 C4- 712D 0 B6CDEBB") ;
424+ return state. State;
425+ }
426+ catch ( COMException ex)
427+ {
428+ App. Logger? . LogWarning( ex, "RPC server unavailable, returning default state") ;
429+ return StartupTaskState. Disabled;
430+ }
414431 }
415432 }
416- }
433+ }
0 commit comments