【问题标题】:AIR - Launching Native Process In Windows Not WorkingAIR - 在 Windows 中启动本机进程不起作用
【发布时间】:2010-10-12 13:03:23
【问题描述】:

我正在尝试在 Windows 7 中将命令行可执行程序作为后台进程启动,但它不起作用。我的 AIR 应用程序是本机安装程序应用程序:myAIRApp.exe。

我已将 myApp.exe 与我的 AIR 应用程序捆绑在一起,因此当它首次启动时,应用程序会将 myApp.exe 复制到 applicationStorageDirectory (C:\Users\Administrator\AppData\Roaming\myAIRApp\ )。复制成功,但它拒绝自行启动。副本在尝试启动之前已完成。 i 没有在任务管理器中显示为正在运行的进程,随后,依赖 myApp.exe 在后台运行的我的 AIR 应用程序失败。

如果我在 applicationStorageDirectory 中手动双击复制的 myApp.exe,它将在 Windows 命令处理器中打开,所以文件没问题。该代码在我的 Mac 版本上也可以正常工作,但不是启动 .exe,而是将 Mac 版本作为后台进程启动,手动启动时会在终端中打开。

该进程不接受任何参数,并且我的 AIR 应用程序不需要直接与启动的 .exe 后台进程通信。它只需要运行即可。

AIR 应用程序是在 Mac OS X 中编写的,我正在使用 Parallels Desktop 使用 ADT 编译 Windows 本机安装程序并测试该应用程序。

var myApp:File = File.applicationStorageDirectory.resolvePath("myApp.exe");
var myAppProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
myAppProcessStartupInfo.executable = myApp;

myAppProcess = new NativeProcess();
myAppProcess.start(myAppProcessStartupInfo);

任何想法为什么这可能不起作用?

【问题讨论】:

    标签: windows process air native


    【解决方案1】:

    也许我错过了 AIR 文档中的某些内容,或者我对 Windows 安全性的了解不够深入,但似乎 Windows 上的可执行文件无法从 applicationDirectory 以外的任何目录启动。

    从 applicationDirectory 启动 .exe 有效。 (在 Windows XP 和 Windows 7 上测试)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多