어플리케이션 자체 업그레이드를 지원할때 주로 서버에 apk파일을 올려놓고
자체업그레이드 지원 할 경우 아래의 Flag를 MODE_PRIVATE가 아닌 MODE_WORLD_READABLE, MODE_WORLD_WRITEABLE를 넣어주어야 다운받은 apk로 접근이 가능합니다.

MODE_PRIVATE

* File creation mode: the default mode, where the created file can only be accessed by the calling application (or all applications sharing the same user ID).

MODE_WORLD_READABLE

* File creation mode: allow all other applications to have read access to the created file.

MODE_WORLD_WRITEABLE

* File creation mode: allow all other applications to have write access to the created file.
예로 MODE_PRIVATE를 이용(AQuery 24.1 beta)할 경우 아래와 같은 퍼미션 에러를 발생시킵니다.
[code]Unable to open zip: /data/data/com.ezcocoa/files/app.apk : Permission denied[/code]
사용하기 쉬운 라이브러리는 제한 된 기능을 제공하기도 합니다만 이문제는 아래와 같은 방법으로 해결할 수 있습니다.
[sourcecode language="java"]
try {
String permission = "666";
String command = "chmod " + permission + " " + file.getAbsolutePath();
Runtime runtime = Runtime.getRuntime();
runtime.exec(command);
} catch (Exception e) {
e.printStackTrace();
}
[/sourcecode]
위 소스는 간단하게 파일 Permission xrw를 강제로 바꿔주는 명렁어입니다.

관련 참고 자료

Using the Internal Storage
stackoverflow question