适用于Mac的ApplicationUpdaterUI失败

时间:2012-06-26 08:11:55

标签: javascript html macos air adobe

LOG:

Runtime Installer begin with version 3.3.0.3650 on Mac OS 10.7.4 x86
Commandline is: -updatecheck
Installed runtime (3.3.0.3650) located at /Library/Frameworks/Adobe AIR.framework
Performing pingback request
Failure during pingback request: [ErrorEvent type="error" bubbles=false cancelable=falsr eventPhase=2 text="Unhandled exception Error: Error #3001" errorID=3001]
Runtime Installer end with exit code 0

在Windows上运行正常,但Mac无法运行。

四处搜索我发现错误代码#3001与文件/目录权限问题有关。

已检查/用户/互联网/库/应用程序支持/ Adob​​e权限似乎没问题。 source

Checked / Library / Frameworks / Adob​​e AIR.framework似乎也可以。

两人都有drwxr-xr-x。

更新:权限不是问题,成功更新了同一系统上的其他应用程序。

var appUpdater;

function checkForUpdates() {
    appUpdater = new air.ApplicationUpdaterUI();
    appUpdater.configurationFile = new air.File("app:/update/update-config.xml");
    appUpdater.addEventListener(air.ErrorEvent.ERROR, onCheckForUpdatesError);
    appUpdater.initialize();

    setTimeout(function() { 
        appUpdater.checkNow(); 
    }, 500);
}

function onCheckForUpdatesError(event) {
    alert(event.toString());
}   

似乎无法在此处发布更新配置和描述符文件。

1 个答案:

答案 0 :(得分:0)

对于那些可能会遇到同样问题的人。

问题是当调用方法checkNow时,ApplicationUpdaterUI尚未完成初始化。

因此,将setTimeout的第二个参数更改为更高的值或放置此部分

appUpdater = new air.ApplicationUpdaterUI();
appUpdater.configurationFile = new air.File("app:/update/update-config.xml");
appUpdater.addEventListener(air.ErrorEvent.ERROR, onCheckForUpdatesError);
appUpdater.initialize();

在页面onLoad事件处理程序中,并将checkNow方法附加到按钮onClick事件

function checkUpdates() {
    appUpdater.checkNow();
}

<input type="button" onclick="checkUpdates()" />

谢谢!