หลังจากที่เราได้ทำการพัฒนาโปรแกรมบนเครื่อง Pocket PC จนสำเร็จได้เป็นที่พอใจแล้ว(ตั้งแต่การพัฒนา ดีบัก และทดสอบโปรแกรม) ขั้นตอนต่อไปก็คือการที่จะส่งโปรแกรมเหล่านี้ออกไปให้ลูกค้าของคุณหรือผู้ใช้คนอื่นๆ หากเป็นโปรแกรมที่เขียนบนเครื่อง PC ก็จะมีเครื่องมือต่างๆมาให้เราสร้างไฟล์สำหรับติดตั้งหรือที่เรียกกันติดปากว่าโปรแกรมสำหรับ Setup
สำหรับบนเครื่อง Pocket PC ที่มีความแตกต่างกันพอสมควรเวลาที่ทำการติดตั้งโปรแกรมอาจจะมีปัญหายุ่งบ้างเวลาที่เราต้องการสร้างไฟล์สำหรับติดตั้งโปรแกรมให้กับโปรแกรมที่เราเขียนเสร็จแล้วแต่ถ้าเราพัฒนาโปรแกรมด้วย .NET Compact Framework Microsoft ได้เตรียมเครื่องมือเพื่อความสะดวกสำหรับสร้างไฟล์ติดตั้งโปรแกรมมาให้เราอยู่แล้วโดยมีวิธีการในการทำคือการรวมไฟล์โปรแกรมของคุณให้อยู่ในรูปของ self-extracting Cabinet ไฟล์ ซึ่งจะมีนามสกุล .CAB (ซึ่งต่อไปนี้ในบทความจะขอเรียกว่าไฟล์ CAB) ซึ่ง CAB File เพียงไฟล์เดียวจะมีการรวมไฟล์ที่จำเป็นสำหรับติดตั้งโปรแกรมทั้งหมดอยู่
Visual Studio.NET ได้มีเครื่องมือสำหรับการสร้างไฟล์ CAB เอาไว้ให้อยู่แล้วโดยสามารถทำได้ง่ายๆโดยการคลิกที่ “Build CAB Files” จากเมนู Build ดังรูปที่ 1 หลังจากที่คลิกไปแล้วโปรแกรมจะทำการสร้างไฟล์ CAB ไว้ที่ Folder ชื่อโปรเจค/obj/โหมดของการ Build ซึ่ง โหมดของการ Build จะมีอยู่ 2 โหมดคือ Debug และ Release โหมด Debug จะเป็นการ Build ในขณะที่โปรแกรมยังอยู่ในสถานะ Debug หรือยังไม่เสร็จนั่นเองส่วนโหมด Release เป็นโหมดสำหรับการสร้างไฟล์ CAB ที่ทำการพัฒนาเสร็จแล้ว
รูปที่ 1 การสั่ง Build Cab File ด้วย Visual Studio.NET (1.tiff)
นอกจาก CAB File แล้วยังมีไฟล์อื่นๆที่สร้างออกมาอีก 3 ไฟล์คือ
1. ไฟล์ Batch จะมีชื่อไฟล์เป็น buildcab.bat เอาไว้สำหรับสร้างไฟล์ CAB ใหม่อีกรอบมีประโยชน์เวลาที่เราทำการเปลี่ยนแปลงค่าในไฟล์ configuration โดยเราสามารถสั่งให้ BuildCab.bat สร้างไฟล์ cab ใหม่ได้เลยโดยที่ไม่มีการ generate ไฟล์ configuration ใหม่
2. ไฟล์ Configuration เป็นไฟล์นามสกุล .inf โดยจะมีชื่อเป็นชื่อโปรเจคตามด้วยชนิดของ Device ที่โปรแกรมนั้นสามารทำงานได้ เช่น โปรเจคชื่อว่า HelloWorld ทำงานบน pocket PC จะมีไฟล์ configuration เป็น HelloWorld_PPC.inf
3. ไฟล์ Dependencies จะเป็นไฟล์ชื่อ Dependencies_PPC.txtเอาไว้สำหรับตรวจสอบว่าไฟล์ CAB ที่เรากำลังจะติดตั้งลงใน PPC นั้นได้ถูกติดตั้งเอาไว้ใน PPC ก่อนแล้วหรือยัง
เพียงเท่านี้เราก็จะได้ไฟล์สำหรับติดตั้งโปรแกรมเพียงคัดลอกไฟล์ CAB ไปไว้ที่เครื่อง PPC แล้วสั่งให้ไฟล์ CAB ทำงาน โปรแกรมก็จะถูกติดตั้งลงในเครื่อง Pocket PC ของคุณทันที โดย CAB ไฟล์ที่สร้างเสร็จแล้วจะอยู่ที่โฟลเดอร์ ชื่อโปรเจค/CAB/โหมดของการ Build ครับ
แม้ว่าการสร้างไฟล์ CAB ด้วย Visual Studio.NET นั้นจะง่ายก็ตามแต่ถึงอย่างไรก็ยังมีข้อจำกัดหลายๆอย่าง หากคุณผู้อ่านต้องการสร้างไฟล์ติดตั้งที่มีความยืดหยุ่นและความสามารถอื่นๆแล้วยังมีอีกทางเลือกหนึ่งที่ค่อนข้างยุ่งยากแต่ก็ช่วยให้เราสามารถสร้างไฟล์ติดตั้งได้ยืดหยุ่นมากขึ้นนั่นก็คือการสร้างโดยใช้ Cab Wizard นั่นเอง โดย Cab Wizard จะเป็นไฟล์ที่ชื่อว่า Cabwiz.exe จะอยู่ในโฟลเดอร์ C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\bin (v 1.0.500 เป็นหมายเลขเวอร์ชั่น)

