我正在使用Inno Setup為桌面AIR應用程式創建安裝程式。我讓我的桌面應用程式檢查資料庫中的應用程式版本號,以便讓用戶知道是否有更新可以安裝。我希望為用戶提供一個相當無縫的更新程序,因此如果他們想要更新,我希望 AIR 能夠下載 EXE,然后運行它。
1.) 您如何在AIR中從網上下載EXE這樣的大檔案,是否需要把它放在某個特定的地方? 2.) 一旦檔案被下載,我如何讓AIR執行EXE?
謝謝!
uj5u.com熱心網友回復:
public static function download(sourceURL: String, destinationPath:String, complete: Function = null, progress:Function = null, error: Function = null):void。
{
var urlReq:URLRequest = new URLRequest(SourceURL)。
var urlStream:URLStream = new URLStream() 。
var fileData:ByteArray = new ByteArray() 。
if(progress != null) urlStream. addEventListener(ProgressEvent.PROGRESS, progress)。
if(error != null) urlStream.addEventListener(IOErrorEvent.IO_ERROR, error) 。
urlStream.addEventListener(Event.COMPLETE, loaded) 。
urlStream.load(urlReq)。
function loaded(event:*):void
{
urlStream.readBytes(fileData, 0, urlStream.bytesAvailable) 。
writeFile()。
}
function writeFile(): void
{
var file:File = new File( destinationPath sourceURL. slice(sourceURL.lastIndexOf("/"), sourceURL.length))。)
var fileStream:FileStream = new FileStream() 。
fileStream.open(file, FileMode.WRITE) 。
fileStream.writeBytes(fileData, 0, fileData.length) 。
fileStream.close()。
if(complete != null) complete()。
}
}
var nativeProcessStartupInfo: NativeProcessStartupInfo = new NativeProcessStartupInfo() 。
nativeProcessStartupInfo.executable = file;
process = new NativeProcess()。
process.closeInput()。
process.start(nativeProcessStartupInfo)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/319508.html
標籤:
