Note: The Askee did like the answer: SWF's as SWF's for EXE's.? I would say that is native to Adobe Flash, plus there has always been ANT 'Build Commands' -- as well as -- ITASCA in use for these processes (now deprecated). The main positive outcome for your situation is that I already had code that I used for something similar, so I added it to github - Take a look, it is very straightforward with comments and instructions: Note, the Application Manifest files along with custom **bat** files allow the /exe files to be generated from your action-script within **Main.as and application.xmL https://github.com/leonardo-m-mendevil/esexes.git **
function setPPS(F1, ActionVersion)
{
if (fl.fileExists(F1)
{
var _x, _f, _t, _d;
fl.openDocument(F1);
var file_n = F1.split("/").pop();
var path_f = F1.split(file_n)[0].join("/");
file_n = file_n.split(".")[0];
var pt = path_f + "/_Profile_._x";
fl.getDocumentDOM().exportPublishProfile(pt);
_x = FLfile.read(pt);
_f = _x.indexOf("<defaultNames>");
_t = _x.indexOf("</defaultNames>");
_d = _x.substring(_f, _t);
_x = _x.split(_d).join("<defaultNames>0");
_f = _x.indexOf("<flashDefaultName>");
_t = _x.indexOf("</flashDefaultName>");
_d = _x.substring(_f, _t);
_x = _x.split(_d).join("<flashDefaultName>0");
_f = _x.indexOf("<flashfile_n>");
_t = _x.indexOf("</flashfile_n>");
_d = _x.substring(_f, _t);
var p3i = "../";
if (file_n.indexOf("/") > -1){
var splitPath = file_n.split("/");
splitPath.length--;
var i = splitPath.length;
while (i--) { p3i += "../"; }
}
_x = _x.split(_d).join("<flashfile_n>" + p3i + "deploy/" + file_n + ".swf");
var types = {};
types.projectorWinfile_n = "exe";
for (var n in types) {
_f = _x.indexOf("<" + n + ">");
_t = _x.indexOf("</" + n + ">");
_d = _x.substring(_f, _t);
_x = _x.split(_d).join("<" + n + ">" + file_n + "." + types[n]);
}
_f = _x.indexOf("<ActionScriptVersion>");
_t = _x.indexOf("</ActionScriptVersion>");
_d = _x.substring(_f, _t);
_x = _x.split(_d).join("<ActionScriptVersion>" + ActionVersion);
_f = _x.indexOf("<PackageExportFrame>");
_t = _x.indexOf("</PackageExportFrame>");
_d = _x.substring(_f, _t);
_x = _x.split(_d).join("<PackageExportFrame>1");
if (ActionVersion == 2) {
_f = _x.indexOf("<PackagePaths>");
_t = _x.indexOf("</PackagePaths>");
} else {
_f = _x.indexOf("<AS3PackagePaths>");
_t = _x.indexOf("</AS3PackagePaths>");
}
_d = _x.substring(_f, _t);
var cpt = "./";
if (file_n.indexOf("/") > -1){
cpt = "";
var t4 = file_n.split("/");
t4.length--;
var i = t4.length;
while (i--){
cpt += "../";
}
}
switch(ActionVersion){
case 2:
_x = _x.split(_d).join("<PackagePaths>" + cpt + "classes");
break;
case 3:
_x = _x.split(_d).join("<AS3PackagePaths>" + cpt + "classes");
}
function writeAllDOM(xstrg,pt){
FLfile.write(pt, xstrg);
fl.getDocumentDOM().importPublishProfile(pt);
fl.saveDocument(fl.getDocumentDOM(), cpt);
fl.getDocumentDOM().publish();
}
FLfile.remove(fPath);
}
}
No creo que haya una opción de línea de comando para crear un proyector. Debe hacerse a través de Flash Professional. Recomendaría buscar crear una aplicación Adobe AIR que haga uso de la función de tiempo de ejecución cautivo para crear un archivo ejecutable. Debería poder hacerlo a través de la línea de comando o una compilación ANT. – JeffryHouser
@ www.Flextras.com No necesita Flash Professional para crear un archivo de proyector. Es una opción de menú en Flash Player, que le permite crear una aplicación nativa. Estoy buscando un argumento de línea de comando para flash player, que puede tomar un archivo .swf como un argumento de línea de comando y generar un archivo .exe (en el caso de Windows) o un archivo .app (en el caso de OSX). –
No sabía que Adobe todavía distribuía el reproductor independiente. Sin embargo; No creo que esto se pueda hacer en la línea de comando. Volveré a reiterar mi sugerencia de utilizar Adobe AIR con Captive Runtime. – JeffryHouser