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);
}
}
स्रोत
2013-07-19 00:03:44
मुझे नहीं लगता कि प्रोजेक्टर बनाने के लिए कमांड लाइन विकल्प है। यह फ्लैश प्रोफेशनल के माध्यम से किया जाना चाहिए। मैं एक एडोब एआईआर एप्लीकेशन बनाने की तलाश करने की सिफारिश करता हूं जो एक्सई बनाने के लिए कैप्टिव रनटाइम सुविधा का उपयोग करता है। आप कमांड लाइन या एएनटी बिल्ड के माध्यम से taht करने में सक्षम होना चाहिए। – JeffryHouser
@ www.Flextras.com आपको प्रोजेक्टर फ़ाइल बनाने के लिए फ्लैश प्रोफेशनल की आवश्यकता नहीं है। फ्लैश प्लेयर में इसका मेनू विकल्प है, जो आपको मूल एप्लिकेशन बनाने की अनुमति देता है। मैं फ़्लैश प्लेयर के लिए कमांड लाइन तर्क खोज रहा हूं, जो एक .swf फ़ाइल को कमांड लाइन तर्क के रूप में ले सकता है और एक .exe फ़ाइल (विंडोज़ के मामले में) या एक .app फ़ाइल (ओएसएक्स के मामले में) आउटपुट कर सकता है। –
मुझे नहीं पता था कि एडोब ने अभी भी स्टैंड अकेले खिलाड़ी को वितरित किया है। फिर भी; मुझे विश्वास नहीं है कि यह कमांड लाइन पर किया जा सकता है। मैं एडोब एयर डब्ल्यू/कैप्टिव रनटाइम का उपयोग करने के लिए अपने सुझाव दोबारा दोहरा दूंगा। – JeffryHouser