You can use File.applicationDirectory and put the 7za.exe in your project folder. I placed it in /native_bin/win/7za.exe. Make sure the file has "execute" permissions (right-click for properties of the file in Flash Builder).
I have defined it as NativeProgramsSettings.UNZIP = File.applicationDirectory.resolvePath("native_bin/win/7za.exe"); for Windows and NativeProgramsSettings.UNZIP = File.applicationDirectory.resolvePath("native_bin/mac/7za"); for Mac (depending on Capabilities.OS) Then for unzipping (I don't use zip functionality in my app) it is as follows: private function unzipNative(zipFile:File):void{ this.dispatchEvent(new Event("indicatorShowRequest")); var targetDir:File = File.applicationStorageDirectory.resolvePath("unzipped" ); targetDir.createDirectory(); targetDir = targetDir.resolvePath("unzip_" + new Date().time + "_" + Math.round(Math.random()*10000)); targetDir.createDirectory(); tempDirectoryForZip = targetDir; var npInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo; npInfo.executable = NativeProgramsSettings.UNZIP; var args:Vector.<String> = new Vector.<String>; args.push("x"); args.push(zipFile.nativePath); args.push("-r"); args.push("-o" + targetDir.nativePath); npInfo.arguments = args; var np:NativeProcess = new NativeProcess; np.addEventListener(NativeProcessExitEvent.EXIT, npUnzipExitHandler); np.start(npInfo); } For zip you need to have different arguments of course. You can check by googling "7za command line". Hope it works for you On Fri, Oct 21, 2016 at 8:23 AM, Deepak MS <megharajdee...@gmail.com> wrote: > Interesting. I never knew about that. Doesn't that mean user needs to have > 7za installed on their systems? If so, what if users don't have it > installed. Can we package the 7za.exe within our AIR app and use it? > > I looked into some of the examples. But not quite getting it to work: > > Same code with pretty print : https://codepaste.net/82gk2q > > > if(NativeProcess.isSupported) > { > var nativeProcessStartupInfo:NativeProcessStartupInfo = new > NativeProcessStartupInfo(); > var file:File = new File('c://zip//7za.exe'); //instead of using it from > local file system, i want to place exe file withing source and use it here > nativeProcessStartupInfo.executable = file; > var processArgs:Vector.<String> = new Vector.<String>(); > processArgs.push("7z e file.zip");//+localZipFile.nativePath); > //"file.zip" > resides inside "c://zip//", tried "7za e file.zip", tried "7za.exe > file.zip", none of those work > nativeProcessStartupInfo.arguments = processArgs; > process = new NativeProcess(); > process.start(nativeProcessStartupInfo); > process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, > onOutputData); > process.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onErrorData); > process.addEventListener(NativeProcessExitEvent.EXIT, onExit); > process.addEventListener(IOErrorEvent.STANDARD_OUTPUT_IO_ERROR, > onIOError); > process.addEventListener(IOErrorEvent.STANDARD_ERROR_IO_ERROR, onIOError); > } > > For all the options that i tried above, I get following trace: > > (onOutputData) > Got: > 7-Zip (A) 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18 > > (onErrorData) > Error: > Incorrect command line > > (onExit) > Process exited with 7 > > > Kindly let me know if I am missing something there. > > On Thu, Oct 20, 2016 at 6:53 PM, Fréderic Cox <coxfrede...@gmail.com> > wrote: > > > I successfully used 7za for both Mac and Windows. You don't need a native > > extension for desktop but you can just use the NativeProcess API with the > > extendedDesktop profile. > > > > On Thu, Oct 20, 2016 at 10:48 AM, Deepak MS <megharajdee...@gmail.com> > > wrote: > > > > > Hi Hans, > > > Yes, I did try that. It works fine for smaller files. But > unfortunately, > > > unzipping process crashes if we use it for bigger files. My zip file > size > > > is around 500MB. It fails at ByteArray.uncompress() as it tries to > > > uncompress entire file at a time. That is the reason I was looking out > > for > > > native way of unzipping the file. > > > > > > For iOS, I have used ANEZipFile library : > > > https://github.com/xperiments/ANEZipFile > > > > > > It works flawlessly and takes just 5 - 6 seconds to unzip a 500MB zip > > file. > > > That is just for iOS though. > > > > > > There is another library: > > > http://airnativeextensions.com/extension/com.distriqt.ZipUtils which > > works > > > on both iOS and Android, but it's not free. > > > > > > -Deepak > > > > > > > > > On Thu, Oct 20, 2016 at 1:49 PM, Hans Nuecke <hnue...@vservu.de> > wrote: > > > > > > > Hi, > > > > > > > > I use an openSource Library for that: http://flex.coltware.com/2010/ > > > > 05/01/as3-zip-unzip-lib-airxzip/ > > > > > > > > Search for keywords "coltware airxzip" and you'll find some nice > posts > > at > > > > stackoverflow with links to the sources or a swc file. And also hints > > how > > > > to use it. > > > > > > > > BTW: What unzipt ANE are you using? I'm considering going the other > > way: > > > > convert my desktop APP (or better: parts of it) to an iOS/Android app > > > > > > > > Regards > > > > > > > > Hans > > > > > > > > > > > > > > > > > > > > Am 20.10.2016 um 06:48 schrieb Deepak MS: > > > > > > > >> Hi there, > > > >> > > > >> I have converted an iPad app to Desktop App ( to make it work on > > surface > > > >> pro, touch based desktop). iPad App was using an unzip ANE. But it > > > cannot > > > >> be used for desktop app. > > > >> > > > >> I tried searching unzip ANEs for windows, but I couldn't come across > > > any. > > > >> > > > >> There are C libraries like zlib and minizip. I tried creating ANE > > > myself ( > > > >> http://easynativeextensions.com/windows-tutorial-the- > > > native-dll-project/ > > > >> ), but I end up getting many errors. I'm not good at C coding. > > > >> > > > >> Or if anyone is interested to take this up as a project, company is > > > happy > > > >> to outsource this piece of work at a cost. > > > >> > > > >> Kindly let me know about it. > > > >> > > > >> Cheers! > > > >> Deepak > > > >> > > > >> > > > > -- > > > > > > > > ___________________________________________________________________ > > > > > > > > *Hans J. Nuecke* / Gorch-Fock-Str. 6 • 81827 Muenchen • Germany / > > *VservU > > > > GmbH* > > > > Home: +49 (89) 45344858 > office: > > > > +49 (89) 43906 707 > > > > mobile: +49 (176) 56529048 > > > > private: h...@nuecke.de <mailto:h...@nuecke.de> > > > business: > > > > hnue...@vservu.de <mailto:hnue...@vservu.de> > > > > website: www.vservu.de <http://vservu.de> www.megazine3.de < > > > > http://megazine3.de> > > > > Munich HRB 181251 Geschäftsführer: Hans J. Nücke USt-Id: > > > > DE266694113 > > > > ___________________________________________________________________ > > > > > > > > > > > > > >