การที่เราจะสามารถทำการสร้างไฟล์ติดตั้งด้วย Cab wizard ได้จำเป็นต้องมีไฟล์ Configuration ที่ทำการเก็บค่าการตั้งค่าต่างๆเอาไว้ซะก่อน แต่มีวิธีที่จะสามารถช่วยเราประหยัดเวลาในการทำงานลงไปได้เยอะ นั่นก็คือใช้ Visual Studio.NET สร้างไฟล์ cab พร้อมทั้งไฟล์ Configuration ให้เรา จากนั้นก็แก้ไขไฟล์ configuration เองตามพอใจแล้วถึงสั่งให้ cabwiz ทำงานซึ่งง่ายกว่าการที่เราจะไปเขียนเองทั้งหมด โดยไฟล์ที่เราต้องการใช้มี 2 ไฟล์จากการสร้างไฟล์ cab ด้วย Visual Studio.Net ดัที่ได้กล่าวไปแล้วในตอนต้น ดังรูปที่ 2
รูปที่ 2 ไฟล์ที่เราต้องการ (2.bmp) รูปที่ 3 ไฟล์ .INF (3.bmp)
ให้ลองเปิดไฟล์นามสกุล inf ขึ้นมาด้วย Notepad ครับ(ชื่อของไฟล์จะเปลี่ยนไปตามชื่อโปรเจคที่ตั้ง) เราจะพบข้อความหลายๆข้อความดังรูปที่ 3 ซึ่งไฟล์นี้ถูกสร้างขึ้นโดย Visual Studio.NET เป็นไฟล์ที่เก็บการตั้งค่าต่างๆของไฟล์ CAB ที่ได้ทำการสร้างขึ้นโดยมีรายละเอียดดังนี้
การอ้างถึง โฟลเดอร์ต่างๆ
ในการอ้างถึงโฟลเดอร์ต่างๆในไฟล์ INF นี้จะมีการอ้างโดยใช้ตัวแปรที่ Cab Wizard สามารถเข้าใจได้เอาไว้แล้ว ดังนี้
DIRECTORY MACRO
WINDOWS CE DIRECTORY
%CE1%
\Program Files
%CE2%
\Windows
%CE4%
\Windows\StartUp
%CE5%
\My Documents
%CE8%
\Program Files\Games
%CE11%
\Windows\Start Menu\Programs
%CE14%
\Windows\Start Menu\Programs\Games
%CE15%
\Windows\Fonts
%CE17%
\Windows\Start Menu
การกำหนดเวอร์ชั่นของโปรแกรม
[Version]
Signature="$Windows NT$"
Provider="My Company"
CESignature="$Windows CE$"
เราสามารถกำหนดเวอร์ชั่นของโปรแกรมของเราได้ที่หัวข้อ [Version] โดยมีค่าต่างๆที่เราสามารถกำหนดได้ดังนี้
· Signature สามารถเป็นได้ 2 ค่าคือ "$Windows NT$" และ "$Windows 95$". ซึ่ง คีย์ นี้ไม่มีประโยชย์อะไรเท่าไหร่เลย
· Provider ค่านี้จะแสดงตอนที่กำลังติดตั้งโปรแกรมบนเครื่อง Pocket PC เพราะฉนั้นจึงควรที่จะใส่ชื่อบริษัทที่พัฒนาซอร์ฟแวร์
· CESignature เป็น คีย์ ที่เคยใช้สมัยก่อนซึ่งตอนนี้ไม่มีความจำเป็นแล้ว
กำหนด path ที่จะติดตั้งโปรแกรม
[CEStrings]
AppName="PPCMAGZ"
InstallDir=%CE1%\%AppName%
ในส่วนของ CEStrings เป็นส่วนที่ขาดไม่ได้ต้องมีการกำหนดค่าโดยค่าที่ต้องกำหนดมีดังนี้
· AppName ชื่อของโปรแกรมของคุณเมื่อกำหนดค่าในนี้แล้วเวลามีค่าอื่นเรียกใช้ตัวแปร %AppName% ก็จะเป็นการอ้างถึงค่าในนี้
· InstallDir ชื่อของโฟลเดอร์ที่ทำการติดตั้งโปรแกรม เช่นเดียวกันสามารถอ้างถึงได้โดยใช้ตัวแปร %InstallDir%
กำหนด String ของตัวเอง
[Strings]
db = mydb.mdb
config = myconfig.xml
เราสามารถสร้าง String ขึ้นมาเองเอาไว้อ้างถึงภายหลังได้โดยการกำหนดค่าเอาไว้ในส่วนของ String นั่นเองดังเช่นในตัวอย่างเราสามารถอ้างถึง %db% และ %config% ได้ ซึ่งจะได้ค่าออกมาเป็น mydb.db และ myconfig.xml ตามลำดับ
กำหนดรายละเอียดการติดตั้ง
[DefaultInstall]
CEShortcuts=Shortcuts
CopyFiles=Files.Common
[DefaultInstall.ARM]
CopyFiles=Files.ARM
CESetupDLL=vsd_setup.dll
[Files.Common]
PPCMAGZ.exe,,,0
[Files.ARM]
vsd_config.txt,vsd_config.txt.ARM,,0
vsd_setup.dll,,,0
ในส่วนของ DefaultInsall นี้จะเป็นการกำหนดว่าไฟล์อะไรที่ต้องการการติดตั้งลงไปในเครื่อง Pocket PC บ้าง ซึ่งในส่วนนี้จำเป็นต้องมีการกำหนดค่า ส่วนที่เห็น [DefaultInstall.ARM] นั้นเป็นการกำหนดค่าเฉพาะให้กับ Processor ARM ซึ่งถ้าลองดูในไฟล์ INF โปรแกรมจะสร้างค่านี้สำหรับทุก Processor ไว้ให้อยู่แล้ว
คีย์ CopyFiles เป็นค่าที่กำหนดชื่อไฟล์ที่จะถูก copy ไปใว้ในเครื่อง Pocket PC โดยค่าที่กำหนดให้ต้องเป็นค่าที่ประกาศเอาไว้ในไฟล์นี้แล้วเท่านั้น(โดยประกาศเป็น Section ใหม่ขึ้นมาเลย) ตัวอย่างใน Section ของ [Files.Common] และ [File.ARM] จะเป็น ส่วนที่ใช้กำหนดชื่อไฟล์ สำหรับ คีย์ Copy files โดยใน [Files.Common] จะเป็นการ copy ไฟล์ชื่อ PPCMagz.exe เป็นต้น
และยังมีคีย์อีกตัวที่ชื่อ Addregs ที่จะทำการเพิ่มค่าลงใน Registry แต่คีย์นี้ไม่จำเป็นต้องใช้เท่าใดจึงไม่ขอพูดถึงครับ
สร้าง Shortcut หลังจากติดตั้งเสร็จ
[Shortcuts]
PPCMAGZ,0,PPCMAGZ.exe,%CE11%
หลังการติดตั้งโปรแกรมเราจำเป็นต้องทำการสั่งให้โปรแกรมติดตั้งสร้าง Shortcut ของโปรแกรมเอาไว้เพื่อความสะดวกในการเรียกใช้งานของผู้ใช้โดยสามารถกำหนดได้ง่ายๆไม่ต้องมีคีย์อะไรเลย ตามรูปแบบดั้งนี้ filename,type,target,destination.
· Filename คือชื่อไฟล์ shortcut
· Type ต้องมีค่าเป็นตัวเลข เลข 0 หมายถึงเป็น shortcut ที่ชี้ไปยังไฟล์ถ้าเป็นเลขอื่นที่ไม่ใช่ 0 จะเป็นการชี้ไปที่ โฟลเดอร์อื่นๆ
· Target เป็นการกำหนดไฟล์เป้าหมายที่ต้องการให้ shortcut ไปเปิด
· Destination เป็นการกำหนด path ที่ต้องการให้นำไฟล์ Shortcut วางไว้
กำหนด path ของไฟล์บน Desktop
[SourceDisksNames]
1=,"Common1",,"C:\Documents and Settings\Charnsak\My Documents\Visual Studio Projects\PPCMAGZ\obj\Debug\"
[SourceDisksNames.ARM]
4=,"ARM4",,"C:\Documents and Settings\Charnsak\My Documents\Visual Studio Projects\PPCMAGZ\obj\Debug\"
5=,"ARM_Setup",,"C:\Program Files\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\wce300\ARM\"
Section นี้เป็นการกำหนดว่า จะให้ทำการใช้ไฟล์จากโฟลเดอร์ใดเพื่อเอาไปสร้างไฟล์ CAB โดยใน Section นี้จำเป็นต้องมีการกำหนดค่า โดยมีรูปแบบดังนี้ disk_id = ,comment, ,path
· disk_id เป็นเลขอ้างอิงของไฟล์โดยสามารถกำหนดได้ใน Section SourceDisksFiles
· comment คำอธิบายเดียวกับ ไฟล์ในโฟลเดอร์นี้
· path path ของไฟล์ต่างๆที่อยู่บน Desktop
กำหนดรายละเอียดไฟล์
[SourceDisksFiles]
PPCMAGZ.exe=1
[SourceDisksFiles.ARM]
vsd_config.txt.ARM=4
vsd_setup.dll=5
ใน section นี้จะเป็นการกำหนดรายละเอียดของไฟล์ที่จะใช้กับโปรแกรมของเรา โดยมีรูปแบบดังนี้ filename=disk_id[, subdir]
· filename ชื่อไฟล์
· disk_id ตัวเลขอ้างอิงเอาไว้ใช้ใน [SourceDisksNames]
· subdir เป็นการบอกโฟลเดอร์ย่อยซึ่งไม่ใส่ก็ได้
ซึ่งถ้าสังเกตดีๆทั้ง [SourceDisksNames] และ [SourceDisksFiles] ใช้ไฟล์ inf จะมีการแบ่งตาม CPU ต่างๆของเครื่องด้วย
ขั้นตอนสุดท้ายกำหนดโฟลเดอร์ของทั้งโปรแกรมใน section DestinationDirs
[DestinationDirs]
Files.Common=0,%InstallDir%
Shortcuts=0,%CE2%\Start Menu
Files.ARM=0,%InstallDir%
ใน Section นี้เป็นการกำหนด Path ที่ต้องคัดลอกไฟล์ลงไปใน Pocket PC โดยมีรูปแบบคือ file_list_section = 0,subdir
· file_list_section Section ที่เก็บรายชื่อไฟล์ที่อยู่บนเครื่อง Desktop ไฟล์
· subdir โฟลเดอร์เป้าหมาย สามารถใช้ Macro String หรือ String ที่เรากำหนดเองได้
· Shortcuts ปกติจะคัดลอกไปไว้ที่ %CE17% นั่นก็คือ \Windows\Start Menu นั่นเอง
สร้างไฟล์ CAB กันใหม่
หลังจากที่เราปรับแต่งอะไรหลายๆอย่างจนพอใจแล้วขั้นตอนต่อไปคือใช้ CAB Wizard สร้างไฟล์ใหม่ให้กับเราโดยที่มีรูปแบบของคำสั่งดังนี้ cabwiz.exe "inf_file" [/dest dest_dir] [/err err_file] [/cpu platform_label [platform_label]]
· inf_file ไฟล์ที่เราลงมือแก้ไขกันมาตั้งนานเมื่อกี้โดยต้องระบุ path ให้เรียบร้อย
· dest_dir โฟลเดอร์ที่จะให้ CAB ไปอยู่หลังจากสร้างเสร็จแล้ว ถ้าไม่กำหนดจะเป็น Directory ปัจจุบัน
· error_file ชื่อไฟล์ที่จะให้ cab wizard ทำการบันทึกหากเกิดข้อผิดพลาดขึ้น
· platform_label กำหนดชนิดของ CPU โดยเราสามารถกำหนดมากกว่า 1 CPU ได้
ตัวอย่างการใช้งาน Cabwiz.exe "c:\PPCMagz\PPCMAGZ.inf" /err PPCMAGZ_errors.txt /cpu arm

