Link
1편/네트워크 연결하기-http://www.wolfpack.pe.kr/303
2편/Bluetooth사용하기-http://www.wolfpack.pe.kr/310
3편/모바일배포일반-http://www.wolfpack.pe.kr/314
4편/PC에서모바일배포-http://www.wolfpack.pe.kr/315
이번에는 PC에서 Mobile로 만든 CAB파일을 설치하는 방법에 대해 알아보자.
일단 Windows Mobile 개발이 능숙한 사람을 대상으로하니 자질구래하게 프로그램 소스까지 올리지 않도록 하겠다.
단계는 다음과 같이 한다.
1. Windows Mobile 프로그램 제작
2. Windows Mobile 배포 패키징
3. Regedit로 레지스트리를 건드려 ActiveSync 설치목록에 뜨도록 만들기
4. ActiveSync 설치관리자로 설치하기
1. TestDeploy라는 프로젝트명으로 어플리케이션을 하나 만들었다.
2. 이제 CAB으로 싸자
1) 솔루션에서 새프로젝트를 추가하자.
2) TESTCAB이라는 이름으로 모바일 설치 프로젝트를 생성
3) "프로그램 폴더" 추가
4) 쓸데없는 폴더는 날리자.
5) 응용 프로그램 폴더를 클릭하고 추가
6) 프로그램 폴더에 바로가기를 생성하자.
- 프로그램 폴더 클릭후에 오른쪽 창에서 마우스 우클릭
- 응용 프로그램 폴더안의 TestDeploy의 기본 출력(활성)을 선택
- 파일이 생성되면 "Shortcut to TestDeploy의 기본 출력(활성)"이라고 쓰여져 있는데 한글은
Ansicode로 변환하는데 실패할 수 있으므로 영문으로 바꾸자."Shortcut to TestDeploy"로
한글만 지웠다.
7) 이제 설치파일에 기록될 작성자나 뭐 기타 등등을 고쳐주자.
8) 솔루션 전체를 빌드하자.
9) ActiveSync의 "탐색" 기능을 이용하여 생성된 CAB 파일을 Windows Mobile에 옮겨 놓자
10) 옮겨 놓은 모습
11) 실행하자.
12) 프로그램 메뉴에 있는지 확인하고 실행하자.
- 한글이 깨지는 문제는 Widnows Mobile Emulator가 영문버전이기때문임. 한글버전은 문제
없음.
3. 이제 본격적인 PC를 통한 설치를 하기위해 사전 지식을 쌓아보자.
위에서 일련의 프로그램을 만들고 CAB으로 만들어 배포하는것을 해보았지만 문제는 이게 좀 귀찮다는 것이다. PC에서 Windows Mobile Device를 설치하는 기능이 있음에도 잘 안쓰니까 문제라고나 할까?
- ActiveSync의 프로그램 추가/제거 기능이 바로 그것이다.
- 프로그램 추가/제거를 클릭하면 설치할 수 있는 파일들이 뜬다.
이녀석들은 도대체 어디 있길레 이렇게 뜨는것일까? 시작>실행에서 "Regedit"를 실행하여 살펴보도록 하자.
결론부터 말하자면 여기에 존재한다.
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\AppMgr\Apps
어랏? 많이 보던 녀석들 아닌가?
다시말해 레지스트리에 등록만 해주면 ActiveSync의 기능을 추가/제거 기능을 이용할 수 있을듯 하다.
다음은 "Adobe FlashLite"를 클릭해서 내용을 발취한후 TESTCAB에 맞게 수정한 것이다.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows CE Services\AppMgr\Apps\TESTCAB]
"AppName"="TESTCAB"
"Description"=""
"IconIndex"=dword:00000000
"InstallDir"="D:\\Work_Source\\TestDeploy\\TESTCAB\\Debug"
"ListCabFiles"=hex(7):54,00,45,00,53,00,54,00,43,00,41,00,42,00,2e,00,43,00,41,\
00,42,00,00,00,00,00
"ListCpuTypes"=hex(7):30,00,00,00,00,00
"Provider"="FunnyWorld"
실재 레지스트리를 살펴본 모습은 이러하다.
이렇게 레지스트리를 고쳤을때 실재 파일의 위치만 정확하다면 다음과 같이 프로그램 추가/제거 윈도우에서 뜬다.
이제 하나만 더해보자.
TESTCAB를 프로그램 추가/제거에 넣었다고는 하나 저기능을 자동으로 띄우지 못한다면 불편한것은 여전하다. 짧게 다시 결론부터 이야기하자면 저녀석의 명칭은 "CEAppMgr.exe"이다.
(프로그램 추가/제거 윈도우를 활성화 한상태에서 윈도우 작업관리자를 띄워 놓고 이름순으로 정렬한뒤에 프로그램 추가/제거창을 닫으니 사라지는 프로세스가 바로 저 이름이었다.)
어디에 있는줄은 모르겠지만 암튼 CEAppMgr.exe를 실행하면 된다니 이 녀석도 레지스트리에서 찾아보자.
\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\CEAppMgr.exe
위의 경로에 기본값으로 박혀 있다는 것을 확인 가능하다.
* 내경우는 "C:\Program Files\Microsoft ActiveSync\CEAPPMGR.EXE"이었다.
다음에 Windows Setup을 통해 CAB파일을 특정장소에 보관하고 레지스트리를 조작한 후에 CEAppMgr.exe를 실행해보도록 하자.