2010-08-26 78 views
1

我試圖使用Adobe AIR 2的NativeProcess API來模擬ApplicationUpdater,但是當我嘗試在計算機上運行下載的AppUpdater.exe文件時遇到問題UAC(用戶帳戶控制)已啓用。Adob​​e AIR NativeProcess嘗試運行更新安裝程序時遇到UAC問題

在未啓用UAC的情況下運行時,AppUpdater像往常一樣打開並顯示標準的Adobe替換對話框。啓用UAC後,根本沒有任何反應。

運行一些痕跡後,似乎問題出現時,我調用NativeProcess.start() - 此時代碼似乎停止運行,並且不會運行以下行退出應用程序以準備AppUpdater跑步。

我已經添加了可以拋出的所有可能的事件和錯誤事件的監聽器,並且在它們中的每一箇中都添加了日誌記錄,但是沒有一個產生任何輸出。

此問題似乎隻影響安裝可執行文件(Windows警告將更改您的計算機上的設置)。在同一應用程序的同一臺計算機上調用java.exe -jar ....可正常工作。

我很茫然,所以任何幫助都會很棒!

回答

1

在直接與Adobe講話之後,我發現NativeProcess使用的Windows API無法提升權限,這就是安裝程序無法工作的原因。解決方法是使用File.openWithDefaultApplication,它使用不同的API來提升權限,但是這隻適用於本地打包的AIR應用程序(這對我們的應用程序來說很好,因爲它已經打包在本地安裝程序:))

0

土坯答案是http://kb2.adobe.com/cps/404/kb404888.html

但對於真正的步驟,你應該確定應用程序的用戶權限,並確定啓用了UAC,如果是的話 - 那麼警告終端用戶一下吧。

我期待着你可以對Adobe Air的windows-things做任何事情。

+0

感謝您的幫助。不幸的是,我們無法要求所有客戶在每次需要更新我們的應用程序時都禁用UAC! – adamk 2010-09-30 09:25:26