2 Results for 'ReXapper'

  1. 2008.11.18 컨텍스트 메뉴에 Rexap 등록하기 (1)
  2. 2008.11.06 XAP사이즈, 압축하지 않겠는가? (7)
2008/11/06 - [프로그래밍/Silverlight] - XAP사이즈, 압축하지 않겠는가?
전에 Rexapper.exe라는 아주 유용한 툴에 대해 소개했는데요, 거기에서는 각 프로젝트의 Build Event의 Post Build에 Rexapper를 실행하도록 하는 방법을 썼죠.

그런데 어떤 경우에는 프로젝트의 설정으로 강제로 넣기보다는 최종 배포 직전에 배포자가 명시적으로 커맨드를 실행하고 싶은 경우도 있고 혹은 Rexapper가 설정되지 않았던 프로젝트의 결과물을 단순히 압축하고 싶을 때가 있을거에요.

이럴 때는 다음의 내용을 메모장에 붙여넣고 rexapper.reg 파일로 저장한 후 관리자 모드로 실행하면 탐색기에서 .xap 파일의 컨텍스트 메뉴를 호출하면(마우스 오른쪽 클릭하면) 제일 위에 ReXap이란 명령어가 보이고 그걸 클릭하면 Rexapper가 해당 xap파일을 압축해요.
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.xap\Shell\ReXap\Command]
@="d:\\rexapper.exe -xap \"%1\""
물론 위에서 rexapper.exe의 경로는 환경에 맞도록 수정해야 겠죠?
ReXap 복용전

ReXap 복용후! 무려 20%나 용량 감소!!

그러니

Posted by gongdo

Submit comment.

  1. Favicon of https://gilverlight.tistory.com BlogIcon 길버트 2008.11.19 12:54 신고  comment URL  Edit/Remove  Submit comment.

    덕분에 잘 쓰고 있습니다.

실버라이트 애플리케이션을 배포하는 것에서 가장 중요한 원칙은 뭘까요? 밑줄 긋고 외웁시다.

배포 사이즈를 작게 더 작게!

우리는 XAP 파일이 표준 ZIP 압축 알고리즘을 쓰고 있다는 점을 알고 있죠. 그런데 Delay’s Blog의 포스팅에 의하면 실버라이트 2의 XAP 파일은 압축률이 일반적으로 사용되는 것보다 낮다고 해요. 7-Zip의 압축률을 기준으로 1~3 단계 정도면 용량도 더 줄어들면서 압축 시간은 거의 차이가 없는데 여튼 여기에 착안해서 XAP의 압축률을 변경하여 압축하는 것만으로도 약 20~22% 정도의 용량이 줄어드는 마법(!)같은 효과를 얻을 수 있다는 군요.

저도 예전에 실버라이트 1때에는 7-zip command line 툴을 이용해서 비스무레한 일을 했던 적이 있는데 아무래도 2에서는 XAP을 자동으로 만들어줘서 그러려니 했었죠.

여튼 WEB-SNIPPETS 블로그에서는 이 작업을 좀 더 쉽게 해주는 유틸리티를 공개했는데요, 간단하게 옮겨 보죠.

  1. ReXapper를 다운로드
  2. 받은 파일의 압축을 풀어 임의의 장소에 복사(예 : D:\Utils\ReXapper\ReXapper.exe)
  3. 실버라이트 프로젝트의 Properties(속성)을 열어 Build Event탭의 Post-build event command line 박스를 찾아가서
  4. 다음의 코드를 붙여 넣기
    D:\Utils\ReXapper\ReXapper.exe –xap "$(TargetDir)$(TargetName).xap"

일단 저도 하나만 테스트를 해 봤지만, 348,854 bytes가 268,154 bytes로 약 20% 줄어드는 효과를 봤어요!

그러니…

Posted by gongdo

Submit comment.

  1. Favicon of http://gilverlight.net BlogIcon 길버트 2008.11.06 20:12  comment URL  Edit/Remove  Submit comment.

    하겠습니다!
    하겠습니다!
    ^^

  2. Favicon of http://joongs.net BlogIcon joongs 2008.11.06 21:22  comment URL  Edit/Remove  Submit comment.

    이렇게 따로 안해도 최대한 압축되는 날이 왔으면 좋겠어요 ㅎ 그날이 오기 전까지 정말 요긴한 정보! 감사~

  3. Favicon of http://loworldsoft.com BlogIcon 안상현 2008.11.07 10:48  comment URL  Edit/Remove  Submit comment.

    좋은정보 감사합니다.~ ^^

  4. Favicon of http://www.uxkorea.net BlogIcon 준서아빠 2009.02.02 09:43  comment URL  Edit/Remove  Submit comment.

    하겠습니다!
    그런데요... 어플 실행 단계에서 압축을 해제 하는것 때문에 느려지지 않을까?

    • Favicon of http://gongdosoft.com BlogIcon gongdo 2009.02.02 11:26  comment URL  Modify/Remove

      음... 압축에 걸리는 시간이 거의 동일하다면 해제도 크게 차이 없지 않을까요?

      압축에 걸리는 시간은 압축 레벨이 1~3까지는 모두 Very Fast이고 rexapper는 레벨 3을 쓰는걸로 알고 있어요. 아무리 레벨1과 3이 시간 차이가 난다고 해도 20% 보다는 적게 걸릴 거라고 추측하고요. 사이즈가 20% 정도 적어지니 이득을 얻을 수 있겠죠.

  5. 꼬기얌얌얌 2009.12.16 10:22  comment URL  Edit/Remove  Submit comment.

    안녕하세요^^ 공도님
    그런데 실버라이트3에서는 지원하지 않는 건가요?ㅠㅠ

    ReXapper가 오류가 나네용..ㅠㅠ

    디버깅하면 오류가 나면서 프로그램을 닫는다구 떠용....

    방법이 없을까용?

    • Favicon of https://gongdosoft.com BlogIcon gongdo 2010.01.11 16:52 신고  comment URL  Modify/Remove

      헐... 이게 몇 백년만의 접속인지 모르겠네요.
      블로그를 거의 버려두다시피해서;;

      음음; 암튼, SL3부터는 압축율이 충분히 높아져서 더 이상 ReXapper를 사용하지 않아도 돼요.
      물론 SL3의 압축률이 마음에 들지 않는 분도 있겠지만... 용량대 압축처리 속도비가 이 정도면 괜찮다고 봐요.