
H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 14: Phân ph i và đóng ói ng d ngươ ố ứ ụ
vb.net
Ch ng ươ 14:
Phân ph i và đóng gói ng d ng Visual Basic.NETố ứ ụ
--------oOo--------
N i dung th o lu n:ộ ả ậ
- Thêm vào d án phân ph i (Deployment Project)ự ố
- Ch y ch ng trình Setạ ươ up Winzard đ t o ch ng trình cài đ t cho t ng ngể ạ ươ ặ ừ ứ
d ng c a chúng taụ ủ
- Tùy bi n trình cài đ t thông qua các thi t l p và thu c tính khi xây d ng b càiế ặ ế ậ ộ ự ộ
- Ki m tra vi c cài đ t và g b ng d ng kh i h th ngể ệ ặ ỡ ỏ ứ ụ ỏ ệ ố
Khi đã hoàn t t ch ng trình ta có th đóng gói ng d ng b ng cách t o b cài đ t đấ ươ ể ứ ụ ằ ạ ộ ặ ể
đem đi cài trên máy khác đ c.ượ Chúng ta s h c cách t o thêm d án đóng gói cài đ tẽ ọ ạ ự ặ
v i các th vi n c n thi t.ớ ư ệ ầ ế
Chú ý:
- Trong ng d ng VB.NET, phân ph i ng d ng b ng cách đ a thêm vào d ánứ ụ ố ứ ụ ằ ư ự
phân ph i cho gi i pháp hi n hành. Các tùy ch n đ c thi t l p tr c ti p trongố ả ệ ọ ượ ế ậ ự ế
d án phân ph i này.ự ố
- Visual Studio lo i b vi c dùng mô hình COM b ng cách cài thêm b khungạ ỏ ệ ằ ộ
.NET Framework phía máy khách (n u ch a có), đóng gói ng d ng thành t ngế ư ứ ụ ừ
gói và không c n dùng đ n các file DLL n a.ầ ế ữ
- Các ng d ng VB.NET có th cài đ t mà không đ ng ch m gì đ n Registryứ ụ ể ặ ộ ạ ế
c a h đi u hành n a.ủ ệ ề ữ
1. Ho ch đ nh tri n khai đóng gói d ánạ ị ể ự
Cài đ t theo mô hình COM tr c kia có r t nhi u h n ch nh : các đăng ký DLL bặ ướ ấ ề ạ ế ư ị
trùng l p, không phù h p phiên b n, xung đ t. M t s ch ng trình cài đ t đ c nh ngắ ợ ả ộ ộ ố ươ ặ ượ ư
không th c thi đ c, cài đ t xong không g đ c hay g nh ng v n đ l i rác…Giự ượ ặ ỡ ượ ỡ ư ẫ ể ạ ờ
đây VB.NET đã kh c ph c nh ng nh c đi m đóắ ụ ữ ượ ể vì nó có th cài đ t mà không c nể ặ ầ
đăng ký vào Registry c a h th ng. Nó ch y u d a trên b khung .NET Frameworkủ ệ ố ủ ế ự ộ
thay vì yêu c u đ i t ng COM g i đ n hàm API c a Windows. Ch ng trình s đ cầ ố ượ ọ ế ủ ươ ẽ ượ
biên d ch thành các gói (Assembly) và ch ng trình cài đ t s ráp các ph n l i cùng v iị ươ ặ ẽ ầ ạ ớ
các file th vi n c n thi t.ư ệ ầ ế
M t gói Assembly c a ng d ng .NET g m 4 thành ph n: ngôn ng di n d ch trungộ ủ ứ ụ ồ ầ ữ ễ ị
gian MSIL (Microsoft Intermediate Language), mã (MSIL code), d li u mô tữ ệ ả
Biên so n: Ph m Đ c L p ạ ạ ứ ậ - 1 - Add: cnt-44-dh,
VIMARU

