Процесс UWP FullTrust: консольное приложение, возвращающее исключения System.IO - PullRequest
0 голосов
/ 30 января 2020

Итак, у меня есть приложение UWP, которое также открывает и запускает консольное приложение как процесс полного доверия. Консольное приложение запускается в течение пары секунд, а затем завершается с кодом 0xe0434352, который может означать практически все.

Отладка в VS невозможна, поскольку я не могу достаточно быстро подключить отладчик к консольному приложению завершает работу, однако быстрый просмотр в Windows Event Viewer сообщает мне следующее:

Приложение: Nayax.exe Framework Версия: v4.0.30319 Описание: Процесс был прерван из-за необработанного исключения. Информация об исключении: System.UnauthorizedAccessException в System.IO .__ Error.WinIOError (Int32, System.String) в System.IO.FileStream.Init (System.String, System.IO.FileMode, System.IO.FileAccess, Int32, Boolean, System.IO.FileShare, Int32, System.IO.FileOptions, SECURITY_ATTRIBUTES, System.String, Boolean, Boolean, Boolean) в System.IO.FileStream..ctor (System.String, System.IO.FileMode, System.IO. FileAccess, System.IO.FileShare, Int32, System.IO.FileOptions, System.String, Boolean, Boolean, Boolean) в System.IO.StreamWriter.CreateFile (System.String, Boolean, Boolean) в System.IO.StreamWriter. .ctor (System.String, Boolean, System.Text.Encoding, Int32, Boolean) в System.IO.StreamWriter..ctor (System.String, Boolean) в System.IO.File.AppendText (System.String) в com .bitmick.marshall.protocol.vmc_framework.init () в com.bitmick.marshall.protocol.vmc_framework.getInstance () в Win32.Program + vend_machine..ctor () в Win32.Program.Main (System.String [])

Теперь, когда я запускаю Единственное приложение напрямую, оно отлично работает без каких-либо исключений. Это означает, что ошибки должны быть связаны с моим приложением UWP.

Мой вопрос: что на самом деле означает Full Trust? Ошибки, которые я получаю, выглядят как ошибки прав доступа, которые не должны возникать в процессе полного доверия, не так ли?

Заявление о полном доверии

<Extensions xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10">
    <desktop:Extension Category="windows.fullTrustProcess" Executable="Nayax\Nayax.exe" />
</Extensions>

Запуск процесса полного доверия

if (ApiInformation.IsApiContractPresent("Windows.ApplicationModel.FullTrustAppContract", 1, 0))
{
      try
      {
         await FullTrustProcessLauncher.LaunchFullTrustProcessForCurrentAppAsync();
      }

      catch (Exception Ex)
      {
          Debug.WriteLine(Ex.ToString());
      }
}
...