在Windows 8应用商店应用程序中使用非线程安全的非托管代码

本文关键字:线程 安全 非托管代码 Windows 应用 应用程序 | 更新日期: 2023-09-27 18:25:13

我有一个Windows桌面应用程序,它可以启动包含非托管代码的工作进程。非托管代码不是线程安全的——我将它封装在一个进程中以完全隔离它

我想为Windows应用程序(metro)市场创建一个新版本。

有人对地铁应用程序有什么建议吗?似乎没有任何方法可以真正启动一个单独的进程(至少,没有需要单独安装的棘手问题)。我可以将它封装在AppDomain中,但我不认为这提供了我需要的隔离。我可以PINVOKE一个实例,但线程安全问题使它成为多个实例的问题。

在Windows 8应用商店应用程序中使用非线程安全的非托管代码

Windows应用商店应用程序不能启动任意进程,但它们可以从应用程序包中启动进程外组件。您可以将不安全的代码包装在Windows运行时EXE组件中。

在用C++示例创建Windows运行时EXE组件时,有一个示例演示了这一点

还要确保现有进程不依赖于Windows应用商店应用程序无法使用的API(如System.AppDomain)。MSDN提供了一些文档,在.Net for Windows Runtime应用程序的Runtime应用程序以及Win32和COM API

中提供了.Net和Win32 API