Adobe AIR NativeProcess - проблемы с UAC при попытке запустить установщики обновлений - PullRequest
1 голос
/ 26 августа 2010

Я пытаюсь использовать API-интерфейс NativeProcess Adobe AIR 2 для эмуляции ApplicationUpdater, но у меня возникают проблемы при попытке запустить загруженный файл AppUpdater.exe на компьютерах с включенным контролем учетных записей (UAC).

При запуске без UAC AppUpdater открывается как обычно и отображает стандартное диалоговое окно Adobe replace. С включенным UAC ничего не происходит вообще.

Запустив несколько трасс, кажется, проблема возникает, когда я вызываю NativeProcess.start () - кажется, что код останавливается на этом этапе и не запускает следующие строки, которые выходят из приложения при подготовке AppUpdater к запустить.

Я добавил прослушиватели для всех возможных событий и событий ошибок, которые могут быть выброшены, и добавил ведение журнала в каждом из них, но ни один из них не производит никакого вывода.

Эта проблема, похоже, влияет только на исполняемые файлы установки (те, о которых Windows предупреждает, изменят настройки на вашем компьютере). Вызов java.exe -jar .... на тех же компьютерах в том же приложении работает правильно.

Я в растерянности, поэтому любая помощь будет потрясающей!

Ответы [ 2 ]

1 голос
/ 30 сентября 2010

Поговорив с Adobe напрямую, я обнаружил, что NativeProcess использует Windows API, который не может повысить привилегии, поэтому установщики не будут работать.Обходной путь должен был использовать File.openWithDefaultApplication, который использует другой API, который может повысить привилегии, но это работает только в приложении AIR, упакованном в собственном коде (что было хорошо для нашего приложения, поскольку оно уже было упаковано в собственный установщик:))

0 голосов
/ 28 августа 2010

Adobe ответ был http://kb2.adobe.com/cps/404/kb404888.html

но для реальных шагов вы должны определить пользовательские привилегии приложения и определить, включен ли UAC, если да, то предупредить об этом конечного пользователя.

Я ожидаю, что вы ничего не сможете сделать с Windows-вещью из Adobe Air.

...