Q&A

  • 자동 업데이트
자동 업데이트가 되게 하려 합니다...

어찌하면 가장 효율적일지 몰라서요...

지금은 인터넷에 파일을 올려서 그 자료를 현재쓰고 있는 것과 비교하는 방법으로 하는데요
더 효율적인 방법은 없을까요?
2  COMMENTS
  • Profile
    김길현 2004.08.07 17:30
    안녕하세요.

    제가 사용했던 방법인데요.

    많이 효율적인지 잘 모르겠네요 보통

    버전을 담은 파일을 비교해서 최신버전이 라면,

    업데이트해야 파일리스트파일을 얻어 옵니다.

    그리고 필요한 파일들만 업데이트 하는 거죠.

    즐코하세요.

    참고하세요 : 자료실등에 보면 자동업데이트에 관련된 소스들이 있습니다.


  • Profile
    하얀까마귀 2004.08.08 15:07
    안녕하세요 하얀까마귀 입니다.

    자료실에 그런것도 있었군요. ㅋㅋ 만들때 참고할껄 쩝..

    가장 효율적이다 아니다 라는건 아마 해당프로젝트에 얼마나 잘 맞느냐 하는거 아닐까요?
    또 상당히 범용적으로 만들면 다른프로젝트에도 몇개의 값만바꾸어서 할수도 있을테구요. ^^ 처음에 잘만들어 놓으면 이런건 있으면 좋은거니까.. 좋겠죠?

    제가 만들때 고려한것들인데 기억나는것만 말씀드릴께요..

    일단 서버에 있는 현재 최신버젼의 파일이 지금 현재 실행한것과 같은지 다른지 비교할 방법은 거의 없습니다. 파일 사이즈 정도가 있는데 이건 같을수도 있으니까 좀 위험하죠..
    또 업그레이드 해야하는 파일이 여러개라면 이것도 좀 골치아프죠.

    우선 업데이트는 다른 실행파일로 하시는게 좋구요.( 자기자신을 덮어 쓸수는 없으니까.. )

    방식은 여러가지인데. 파일이 그렇게 많지 않다면..
    각 파일의 버젼을 적어놓은 작은파일을 서버에 하나 두시구요.
    그 파일을 실행할때마다 다운받아서 보는거죠. 거기에 적혀있는버젼이랑
    지금 현재 실행중인 파일의 버젼 또 실행중이진 않지만 설치되어있는 각 파일의 버젼을 확인해서 다른 파일이 있다면 다운받는거죠.

    또는 다운받아야 하는 파일들이 많다면 그냥 메인 버젼을 정해놓고 해당 리스트를 관리하는게 더 좋을수도 있구요. 이경우에는 중복되거나 중간에 패치를 안받았을경우도 고려해야 겠죠?

    기타적으로..
    dll 또는 쓸모없는 파일이 생길수도 있습니다. 따라서 이러한 파일을 삭제하는 기능도 있으면 좋구요...
    또 레지스트리를 약간 건드릴수 잇는것도 좋겠죠?
    프로그램에서 레지스트리에 어떠한 정보를 쓴다면 추가되거나 쓰지않는것들 을 추가하거나 삭제할수 있도록요..

    또 다운받아야 할것들이 많거나 또는 용량이 신경쓰인다면..
    압축해제 알고리즘을 포함시켜서 다운받는 파일은 압축해서 올려 놓을수 있으면 더 좋지 않겟어요? 그럼 통신량이나 업데이트 속도가 빨라질테니까..

    그외에도 몇가지 더있었던거 같은데. 잘 생각이 안나네요. ^^

    아~~ 그리고 여러개의 프로젝트에서 사용할수 잇도록 처음 만들때부터 그러한 부분을 고려해 두는것도 좋겠죠?

    그럼.. 위의분 말씀대로 소스가 자료실에 있는듯 하니 해당 소스참고해서 만드시면 될듯 하네요..
    그럼 멋지게 잘 만드시길...