หรือถ้าจะให้ง่ายกว่านั้นก็ทำการเรียกใช้ไฟล์ BuildCab.bat ที่ Visual studio.NET สร้างให้เลย ก็ได้ครับ แต่ว่าไฟล์ BuildCab.bat จะสร้างไฟล์ติดตั้งสำหรับทุก CPU เลยอาจจะมากเกินความต้องการ เราสามารถแก้ไขได้โดยคลิกขวาที่ไฟล์ BuildCab.bat นั้นแล้วเลือก edit จากนั้นแก้ไขคำสั่งตามความพอใจครับ ดังรูปที่ 4 ครับ เพียงเท่านี้เราก็จะได้ไฟล์ CAB ที่พร้อมจะนำไปทำการติดตั้งบนเครื่อง Pocket PC แล้วดังรูปที่ 5
รูปที่ 4 ไฟล์ buildCab.BAT (4.bmp) รูปที่ 5 ไฟล์ CAB ที่สร้างเสร็จแล้วแยกตาม CPU (5.bmp)
สร้างไฟล์ติดตั้งสำหรับ Active Sync
ไฟล์ CAB ที่เราสร้างเสร็จแล้วสามารถนำไปติดตั้งบนเครื่อง Pocket PC ได้เลยก็จริงแต่หากเราต้องการให้ผู้ใช้สามารถทำการติดตั้งจากเครื่อง Pocket PC ได้เลยก็จะเป็นประโยชน์ค่อยข้างมาก
ถ้าสังเกตไฟล์ติดตั้งของโปรแกรมต่างๆที่มีอยู่ทั่วไปจะพบว่าเป็นไฟล์ exe หรือ msi ที่ติดตั้งจากเครื่อง PC ไปสู่ Pocket PC ผ่านทาง Active sync ซึ่งวิธีการดังกล่าวต้องทำงานผ่าน Application Manager และเราต้องเขียนโปรแกรมเองเพื่อสร้างไฟล์ setup ขึ้นมา
แต่วันนี้ผมจะขอเสนอโปรแกรมฟรีจากบริษัทชื่อดังที่ผลิตโปรแกรมสำหรับเครื่อง Pocket PC ที่ชื่อ SPB ที่จะช่วยให้เราสามารถสร้างไฟล์ setup ได้ง่ายขึ้นโดยที่ไม่ต้องขียนโปรแกรมเอง โปรแกรมนั่นมีชื่อว่า EzSetup ครับ สามารถดาวโหลดได้จาก http://www.spbsoftwarehouse.com/products/ezsetup/?en ขนาดประมาณ 500 KB สามารถใช้งานได้ฟรีแถม spb ยังใจดีแจก Source code ให้อีก เมื่อดาวโหลดมาแล้วให้ copy ไปรวมไว้กับห้องที่มี cab ไฟล์นะครับ
โปรแกรมนี้ทำงานเป็นแบบ Command Line ครับ แต่ก่อนที่เราจะใช้โปรแกรมนี้ได้เราต้องทำการสร้างไฟล์ขึ้นมาอีก 3 ไฟล์คือไฟล์ setup.ini , readme.txt , eula.txt ซึ่งทั้ง 3 ไฟล์นี้จะตั้งชื่อเป็นอะไรก็ได้นะครับ โดยมีความสำคัญต่างกันดังนี้
· setup.ini ไฟล์ที่เก็บข้อมูลเพื่อบอกให้ Application Manager รู้
· Readme.txt ไฟล์รายละเอียดเกี่ยวกับโปรแกรมของเราที่จะบอกผู้ใช้ตอนติดตั้ง
· Eula.txt ไฟล์ End User License Agreement หรือไฟล์ข้อตกลงการใช้งานนั่นเอง(ที่บังคับให้ผู้ใช้ต้องตอบ Yes ก่อนติดตั้งนั่นเอง)
สำหรับ 2 ไฟล์หลังเป็นไฟล์ text ธรรมดาที่เราสามารถเปิด notepad แล้วพิมพ์ข้อกำหนดต่างๆลงไปได้แต่ไฟล์ setup.ini นั้นเราจำเป็นต้องสร้างเองโดยมีรูปแบบดังนี้
[CEAppManager]
Version = 1.0
Component = component_name
[component_name]
Description = descriptive_name
[IconFile = icon_filename]
CabFiles = cab_filename [,cab_filename]
· Version เวอร์ชั่นของโปรแกรม
· component_name คีย์ที่อ้างถึง section ที่มีการกำหนดค่าการติดตั้งเอาไว้
· descriptive_name คำอธิบายที่จะแสดงเมื่อผู้ใช้ติดตั้งโปรแกรมลงใน Pocket PC
· icon_filename เป็นไฟล์ ไอคอนที่อยู่บน Desktop เมื่อผู้ใช้ทำการเลือกดูใน Active Sync
· cab_filename ไฟล์ CAB ต่างๆที่เราต้องการสามารถใส่ได้หลายไฟล์สำหรับหลาย CPU
เมื่อเราเตรียมไฟล์ต่างๆครบแล้ว(ดังรูปที่ 6)ก็ให้เข้า Command Line ของ Dos จากนั้นไปยัง โฟลเดอร์ที่เก็บไฟล์ดังกล่าวทั้งหมดอยู่ให้ลองพิมพ์ ezsetup จะปรากฏวิธีการใช้งานขึ้นมาโดย ezsetup จะมี parameter ที่รับเข้าไปดังนี้
รูปที่ 6 ไฟล์ที่เตรียมไว้เพื่อสร้างไฟล์ติดตั้ง (6.bmp)
<-l language>
เลือกภาษาของไฟล์ติดตั้งที่ต้องการโดยสามารถเลือกได้ หลายภาษาดังนี้ 'english', 'german', 'french', 'italian', 'swedish', 'portuguese' and 'spanish'.
<-i inifilename>
ไฟล์ .ini ที่เราสร้างขึ้นนั่นเอง
<-r readme.txt>
ไฟล์ readme ที่เราสร้างขึ้น
<-e eula.txt>
ไฟล์ End User License Agreement
<-o outputexe>
ชื่อไฟล์ติดตั้งที่ต้องการสร้าง
เมื่อเราสร้างไฟล์ต่างๆครบตามที่โปรแกรมต้องการแล้วให้ลองพิมพ์คำสั่งดังรูปที่ 7 แล้วสั่งให้โปรแกรมทำงานดูนะครับ (ไฟล์ต่างๆต้องอยู่ด้วยกันทั้งหมดรวมทั้งไฟล์ CAB ด้วย)โปรแกรมก็จะสร้างไฟล์ติดตั้งและได้ผลลัพธ์ดังรูปที่ 8
รูปที่ 7 คำสั่งที่จะสั่งให้โปรแกรมทำงาน (7.bmp)
รูปที่ 8 ทำการสร้างไฟล์ติดตั้งเสร็จเรียบร้อย(8.bmp)
ลองเข้าไปดูที่โฟลเดอร์นั้นก็จะเห็นไฟล์ติดตั้งที่มีชื่อตามที่เราใส่ใน parameter –o ปรากฏขึ้นในที่นี่ชื่อ PPCMagzSetup.exe ดังรูปที่ 9 ให้ลองสั่งให้โปรแกรมทำงานจะพบหน้าจอการติดตั้งดังรูปที่ 10 , 11 ,12 ตามลำดับ
รูปที่ 9 ไฟล์ติดตั้งที่สร้างขึ้นเรียบร้อยแล้ว(9.bmp)

รูปที่ 10 เมื่อเรียกใช้ไฟล์จะแสดงข้อความใน Readme.txt (10.bmp)
รูปที่ 11 แสดงข้อความจาก eula.txt พร้อมบังคับให้ผู้ใช้รับข้อตกลง (11.bmp)
รูปที่ 12 โปรแกรมเรียก Active เพื่อติดตั้งโปรแกรมลงใน Pocket PC (12.bmp)
เพียงเท่านี้เราก็สามารถแจกจ่ายโปรแกรมได้โดยการใช้ไฟล์ setup ที่เราสร้างขึ้นเพียงไฟล์เดียวได้แล้วครับ
สรุป
บทความฉบับนี้ก็คงใช้ช่วยให้คุณผู้อ่านเข้าใจเกี่ยวกับขั้นตอนการสร้างไฟล์ CAB สำหรับติดตั้งบนเครื่อง Pocket PC มากขึ้นจริงๆแล้วยังมีวิธีการสร้างไฟล์ติดตั้งอยู่อีกหลายวิธีให้เลือกใช้ตามความชอบแต่วิธีการที่ผู้เขียนได้นำเสนอไปนี้นับว่าเป็นวิธีที่ง่ายและค่อนข้างแพร่หลายเลยทีเดียวครับ