Skip to main content
benl13565393
Inspiring
January 12, 2018
Answered

Value for latest ExternalPlayer in PublishSettings.xml

  • January 12, 2018
  • 1 reply
  • 1141 views

I am writing a processing tool in JSFL. This script will open an FLA file. However one issue I have encountered is the dreaded

[WARNING] The target version of Adobe AIR SDK "AdobeAIR23_0" is not available. The target will be set to the closest available version."

It does not appear that I have a way through JSFL to dismiss this. So my work around plan is to first convert the file to XFL and then modify the value.

However, that being said, is there either a way to discover what the latest version is or a string which represents the latest version?

I want this tool to be automated.

Thank!

This topic has been closed for replies.
Correct answer benl13565393

Please refer to this topic to see how to copy items from a FLA: Scripting the import of a moviefile (for animation-reference) .

I think you're gonna have to make use of some third party application to help you suppress this warning, like  or Mouse Recorder - Macro Recorder - Windows Automation or https://autohotkey.com/ . You can create a script that dismiss the warning and then call it with JSFL.

Furthermore, try to contact Adobe support or request this feature at:  Adobe Animate CC Feature Request/Bug Report Form .


Sigh, okay, so as an FYI, copying items (fl.copyLibraryItem) will suffer the same warning. It seems to me that the mechanism for Animate to open an FLA for any reason uses the same code path, which essentially will encounter the warning regarding not using the latest Adobe AIR version.

I actually worked around this warning in a slightly convoluted way, but it works. I essentially:

-Traverse all the installed players and find the highest Air version

-Create an XFL via bash script (I execute this from JSFL)

-Load PublishSettings.xml

-Modify and save

-Load the XFL

I will eventually save it as an FLA.

I'll have to see if I can work through the other scenarios.

I'll contact Adobe Feature Request/Bug Report. Unfortunately I don't have tremendous faith that they will want to address this, but one never knows.

Thanks again for your suggestions.

1 reply

JoãoCésar17023019
Community Expert
Community Expert
January 12, 2018

Hi.

What I think you can do is to check the installed players (fl.installedPlayers), compare to the current player (document.getPlayerVersion()), and then set the document to use the closest player available (document.setPlayerVersion()).

benl13565393
Inspiring
January 12, 2018

Thanks for the info. fl.installedPlayers certainly works towards getting the latest version, however the dilemma is getting the document's version. The problem is getting this value relies on opening the document. And opening the document will cause that warning dialog to popup. My goal is to also avoid that dialog, since I want the tool to be animated.

I found there is a method to call which is named fl.exportPublishProfileString. But even doing this call will cause the warning dialog to show up. It would seem that even this call uses the same underlying or similar enough code path as opening the document.

It would have been really slick if they had a means to detect and bypass those dialogs via JSFL.

JoãoCésar17023019
Community Expert
Community Expert
January 12, 2018

What exactly you need to do after opening the document?

I'm asking because it's possible, for example, to copy items from a FLA without opening it. Maybe it's possible to do what you want silently.