H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 14: Phân ph i và đóng ói ng d ngươ ố ứ ụ
vb.net
(metadata) và file ch a thông tin (manisfest file), các file h tr (support files) và tàiứ ỗ ợ
nguyên (resource) dành cho ch ng trình.ươ
Hình sau minh h a ch ng trình Luckyseven.exe đ c xem là m t gói Assembly v i 4ọ ươ ượ ộ ớ
thành ph n c b n:ầ ơ ả
LuckySeven.EXE
MSIL Code
Metadata
- Đ nh nghĩa ki u d liị ể ữ ệu, ph ng th cươ ứ
- Các tham chi u v ki u d li u, đ i t ng, ph ng th cế ề ể ữ ệ ố ượ ươ ứ
Manifest
- Tên và phiên b n c a ch ng trìnhả ủ ươ
- Danh sách các file
- Các tham chi u đ n gói (Assembly) khácế ế
- Các thông tin b o m tả ậ
- Các ki u xu t (Exported) cho môi tr ng s d ngể ấ ườ ử ụ
- Các thông tin v tài nguyênề
Resource
- Các tài nguyên ch ng trình c n dùngươ ầ
2. Các cách đóng gói và tri n khai ng d ng khác nhauể ứ ụ
Khi b t đ u chu n b cho vi c phân ph i s n ph m c a mình, hãy xem xét các ph ngắ ầ ẩ ị ệ ố ả ẩ ủ ươ
th c cài đ t khác nhau:ứ ặ
- Cài d t ng d ng lên máy tính và đăng ký nó v i Windows Registryặ ứ ụ ớ
- T o ch ng trình cài đ t cho phép ch ng trình có th cài t m ng LAN hayạ ươ ặ ươ ể ừ ạ
Internet
- Đóng gói ng d ng cho phép cài t CDứ ụ ừ
- Đóng gói ng d ng thành các file .CAB (m t d ng file t bung) có th dùngứ ụ ộ ạ ự ể
cho các trình duy t download v hay sao chép đi cài b t kỳ đâu.ệ ề ở ấ
Trong VS có th nhanh chóng t o ra d án đóng gói Deployment b ng trình Setupể ạ ự ằ
Winzard. Vi c tùy bi n d án là hoàn toàn d dàng b ng cách thay đ i các tùy ch n.ệ ế ự ễ ằ ổ ọ
N u mu n đóng gói lên CD thì c n có đ u ghi CD.ế ố ầ ầ
Trên m i máy ch y ch ng trình .NET c n có m t b khung .NET FrameWork. B n cóỗ ạ ươ ầ ộ ộ ạ
th download b cài là file Dotnetfx.exe (20MB) v cài đ t. Sau này trong các phiên b nể ộ ề ặ ả
Biên so n: Ph m Đ c L p ạ ạ ứ ậ - 2 - Add: cnt-44-dh,
VIMARU

H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 14: Phân ph i và đóng ói ng d ngươ ố ứ ụ
vb.net
h đi u hành s ch a s n .NET Framework Runtime. N u máy đã có s n thì vi c càiệ ề ẽ ứ ẵ ế ẵ ệ
đ t ch đ n gi n là sao chép và ch y.ặ ỉ ơ ả ạ
Tuy nhiên h u nh khi đóng gói VS đã nhúng luôn th vi n .NET runtime kèm theoầ ư ư ệ
ch ng trình nên n u dung l ng b cài có l n h n nhi u so v i ch ng trình thì b nươ ế ượ ộ ớ ơ ề ớ ươ ạ
cũng đ ng ngừ ạc nhiên.
3. T o d án Deploymentạ ự
Bây gi chúng ta s t o d án Deployment. Ch ng trình setup c a chúng ta s t o m tờ ẽ ạ ự ươ ủ ẽ ạ ộ
short cut icon cho ch ng trình trên menu Start | Programs c a windows, thêm file readmeươ ủ
vào th m c C:\Program Files \ microsoft press\Lucky Seven, đăng ký v i Registry đư ụ ớ ể
cu i ch ng ti n hành g b ng ch c năng Add/Remove Programs.ố ươ ế ỡ ằ ứ
B n làm theo các b c sau đây:ạ ướ
•Sao chép bài t p Lukyseven chúng ta đã hoàn thi n trong ch ng 10 sang th m cậ ệ ươ ư ụ
Bai tap c a ch ng 14.ủ ươ
•M nó b ng Visual Studio và ch n ở ằ ọ File | New | Project t menu File.ừ
•Ch n Other Project Types và ch n Setup and Deployment. Có 6 m u phía bên ph iọ ọ ẫ ả
khung cho phép l a ch n. M u ự ọ ẫ CAB project cho phép đóng gói ch ng trìnhươ
Biên so n: Ph m Đ c L p ạ ạ ứ ậ - 3 - Add: cnt-44-dh,
VIMARU

