NativeProcess не может запустить приложение C # WPF в Windows - PullRequest
1 голос
/ 13 января 2012

OK

У нас есть приложение Adobe Air (AS3), которое запускает наше приложение WPF.но приложение WPF не запускается таким способом.я нашел следующее сообщение об ошибке в EventViewer:

Faulting application name: Easysoft_MultiTouch_Document.exe, version: 1.0.0.0, time stamp: 0x4f0f2f9e
Faulting module name: KERNELBASE.dll, version: 6.1.7600.16385, time stamp: 0x4a5bdfe0
Exception code: 0xe0434352
Fault offset: 0x000000000000aa7d
Faulting process id: 0xeac
Faulting application start time: 0x01ccd20c9e406d25
Faulting application path: E:\Apps\PDFProgram\Easysoft_MultiTouch_Document.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: dc656dc1-3dff-11e1-8870-00268330b66c

, а вот код Adobe Air для запуска приложения WPF:

// following condition is true 
 if(NativeProcess.isSupported)
        {
        var file:File = new File("E:\\Apps\\GalleryProgram\\Easysoft_MultiTouch_Document.exe");
        trace(file.name);
        var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
        nativeProcessStartupInfo.executable = file;

        var process:NativeProcess = new NativeProcess();


        process.start(nativeProcessStartupInfo);
        //....
   }

Я написал другое приложение C # для запуска этого исполняемого файла WPFфайл, но это тоже не удается.

Как решить эту проблему?Можно ли таким способом запускать приложения WPF?Любое решение?

Заранее спасибо ...

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Конкретный код исключения, который вы видите в процессе, - 0xe0434352.Это свидетельствует об исключении управляемого исключения.Это означает, что весьма вероятно, что процесс WPF запускается, по крайней мере доходит до момента загрузки CLR и запуска управляемого кода, а затем выбрасывает необработанное управляемое исключение.

Это означает, что ошибка наиболее вероятна вПриложение WPF.Вы убедились, что он может работать самостоятельно на коробке?Если это так, то я бы настроил отладчик для подключения при запуске приложения, запустил сценарий через Adobe Air и увидел, почему этот процесс дает сбой.

1 голос
/ 14 января 2012

Я бы попытался ввести точку дросселирования в приложение WPF и записать исключение в текстовый файл, чтобы у вас была дополнительная информация об ошибке, например, так:

        AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);

Затем в обратном вызове запишите все подробности исключения в файл:

    static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e)
    {
        if (e.IsTerminating)
        {
            // Add your logging code here.
        }
    }

Таким образом, у вас будет больше информации о причине аварии, и вы сможете пойти туда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...