目标:
所以这就是我的问题,我正试图将旧版本的软件X v1.0.7 AIR Runtime SDK 2.0自动更新到新的版本X v1.0.8 AIR Runtime SDK 2.5。
配置=
旧的软件X是使用运行时SDK 2.0的1.0.7版。App.xml如下:
1.0.7
这个软件X是这样的,假设更新到1.0.8版本,该版本假设使用AIR运行时2.5。
我正在使用一个带有标签的update.xml文件:
1.0.8
计算机为MacOS X v10.6.6。运行最新的AIR RUNTIME 2.5
旧软件X的新版本,版本1.0.8,使用app.xml,如下所示:
1.0.8 #我的隐藏publisherID#
软件X v1.0.8使用标记publisherID,因此该软件将被识别为相同的软件。
发生了什么?
当我启动旧软件X v1.0.7时,它试图更新并引发错误16824。这个错误被认为意味着我的新软件版本与update.xml文件中定义的版本不匹配,但对我来说,这不是真的……那么到底出了什么问题呢?有人能帮上忙吗?
发布于 2011-01-21 17:53:03
解决方案在这里:
http://kb2.adobe.com/cps/873/cpsid_87300.html
发布于 2011-07-27 20:49:27
如果您正在尝试遵循知识库文章中的说明,您会发现它告诉您要做什么,而不是如何做。你被告知要包含来自Air2.5/Flex4.5的更新的applicationupdater.swc和applicationupdater_ui.swc,但这是最难的部分。
在Flash Builder中执行以下操作:
applicationupdater.swc和applcationupdater_ui.swc./Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/air/applicationupdater.swc)添加这两个文件。如果您在Ant构建文件中使用mxmlc任务,这对我很有效:
<target name="compile" depends="css, copy_assets">
<mxmlc file="${MAIN_SOURCE_FILE}" output="${OUTPUT}/${FLEX_APP_NAME}.swf">
<load-config filename="${FLEX_HOME}/frameworks/air-config.xml"/>
<compiler.source-path path-element="${APP_ROOT}/src"/>
<compiler.source-path path-element="${APP_ROOT}/locale/{locale}"/>
<!-- append=false clears your library-path -->
<compiler.library-path dir="${FLEX_HOME}" append="false">
<!-- Now we need to re-add the flex libs -->
<include name="libs"/>
<include name="locale/{locale}"/>
</compiler.library-path>
<compiler.library-path dir="/" append="true">
<!-- Add the updater framework from Flex 4.5 / Air 2.6 -->
<include name="Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/air/applicationupdater_ui.swc"/>
<include name="Applications/Adobe Flash Builder 4.5/sdks/4.5.0/frameworks/libs/air/applicationupdater.swc"/>
<!-- You may need to adjust these paths -->
</compiler.library-path>
<compiler.library-path dir="${FLEX_HOME}" append="true">
<!-- Re-add the rest of the air libs -->
<include name="libs/air"/>
</compiler.library-path>
<compiler.library-path dir="${APP_ROOT}/libs/" append="true">
<!-- Your custom libraries here -->
</compiler.library-path>
</mxmlc>
</target>一组等效的命令行选项应该适用于mxmlc命令行编译器,但我还没有对此进行测试:
mxmlc -library-path=$(FLEX_HOME)/libs $(FLEX_HOME)/locale/{locale} \
$(FLEX45_HOME)/frameworks/libs/air/applicationupdater.swc \
$(FLEX45_HOME)/frameworks/libs/air/applicationupdater_ui.swc \
$(FLEX_HOME)/frameworks/libs/air \
... your custom libs \
... other compiler options我已经在我的博客上描述了entire process with a bit more background information。
发布于 2016-03-02 16:41:52
出现这个错误是因为我编译的应用程序中的版本号与服务器上UpdateDescriptor.xml中的版本号不同。
在AIR应用程序中,版本号在应用程序描述符文件中的标记versionNumber下定义:
<versionNumber>2.3.0</versionNumber>在服务器上的UpdateDescriptor.xml文件中,我有一个不同的数字:
<?xml version="1.0" encoding="utf-8"?>
<update xmlns="http://ns.adobe.com/air/framework/update/description/2.5">
<versionNumber>2.2.1</versionNumber>
<url>http://www.example.com/project_2.2.1.air</url>
<description><![CDATA[List the changes in this version here]]>
</description>
</update>它导致了这个错误:

https://stackoverflow.com/questions/4748610
复制相似问题