H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 14: Phân ph i và đóng ói ng d ngươ ố ứ ụ
vb.net
thành nhi u gói .cab. M u ề ẫ Merge Module Project cho phép đóng gói chung các dự
án khác nhau (t o file .msm có th tr n ti p vào các gói cài đ t khác). M u ạ ể ộ ế ặ ẫ Setup
Project t o b đóng gói cài đ t b i Windows Installer. M u ạ ộ ặ ở ẫ Web Installer cài đ tặ
ch ng trình t m t Webserver…Có l chúng ta s ch n m u ươ ừ ộ ẽ ẽ ọ ẫ Setup Winzard,
m u này đóng gói ch ng trình thông qua các câu h i và yêu c u th c hi n m tẫ ươ ỏ ầ ự ệ ộ
s b c c u hình đ n gi n.ố ướ ấ ơ ả
•Nh n vào bi u t ng Setup Wizard và gõ vào chu i LuckySeven_Version1.0 vàấ ể ượ ỗ
ch n đ ng d n đ n gi i pháp LuckySeven.ọ ườ ẫ ế ả
•Ch n ọAdd To Solution t danh sách Solution đ k t h p hai d án cùng lúc vào gi iừ ể ế ợ ự ả
pháp hi n hành.ệ
•Nh n OK đ làm xu t hi n trình Setup Winzard.ấ ể ấ ệ
3.1. S d ng trình Setup Winzardử ụ
•1. Nh n nút Next màn hình gi i thi uấ ở ớ ệ
Biên so n: Ph m Đ c L p ạ ạ ứ ậ - 4 - Add: cnt-44-dh,
VIMARU

H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 14: Phân ph i và đóng ói ng d ngươ ố ứ ụ
vb.net
•2. H p tho i ộ ạ Choose a Project Type xu t hi n. H p tho i này cho phép ta ki mấ ệ ộ ạ ể
soát cách đóng gói và phân ph i d án ch ng trình. Trong bài t p này ta đ m cố ự ươ ậ ể ặ
đ nh là l a ch n đ u tiên “Creat a setup for a windows application”ị ự ọ ầ
•3. Nh n nút Next. H p tho i ấ ộ ạ Choose Project Output To Include hi n th cho phépể ị
ch đ nh file kèm theo trình cài đ t và các thông tin v ch ng trình.ỉ ị ặ ề ươ
•4. Nh n ch n Primary Output nh hình:ấ ọ ư
•5. Nh n Next. H p tho i ấ ộ ạ Choose Files To Include hi n th cho phép ch n các filesể ị ọ
d li u, file h ng d n…ữ ệ ướ ẫ
•6. Nh n nút Add và ch n file readme.txt trong d ánấ ọ ự .
•7. Nh n Next đ hi n th h p tho i ấ ể ể ị ộ ạ Creat Project. T i đây các thông tin v d ánạ ề ự
đóng gói đã ch n. B n có th nh n nút Previous đ hi u ch nh thông tin tr cọ ạ ể ấ ể ệ ỉ ướ
khi hoàn thi n.ệ
•8. Nh n nút Finish đ t o d án Deployment cho ch ng trình Luckyseven. Lúcấ ể ạ ự ươ
này d án m i đóng gói s đ c li t kê trong c a s Solution Explorer. B so nự ớ ẽ ượ ệ ử ổ ộ ạ
th o ảFile System Editor cũng xu t hi n. B n có th s d ng ấ ệ ạ ể ử ụ File System Editor
đ thêm vào các file k t xu t, cùng các m c khác đ xác đ nh d án có c n càiể ế ấ ụ ể ị ự ầ
Biên so n: Ph m Đ c L p ạ ạ ứ ậ - 5 - Add: cnt-44-dh,
VIMARU

