HƯỚNG DẪN TẠO BỘ CÀI SETUP TRONG VISUAL STUDIO 1. Setup Project : tạo bộ đóng gói cho ứng dụng Windows (hay còn gói là ứng dụng chạy trên Desktop). 2. Merge Module Project : Tạo ra file .msm , đóng gói các components cho phép bạn chia sẽ các components đó giữa nhiều Project hoặc nhiều ứng dụng. 3. CAB Project : Cho phép bạn tạo 1 file .cab để nén ActiveX controls chứ không phải những ứng dụng, tuy nhiên có thể được download từ Web server tới trình duyệt web 4. Web Setup Project : Cho phép bạn triển khai 1 ứng dụng Web tới web server. Bạn tạo 1 Web Setup project, build nó tạo ra file đóng gói , copy file đó tới Web Server, và chạy file đó để cài đặt ứng dụng này trên server, sử dụng những Setting định nghĩa Web Setup project của bạn. 5. Smart Device CAB Project : tạo Cab project để cài đặt trên ứng dụng trên thiết bị di động. 6. Setup Wizard : nếu bạn không rõ mình dùng loại đóng gói nào thì dùng lựa chọn này để dùng trình thuật sỹ Wizard sẽ hướng dẫn chúng ta đi từng bước trong suốt quá trình tạo file đóng gói . Áp dụng cho mọi loại ứng dụng , kể cả ứng dụng Web. Ở đây chỉ xét 2 hổ trợ đó là Setup Wizard và Setup Project . Thực ra chỉ cần tìm hiểu Setup Wizard là đủ vì Setup Wizard đã có bao hàm Setup Project. Một số thuật ngữ sử dụng trong bài viết chỉ có áp dụng trong nội dung bài hướng dẫn này thôi , ngoài phạm vi bài này, ý nghĩa của các từ có thể khác nhiều đi . Target Machine = Target Computer = Client: máy tính của khách hàng chạy file setup do bạn tạo ra.
45
Embed
3i.com.vn3i.com.vn/.../yen/tip.guide.setup.visual.studio.docx · Web viewCác loại Setup EditorsKhi bạn triển khai 1 ứng dụng , bạn muốn thực hiện 1 thao tác đặc
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
H NGƯỚ D N T O B CÀI SETUP TRONG VISUAL STUDIOẪ Ạ Ộ1. Setup Project : t o b đóng gói cho ng d ng Windows (hay còn gói là ng d ng ch yạ ộ ứ ụ ứ ụ ạ
trên Desktop).
2. Merge Module Project : T o ra file .msm , đóng gói các components cho phép b n chiaạ ạ
sẽ các components đó gi a nhi u Project ho c nhi u ng d ng.ữ ề ặ ề ứ ụ3. CAB Project : Cho phép b n t o 1 file .cab đ nén ActiveX controls ch không ph i ạ ạ ể ứ ảnh ng ng d ng, tuy nhiên có th đ c download t Web server t i trình duy t webữ ứ ụ ể ượ ừ ớ ệ4. Web Setup Project : Cho phép b n tri n khai 1 ng d ng Web t i web server. B n ạ ể ứ ụ ớ ạt o 1 Web Setup project, build nó t o ra file đóng gói , copy file đó t i Web Server, và ạ ạ ớch y file đó đ cài đ t ng d ng này trên server, s d ng nh ng Setting đ nh nghĩa ạ ể ặ ứ ụ ử ụ ữ ịWeb Setup project c a b n.ủ ạ5. Smart Device CAB Project : t o Cab project đ cài đ t trên ng d ng trên thi t b di ạ ể ặ ứ ụ ế ịđ ng.ộ6. Setup Wizard : n u b n không rõ mình dùng lo i đóng gói nào thì dùng l a ch n này ế ạ ạ ự ọđ dùng trình thu t sỹ Wizard sẽ h ng d n chúng ta đi t ng b c trong su t quá ể ậ ướ ẫ ừ ướ ốtrình t o file đóng gói . Áp d ng cho m i lo i ng d ng , k c ng d ng Web.ạ ụ ọ ạ ứ ụ ể ả ứ ụ
đây ch xét 2 h tr đó là Setup Wizard và Setup Project . Th c ra ch c n tìm hi u Ở ỉ ổ ợ ự ỉ ầ ểSetup Wizard là đ vì Setup Wizard đã có bao hàm Setup Project.ủM t s thu t ng s d ng trong bài vi t ch có áp d ng trong n i dung bài h ng d n ộ ố ậ ữ ử ụ ế ỉ ụ ộ ướ ẫnày thôi , ngoài ph m vi bài này, ý nghĩa c a các t có th khác nhi u đi .ạ ủ ừ ể ềTarget Machine = Target Computer = Client: máy tính c a khách hàng ch y file setup do ủ ạb n t o ra.ạ ạApplication : ch ng trình do b n vi t ra và mu n đóng gói l i .ươ ạ ế ố ạSetup : là 1 ng d ng hay quá trình cho phép b n đóng gói ng d ng c a b n thành 1 ứ ụ ạ ứ ụ ủ ạđ nh d ng easy-to-deploy , v i đ nh d ng easy-to-deploy b n có th d dàng install ngị ạ ớ ị ạ ạ ể ễ ứ
d ng vào máy client .ụDeploy : tri n khai ch ng trình t i máy client.ể ươ ớDeployment : là quá trình đem ng d ng c a b n và install nó vào máy khác , đa s ứ ụ ủ ạ ốdùng thêm 1 ng d ng setup khác.ứ ụProject : là Project mình mu n đóng gói l iố ạSetup Project : là Project mình đang thao tác , c u hình project đ t o file setup.ấ ể ạSetup File : là file k t qu t o ra khi build Setup Project , file này đ cài đ t trên Target ế ả ạ ể ặComputer.
Windows Installer
Cách 1:
Các b c t o m t ch ng trình setup b ng Setup Wizardướ ạ ộ ươ ằB1. Trong Solution Explorer c a VS.net , right click vào Solution.ủTrong menu popup, vào m c Add –> New project . Xu t hi n h p tho i Add new ụ ấ ệ ộ ạproject. (H1 và H2)
Hình 1
Trong h p tho i Add new project:ộ ạ
Hình 2
B2.
- Bên trái là Project Types: Ch n Other Project Types –> Setup and Deploymentọ- Bên ph i là Templates: Ch n Setup Wizard.ả ọĐ t tên Project m i vào tr ng nameặ ớ ườCh n đ ng d n c n l u th m c t i tr ng Location ọ ườ ẫ ầ ư ư ụ ạ ườSau khi click Ok, VS.net sẽ t đ ng hi n th h p tho i là Setup Wizard (1 of 5). Click ự ộ ể ị ộ ạch n Next (H3)ọ
Hình 3:
Hình 4
B3. H p tho i th 2 là Setup Wizard (2 of 5) xu t hi n . (H4)ộ ạ ứ ấ ệH p tho i này cho phép ch n ki u Projectộ ạ ọ ểTrong tr ng h p này chúng ta gi s đóng gói ng d ng Windows nên đánh d u ườ ợ ả ử ứ ụ ấcheck vào radio button : Create a setup for a Windows application.
Còn n u là ng d ng Web thì ta ch n radio button : Create a setup for a web ế ứ ụ ọapplication.
Next ti p :ế
Hình 5
B4. H p tho i th 3 là Setup Wizard (3 of 5) xu t hi n . (H5)ộ ạ ứ ấ ệH p tho i này ch a các lo i output mà chúng ta có th đ a vào file Setupộ ạ ứ ạ ể ưXXX là tên project c n đóng gói .ầ* Localized resources from XXX :
* XML Serialization Assemblies from XXX :
* Content Files from XXX : ch a toàn b file ch a trong project XXX , cái này không c n ứ ộ ứ ầthi t ph i ch n.ế ả ọ* Primary output from XXX : ch a file exe và file dll c a prject XXX , cái này t t nhiên ứ ủ ấph i ch n r i.ả ọ ồ* Source files from XXX : ch a file source code c a project c n đóng gói nh file css , vb ,ứ ủ ầ ư
cpp …
* Debug Symbols from XXX : ch a m t s file h tr debug c a d án .ứ ộ ố ỗ ợ ủ ự* Documentation Files XXX : (tài li u XML c a d án, cái này liên quan đ n các ệ ủ ự ếcommnets vi t theo qui t c convention c a .Net) . Có th đ a vào ho c không.ế ắ ủ ể ư ặ* Built Output from …: t o ra file MSIạ* Primary Output (ch a các DLL và EXE do Project phía trên t o ra) - đ ng nhiên ph i ứ ạ ươ ảđ a vàoưB n mu n bi t thêm thông tin thì có th xem Description bên d i c a h p tho i đó.ạ ố ế ể ở ướ ủ ộ ạSau khi ch n xong nh n Next.ọ ấB5. H p tho i th 4 là Setup Wizard (4 of 5) xu t hi n (xem H6)ộ ạ ứ ấ ệ
Hình 6
H p tho i cho phép ch n file đính kèm theo nh file Help , ReadMe …ộ ạ ọ ư
N u mu n thêm file nào thì ch n Add à ch n đ ng d n c a file đó. N u không thì ế ố ọ ọ ườ ẫ ủ ếch n Next.ọB6. H p tho i th 5 xu t hi n Setup wizard (5 of 5) thông báo tóm t t n i dung k t ộ ạ ứ ấ ệ ắ ộ ếqu . (xem H8)ả
B7. Ch n Finish đ k t thúc quá trình t o file cài đ t .ọ ể ế ạ ặB8. Sau khi nh n nút Finish trong Wizard cu i cùng thì màn hình (xem H8) hi n ra.ấ ố ệ
Hình 8: File System Designer
Trong Solution Explorer xu t hi n thêm Project , ng i ta g i là Setup Project .ấ ệ ườ ọ
T i đây có th t m th i g i là xong , nh ng chúng ta ph i qua m t s b c c u hình đớ ể ạ ờ ọ ư ả ộ ố ướ ấ ể
t o ra file setup đóng gói ph n m m theo ý mình .ạ ầ ề__________________
Các lo i Setup EditorsạKhi b n tri n khai 1 ng d ng , b n mu n th c hi n 1 thao tác đ c bi t nào đó nh ạ ể ứ ụ ạ ố ự ệ ặ ệ ưthay đ i c u trúc th m c c a ng d ng trên máy client , thêm 1 s registry , và đ t ổ ấ ư ụ ủ ứ ụ ố ặm t s đi u ki m ki m tra đ c bi t nào đó , thay đ i GUI trong quá trình cài đ t . V i ộ ố ề ệ ể ặ ế ổ ặ ớVS.NET b n có th làm đi u đó r t d dàng . VS.NET cung c p m t s editor sau :ạ ể ề ấ ễ ấ ộ ố* File System Editor: editor này đ c dùng đ add files vào gói cài đ t .ượ ể ặ* Registry Editor: editor này b n có th thêm m t s key vào registry c a máy client .ạ ể ộ ố ủ* File Types Editor: editor này cho phép liên k t lo i file nào đó t i ng d ng c a b nế ạ ớ ứ ụ ủ ạ* User Interface Editor: editor này cho phép b n c u hình m t s GUI c a dialog đ c ạ ấ ộ ố ủ ượshow trong su t quá trình cài đ t .ố ặ* Custom action s Editor: v i editor này , b n t ch đ nh ch ng trình nào đó mà b n ớ ạ ự ỉ ị ươ ạmu n installer g i khi install hay uninstall.ố ọ* Launch condition s Editor: editor này cho phép b n ki m tra các yêu c u t i thi u cho ạ ể ầ ố ể
ng d ng c a b n install trên máy client .ứ ụ ủ ạM c ti p theo , b n sẽ tìm hi u sâu h n v t t c editor trên .ụ ế ạ ể ơ ề ấ ả1.1. File System Editor
Nhìn cái tên là b n bi t editor này có ch c năng gì , editor này cho phép b n add vào ạ ế ứ ạProject Output nh ng file nh assemply , các file output vào th m c xác đ nh nào đó , ữ ư ư ụ ịb n có th xác đ nh v trí n i các file này sẽ đ c install t i máy client . File System ạ ể ị ị ơ ượ ớEditor m b ng cách sau :ở ằ
- Click ph i Project trong Solution Explorer , và ch n View à File System đ hi n th File ả ọ ể ệ ịSystem . T i đây b n có th ch đ nh các file cài đ t . (H13)ạ ạ ể ỉ ị ặ- Trên c a s File System (m c đ nh đang đ c m , n u ch a có th m ra b ng cách ử ổ ặ ị ượ ở ế ư ể ở ằnh n ph i chu t trên project cài đ t -> View -> File System)ấ ả ộ ặFile System Editor cung c p m t s folder đ c bi t đ c đ nh nghĩa tr c , mà b n có ấ ộ ố ặ ệ ượ ị ướ ạ
th add vào gói cài đ t c a b n .Môt s folder quan tr ng trong File System Editor là:ể ặ ủ ạ ố ọ* Application Folder: Application Folder đ i di n cho th m c sau : ạ ệ ư ụ[ProgramFilesFolder][Manufacturer][ProductName]. Th m c Manufacturer và ư ụProductName sẽ đ c ch đ nh b ng c a s Properties .ượ ỉ ị ằ ử ổ* Global Assembly Cache Folder: Th m c này cho phép b n thêm các assembly đ c ư ụ ạ ượinstall d i d ng shared assemblies trên máy client .ướ ạ* User’s Desktop: ch đ nh các files sẽ xu t hi n trên Desktop ng i dùng . V tr m c ỉ ị ấ ệ ườ ị ị ặđ nh th ng là folder [DriveName]\Documents and Settings\[UserName]\Desktop, v i ị ườ ớUserName đ i di n cho tên tài kho n c a ng i dùng trên máy client.ạ ệ ả ủ ườ* User’s Program Menu: đ ng d n m c đ nh th ng là [DriveName]\Documents and ườ ẫ ặ ị ườSettings\[UserName]\Start Menu\Programs, v i UserName đ i di n cho tên tài kho n ớ ạ ệ ảc a ng i dùng trên máy client.ủ ườVD :
- T o thêm th m c Bin, Database (gi s a có dùng file CSDL Access) b ng cách nh n ạ ư ụ ả ử ằ ấph i chu t trên bi u t ng Application Folder -> Add -> Folder (xem H13).ả ộ ể ượ
Hình 13: Add th m cư ụ- Kéo th bi u t ng Primary output … trong th m c Application Folder vào th m c ả ể ượ ư ụ ư ụBin v a t o. T c là ta mu n các file EXE và file DLL(H14)ừ ạ ứ ố
Hình 14 : Add file
- Đ a t p tin .mdb vào trình cài đ t (n u s d ng CSDL Access) b ng cách nh n ph i ư ậ ặ ế ử ụ ằ ấ ả
chu t trên bi u t ng Application Folder -> Add -> File … Ch n t p tin .mdb c n thi t ộ ể ượ ọ ậ ầ ế(H16)
- T ng t nh v y ta có th s p x p các file sau khi cài đ t vào các th m c mong ươ ự ư ậ ể ắ ế ặ ư ụmu n , b ng các t o các th m c con trong Application Folder r i kéo các file trong th ố ằ ạ ư ụ ồ ưm c con Application Folder vào th m c con t ng ng.ụ ư ụ ươ ứ
Hình 15 : Insert file database
L u ý : Ban đ u , File System Designer ch hi n th m t s th m c th ng đ c s ư ầ ỉ ệ ị ộ ố ư ụ ườ ượ ửd ng . B n có th liên k t thêm các th m c b ng cách nh p ph i vào vùng tr ng và ụ ạ ể ế ư ụ ằ ấ ả ốch n Add Special Folder . Có các tùy ch n ánh x đ n th m c Font , Favorites , Starup ọ ọ ạ ế ư ụ… c a máy tính , cho phép b n cài đ t các file và các shortcut các v trí khác nhau .ủ ạ ặ ở ịL u ý : Khi các b n s p x p các file các th m c khác nhau , sẽ nh h ng t i đ ng ư ạ ắ ế ở ư ụ ả ưở ớ ườd n t ng đ i c a các file liên quan đ n nhau . VD nh file CSDL , do đó b n ph i đ m ẫ ươ ố ủ ế ư ạ ả ảb o source code c a b n thay đ i phù h p đ ng d n đó .ả ủ ạ ổ ợ ườ ẫ1.1.1. T o shorcutạ- T o shortcut cho ch ng trình: nh n ph i chu t trên bi u t ng Primary output … -> ạ ươ ấ ả ộ ể ượCreate Shortcut to Primary output From … m t shortcut đ c t o ra trong cùng th ộ ượ ạ ưm c à đ t l i tên n u mu n à kéo bi u t ng này vào User’s Desktop, n u mu n trên ụ ặ ạ ế ố ể ượ ế ốDesktop sẽ có shortcut c a ch ng trình, th c hi n t ng t cho shortcut trong User’s ủ ươ ự ệ ươ ựPrograms Menu (không dùng cho Web Application)
Hình 16
1.1.2. Add Assembly vào GAC
- Gi s b n mu n add thêm 1 assembly đ c l p đ c dùng b i ng d ng c a b n vào ả ử ạ ố ộ ậ ượ ở ứ ụ ủ ạth m c Global Assembly Cache . Đ làm đi u này , b n m File System Editor b ng ư ụ ể ề ạ ở ằcách ch n menu View ->Editor ->File System Editor . Sau đó , click chu t ph i vào folderọ ộ ả
File System và ch n Add Special Folder -> Global Assembly Cache Folder . Khi đó sẽ xu tọ ấ
hi n th m c con c a File System . Bây gi b n có th add assembly c a b n vào ệ ư ụ ủ ờ ạ ể ủ ạGlobal Assembly Cache folder. B ng cách click ph i Global Assembly Cache folder và ằ ảch n Add -> Assembly . Trong h p tho i Component Selector , ch n assembly mà b n ọ ộ ạ ọ ạmu n add vào . Sau khi add xong thì lúc install nó sẽ copy assembly đó vào folder Global ốAssembly Cache máy client .ở
Hình 17
1.2. Registry Editor
- Nhìn cái tên là b n đã bi t editor này làm gì , nó cho phép qu n lý các giá tr các ạ ế ả ịregistry key c a máy client . M c đ nh registry editor hi n th các key chu n c a ủ ặ ị ệ ỉ ẩ ủWindows registry nh sau : HKEY_CLASSES_ROOT, HKEY_CURRENT_USER, ưHKEY_LOCAL_MACHINE, và HKEY_USERS
- Vi c khi thêm hay thi t l p registry trong quá trình cài đ t là vi c làm th ng xuyên ệ ế ậ ặ ệ ườ“ huy n” , h u nh 1 ng d ng nào đó đ u ghi thêm “tí t o” nào đó đ đánh d u s ở ệ ầ ư ứ ụ ề ẹ ể ấ ựhi n di n c a nó trong máy client , ngay c các thành ph n portable cũng không thoát ệ ệ ủ ả ầkh i ngo i l này ỏ ạ ệ- Click chu t ph i vào Setup Project à View à Registry . C a s Registry On Target ộ ả ử ổMachine hi n lên (H17).ệ
Hình 18
VD :
- Registry editor đ i di n cho c u trúc c a registry editor máy client . Vd , chúng ta ạ ệ ấ ủ ởadd 1 key n m trong trong HKEY_LOCAL_MACHINE. B ng cách click ph i vào nhánh ằ ằ ảHKEY_LOCAL_MACHINE , ch n New Key , và key con tên là Software. C nh th b n cóọ ứ ư ế ạ
th add các key phân c p gi ng nh hình sau :ể ấ ố ư
Hình 19
- Sau đó b n install ph n m m t i máy client thì c u trúc phân nhánh key trong registryạ ầ ề ạ ấ
c a máy client gi ng y chang trong lúc b n c u hình b ng Registry Editor nh hình ủ ố ạ ấ ằ ưtrên.
- Các thông tin th ng t o là [Tên công ty] , [version] v.v…ườ ạ1.3. File Types Editor
- M c đích : b n mu n ng d ng c a b n t đ ng m khi ng i dùng ch n ki u file ụ ạ ố ứ ụ ủ ạ ự ộ ở ườ ọ ểnào đó trong Windows Explorer.
- B n có th đăng ký các ki u file b ng cách ch nh s a Registry b ng tay . Tuy nhiên ạ ể ể ằ ỉ ử ằcách đó r t nguy hi m d gây h ng Windows n u user không am hi u rõ v registry . ấ ể ễ ỏ ế ể ềCó m t cách hay h n là th c hi n các c u hình này m t l t (lúc cài đ t) v i các tính ộ ơ ự ệ ấ ộ ượ ặ ớnăng đi cùng v i Setup Project .ớ
- 1 . Click ph i chu t vào Setup Project trong Solution Explorer và ch n View à File ả ộ ọTypes đ hi n th File Type Designer (H14)ể ệ ị
Hình 20 : File Type Designer .
- 2. Click ph i File Type Designer và ch n Add File Type . Đ i v i m i ki u file b n ph i ả ọ ố ớ ỗ ể ạ ảng am hi u rõ v registry . Có m t cách hay h n là th c hi n các c u hình này m t l t ể ề ộ ơ ự ệ ấ ộ ượ(lúc cài đ t) v i các tính năng đi cùng v i Setup Project .ặ ớ ớ- 1 . Click ph i chu t vào Setup Project trong Solution Explorer và ch n View à File ả ộ ọTypes đ hi n th File Type Designer (H14)ể ệ ị
Property Purpose
Name Tên có ph m vi trong File types editor đ đ nh danh 1 lo i file đ c bi t nào đó .ạ ể ị ạ ặ ếCommand Ch đ nh file exe nào đ c ch y khi ng i dùng m file có đuôi thu c tính ỉ ị ượ ạ ườ ở ở ộExtensions .
Extensions Ch rõ đuôi m r ng file v i cách th c thi đ c đăng ký trên .ỉ ở ộ ớ ự ượ ởIcon Ch đ nh icon cho file đó.ỉ ịDescription Cung c p 1 s thông tin miêu t thêm v file.ấ ố ả ề
Hình 21 : Thêm 1 ki u fileể- 3. Thêm các hành đ ng h tr cho ki u file, có 3 m u thông tinộ ỗ ợ ể ẩ* Name : mô t hành đ ng (VD , trong 1 menu ng c nh c a Windows Explorer)ả ộ ữ ả ủ* Argument : là các đ i s dòng l nh sẽ đ c truy n cho ng d ng . Bi u t ng “%l” ố ố ệ ượ ề ứ ụ ể ượnghĩa là truy n tên file . Thông th ng , 1 thao tác open sẽ ch truy n tên file , trong khi ề ườ ỉ ềcác hành đ ng khác có th truy n thêm đ i s (VD l nh print có th truy n tên file và ộ ể ề ố ố ệ ể ềđ i s /p). Ch ng trình b n ph i ki m tra các đ i s dòng l nh và th hi n hành ố ố ươ ạ ả ể ố ố ệ ự ệđ ng thích h p (trong tr ng h p này là m file) , nh đ c mô t trong H15ộ ợ ườ ợ ở ư ượ ả* Verb : cho bi t ki u hành đ ng , nh open hay printế ể ộ ưHình 22 : Thêm hành đ ng cho ki u fileộ ểL u ý : Đ ng s d ng File Type Designer đ ti p qu n các ki u file căn b n .bmp , .mp3ư ừ ử ụ ể ế ả ể ả
, .html . H u h t ng i dùng máy tính đ u có các ng d ng mà h u chu ng đ truy ầ ế ườ ề ứ ụ ọ ư ộ ểxu t các ki u file này , và vi c ghi đè các s thích này ch làm t c gi n ng i dùng c a ấ ể ệ ở ỉ ứ ậ ườ ủb n mà thôi.ạ1.4. Custom Actions Editor
- Editor này cho phép b n liên k t quá trình cài đ t v i ch ng trình khác sẽ đ c g i ạ ế ặ ớ ươ ượ ọkh i đ ng vào cu i quá trình cài đ t .Đ t o 1 custom action , t o 1 .dll hay .exe đ i ở ộ ố ặ ể ạ ạ ạdiên cho custom action và add nó vào deployment project. Nên nh r ng custom action ớ ằch đ c th c thi vào lúc cu i quá trình cài đ t .ỉ ượ ự ố ặ- VD : N u b n mu n t o dialog ReadMe , có th User Interface Editor có h tr b n ế ạ ố ạ ể ỗ ợ ạ
làm đi u đó , nh ng b n mu i dialog ReadMe đ ng , nhi u ch c năng nh liên k t ề ư ạ ố ộ ề ứ ư ếwebsite , có hình nh … V i Custom Actions b n có th add b t c cái gì mà do b n t ả ớ ạ ể ấ ứ ạ ựcode ra, nh : copy file sang th m c nào đó , đi u khi n GAC , Registry , IE , t o ư ư ụ ề ể ạdatabase v.v… . Có th nói là không gi i h n kh năng , vì chính do b n t tay code ra ể ớ ạ ả ạ ựmà .
- Đ add custom action vào Setup Project . Click ph i vào Setup Project trong Solution ể ảExplorer và ch n View->Custom Actions.ọ
Hình 23 : M Custom Actions Editorở- Sau đó sẽ có c a s gi ng hình sau : Custom Actions can be divided into 4 categories:ử ổ ố
Hình 24 : Custom Action Editor
- Custom Actions đ c chia làm 4 category sau : Install, Commit, Rollback, and ượUninstall . N u b n mu n có dialog ReadMe riêng b n vào cu i quá trình cài đ t thì ế ạ ố ạ ố ặch n Installọ1.5. Launch condition s Editor
- Dùng editor này , b n có đ t đi u ki n nào đó đ c ki m tra ph i có thì m i b t đ u ạ ặ ề ệ ượ ể ả ớ ắ ầcài đ t ng d ng đ c . N u ng i dùng c g ng cài đ t ng d ng vào máy c a h , mà ặ ứ ụ ượ ế ườ ố ắ ặ ứ ụ ủ ọkhông th a đi u ki n đã xác đ nh thì không th cài đ t ti p đ c . Khi đ t đi u ki n ỏ ề ệ ị ể ặ ế ượ ặ ề ệlaunch condition , b n có th ch rõ đi u ki n nh ki m tra s t n t i 1 file xác đ nh , ạ ể ỉ ề ệ ư ể ự ồ ạ ịregistry key nào đó , hay 1 component nào đó .Launch condition editor có 2 tùy ch n ọcho b n dùng đ c minh h a nh sau :ạ ượ ọ ư* Search Target Machine: tùy ch n này cho phép b n ch đ nh cách search cái b n c n ọ ạ ỉ ị ạ ầtrên máy client . Bao g m nh tìm fie , tìm registry key ….ồ ư* Launch conditions : tùy ch n này cho phép b n ki m tra s có m t c a ng d ng c ọ ạ ể ự ặ ủ ứ ụ ụth nào đó nh IIS (Internet Information Server), .NET Framework …trên máy client .ể ư
Hình 25
B ng sau li t kê danh sách launch condition có th b n c u hình thông qua Launch ả ệ ể ạ ấconditions editor.
Condition Purpose
File Launch Dùng đ tìm 1 file nào đó trên máy clientểRegistry Launch Installation Tìm 1 key nào đó trên máy client
Windows Installer Launch Tìm file Windows installer
.NET Framework Launch Ki m tra t n máy client có .NET Framework hay khôngể ồInternet Information Services Launch Ki m tra IISểB n dùng Lauch Condition có tác d ng là ki m tra m t s đi u kiên ph i th a tr c khiạ ụ ể ộ ố ề ả ỏ ướ
install ng d ng .ứ ụCác đi u ki n ki m tra th ng là tìm file , tìm khóa registry , tìm Component nào đó hayề ệ ể ườ
1 đi u ki n tri n khai đ c bi t nào đó .ề ệ ể ặ ệ1. Click ph i vào Setup Project vào View vào Launch Condions . C a s Launch ả ử ổConditions xu t hi n .ấ ệ
Hình 26
2. Click chu t ph i vào folder Searh Target Machine . Ch n m t s giá tr sau :ộ ả ọ ộ ố ịa. Add file Search
b. Add Registry Search
c. Add Windows Installer
3. Click chu t ph i vào Laun Conditions à Add Launch Conditions .ộ ảTìm thêm thông tin trong MSDN :
Trong C a s Launch Conditions có 2 categories : Search Target Machine và Launch ử ổConditions . Th ng trong Launch Condisions có s n 1 Launch Condition là .NET ườ ẵframework . B n th y nh ng thu c tính c a Launch Conditions .NET framework nh ạ ấ ữ ộ ủ ưhình sau :
Hình 27
Trong c a s Properties b n th y các thu c tính quan tr ng sau :ủ ổ ạ ấ ộ ọ- SupportedRuntimes : sẽ là con s miêu t version c a .NET Framework , mà ng d ng ố ả ủ ứ ục a b n c n , dùng “;” đ li t kê nhi u version .NET Framework mà ng d ng c a b n ủ ạ ầ ể ệ ề ứ ự ủ ạdùng
- InstallUrl : là liên k t n i framework có th download v .ế ơ ể ềKhi máy client ch y file setup , đi u đ u tiên nó sẽ ki m tra có FrameWork đ c cài ạ ề ầ ể ượ ởmáy client ch a . N u không có , VS sẽ h i yes/no mu n cài đ t FrameWork t đ ng ư ế ỏ ố ặ ừ ườlink InstallUrl . Do đó b n có th cho thu c tính InstallUrl là 1 đ ng d n t ng đ i t ạ ể ộ ườ ẫ ươ ố ừCD hay th m c nào cũng đ c .ư ụ ượ1.5.2. Search for a file
Hình sau ví d cho tìm file notepad.exe trong th m c h th ng .ụ ư ụ ệ ốChú ý d u [System Folder] ch đ n th m c h th ng (th m c Windows n u sài ấ ỉ ế ư ụ ệ ố ư ụ ếWinXP) c a máy client . Có thu c tính Properites có giá tr : FILEEXISTS1 , nghĩa là ki mủ ộ ị ể
tra t n t i hay không . Khi setup đi u ki n Tìm file sẽ đ c dò tìm đúng tên file t i th ồ ạ ề ệ ượ ạ ưm c đ c ch đ nh , Có th đi n thêm thông tin nh Date , Version … đ tìm chính xác ụ ượ ỉ ị ể ề ư ểfile c n tìm . Thu c tính Depth = 2 : t c là đ sâu tìm , th m c cha là c p 1 , th m c ầ ộ ứ ộ ư ụ ấ ư ụcon là c p 2.ấ
Hình 28
1.5.3. Search for a registry entry
Trong ví d này sẽ tìm khoá registry MDAC MDAC (Microsoft Data Access Components) ụ máy client ,ở
RegKey : đ ng d n c n tìmườ ẫ ầValue : giá tr c n tìmị ầ
Hình 29
1.5.4. Ki m tra t n t i .NET Framework trên máy client .ể ồ ạ
Ch n menu View -> Editor -> Launch condition s . Trong Launch condition s Editor, ọch n Requirements on Target Machine node và ch n menu Action -> Add .NET ọ ọFramework Launch condition . Bây gi b n đã t o .NET Framework launch condition , ờ ạ ạkhi ng i dùng có ch y ch ng trình cài đ t mà không có .NET Framework sẽ nh n ườ ạ ươ ặ ậđ c thông báo r ng .NET Framework c n đ c cài đ t tr c khi ti n trình cài đ t ượ ằ ầ ượ ặ ướ ế ặph n m m .ầ ề- C1 : B n cài đ t .NET Framework b ng th công trên máy client :ạ ặ ằ ủ* B n có th download Dotnetfx.exe t website Microsoft …ạ ể ừ* Client có th t i Dotnetfx.ext băng tính năng Microsoft Windows Updateể ả* B n có th tìm th y Dotnetfx.exe trên đĩa cài đ t Microsoft Visual Studio .NETạ ể ấ ặ* Khi cài đ t , ch ng trình cài đ t sẽ ki m tra máy client có NetFramework không , n uặ ươ ặ ể ế
không có thì nó sẽ hi n ra thông báo (H13):ệ
Hình 30
N u nh n No thì thoát kh i trình cài đ tế ấ ỏ ặN u nh n Yes thì trình sẽ t đ ng t i trang web down NetFramework t ng ng.ế ấ ự ộ ớ ươ ứ- C2 : Click chu t ph i vào Setup Project à ch n Properties à nh n nút Prerequisites…ộ ả ọ ấ
Hình 31
Hi n lên dialog Prerequisites . B n đánh d u check vào ph n .Net FrameWord 2.0 ho c ệ ạ ấ ầ ặ3.5 v i VS2008ớ
Hình 32
- dialog này b n check vào các component (VD : .Net Framework 2.0) , khi đó lúc Ở ạsetup ph n m m Windows Installer sẽ ki m tra các component đó có đ c cài s n vào ầ ề ể ượ ẵmáy client , n u có thì cho cài ti p còn ng c l i không có thì sẽ cài . Mà các component ế ế ượ ạsẽ đ c l y ra t n i mà b n ch đ nh các option bên d i c a dialog Prerequisitesượ ấ ừ ơ ạ ỉ ị ở ướ ủ- Download Prerequisites from the component vendor’s web site : ch đ nh component ỉ ịđ c install t website c a nhà s n xu t . Đây là tuỳ ch n m c đ nh .ượ ừ ủ ả ấ ọ ặ ị- Download Prerequisites from the same location as my application : ch đ nh ỉ ịcomponent đ c setup t th m c c a ng d ng . Do đó khi ch n tuỳ ch n này , nó sẽ ượ ừ ư ụ ủ ứ ụ ọ ọcopy các gói component c n thi t t máy ch vào output c a Setup Projectầ ế ừ ủ ủ- Download Prerequisites from the following location. : ch đ nh component đ c installỉ ị ượ
t th c m c do b n t ch n . Nh n nút Browse vào th m c cài đ t .ừ ư ụ ạ ự ọ ấ ư ụ ặ- C3 : B n có th t o m t bootstrapper setup đ cài đ t .NET Framework và r i cài đ t ạ ể ạ ộ ể ặ ồ ặ
ng d ng m t cách t đ ng . Cách này làm cho vi c tri n khai thêm r c r i và không ứ ụ ộ ự ộ ệ ể ắ ốmang l i l i ích nào thuy t ph c trong h u h t các tr ng h p.ạ ợ ế ụ ầ ế ườ ợ
User Interface Editor
Nhìn cái tên là b n đoán ra editor này cho phép b n tùy bi n m t dãy các h p tho i GUIạ ạ ế ộ ộ ạ
đ c hi n th trong su t quá trình cài đ t ng d ng trên máy client .ượ ể ị ố ặ ứ ụ
Hình 33
Hình trên minh h a cho User Interface Editor bao g m 2 ch đ cài đ t :ở ọ ồ ế ộ ặ* Install: vùng Iinstall li t kê các h p tho i sẽ xu t hi n khi ng i dùng ch y installer.ệ ộ ạ ấ ệ ườ ạ* Administrative Install: vùng này li t kê các h p tho i sẽ đ c xu t hi n khi ng i ệ ộ ạ ượ ấ ệ ườqu n tr h th ng uploads installer lên m ng .ả ị ệ ố ạH p tho i đ c đ nh nghĩa s n trong vùng Install và Admin đ c chia thành 3 Group ộ ạ ượ ị ẵ ượDialog n a :ữ* Start dialog boxes: Các h p tho i trong l p này sẽ xu t hi n tr c khi quá trình th c ộ ạ ớ ấ ệ ướ ựs cài đ t b t đ u .ự ặ ắ ầ* Progress dialog box: Các h p tho i trong l p này cho phép ng i dùng t ng tác l i ộ ạ ớ ườ ươ ạtrong quá trình cài đ t .ặ* Finish dialog boxes: Các h p tho i trong l p này sẽ xu t hi n khi quá trình cài đ t ộ ạ ớ ấ ệ ặthành công . Nó cũng th cho phép ng oi dùng ch y ng d ng khi cài đ t xong .ể ừ ạ ứ ụ ặ- Th c ra r t d s p x p l i các h p tho i GUI b ng cách dragging and dropping chúng ự ấ ễ ắ ế ạ ộ ạ ằt i v trí thích h p .ớ ị ợ
- B n có th tùy ch nh các thông tin , tiêu đ c a các c a s xu t hi n trong lúc install ạ ể ỉ ề ủ ử ổ ấ ệph n m m .ầ ềClick chu t ph i vào Setup Project à View à User Interface . Sẽ xu t hi n c a s User ộ ả ấ ệ ủ ổInterface :
Hình 34
- Ch n t ng h p tho i và ch nh s a các thông tin trong c a s Properties (n u không cóọ ừ ộ ạ ỉ ử ử ổ ế
c a s này thì vào menu View à Properties Window ho c nh n F4) . B n có th thêm ủ ổ ặ ấ ạ ểm t Dialog c a mình , b ng cánh nh n vào Group Dialog à Add Dialog .ộ ủ ằ ấ1.6.1 Thêm h p tho i Splash vào trong quá trình cài đ t .ộ ạ ặ- B ng cách dùng User Interface Editor, b n có th insert thêm 1 h p tho i ph vào ằ ạ ể ộ ạ ụchu i các h p tho i trên , b ng cách ch n h p tho i Start t user interface editor và ỗ ộ ạ ằ ọ ộ ạ ừch n menu Action->Add Dialog . Trong c a s Add Dialog , ch n h p tho i Splash trong ọ ử ổ ọ ộ ạdanh sách . Khi h p ho i Splash đ c thêm vào user interface editor, b n có th drag ộ ạ ượ ạ ểand drop h p tho i đ s p x p v trí thích h p .Vì h p tho i Splash luôn luôn xu t hi nộ ạ ể ắ ế ị ợ ộ ạ ấ ệ
vào lúc b t đ u cài đ t , nên ta di chuy n h p tho i Splash vào đ u dãy h p tho i . ắ ầ ặ ể ộ ạ ầ ộ ạTrong h p tho i splash , b n có th thêm hình nh hi n th b ng cách Click ph i chu t ộ ạ ạ ể ả ể ị ằ ả ộvào nó ch n Properties. Trong c a s Properties ,đ t thu c tính SplashBitMap đ ng ọ ử ổ ặ ộ ườd n c a hình mà b n mu n . Gi ng nh h p tho i Splash , có m t s h p tho i đ nh ẫ ủ ạ ố ố ư ộ ạ ộ ố ộ ạ ịnghĩa s n nh License Agreement, Read Me, Register User, Customer Information và ẵ ưv.v… Hình sau đâu mình h a m t s tùy ch n h p tho i trong Add Dialog box.ọ ộ ố ọ ộ ạ
Hình 35
1. Add Merge Module
Khai báo các Merge Module cho trình cài đ t: trên Solution Explorer, nh n ph i chu t ặ ấ ả ộtrên project cài đ t -> Add -> Merge Module. N u trong ng d ng có s d ng các thành ặ ế ứ ụ ử ụph n không có trong .Net FrameWork, ph i ch n và đ a vào trình cài đ t.ầ ả ọ ư ặ- Ví d ng d ng có báo bi u Crystal Report là ch ng trình đ c l p v i .Net ụ ứ ụ ể ươ ộ ậ ớFrameWork, c n ph i đ a các Merge Module sau vào trình cài đ t:ầ ả ư ặa. Crystal_managed2003.msm
b. Crystal_Database_Access2003.msm
c. Crystal_Database_Access2003_enu.msm
d. Crystal_regwiz2003.msm
Hình 36
Khai báo License key: v i m t s Merge Module, ph i khai báo License Key ví d ớ ộ ố ả ụCrystal_regwiz2003.msm theo các b c:ướ
a. Trên Solution Explorer, ch n Merge Module mu n khai báo License key và nh n phímọ ố ấ
F4 đ m c a s Properties :ể ở ử ổ
Hình 37
Trên c a s Properties, nh n vào bi u t ng d u c ng , nh p License Keyử ổ ấ ể ượ ấ ộ ậ
Hình 38
License Key l y b ng cách vào Menu Help à About Microsoft Visual Studioấ ằ
Hình 39
: L u ý : b n có th add Crystal Report vào đ y.ư ạ ể ấ2. C u hình các thu c tính c a Setup Projectấ ộ ủTr c khi Build Setup Project, c n xác đ nh Propreties cho Setup Project: Right Click ướ ầ ịvào Setup Project trong Solution Explorer, ch n Project Propertities :ọ
Hình 40
Output file name : Xác đ nh v trí l u file Windows Installer (.Msi , .Msm ) . M c đ nh ị ị ư ặ ịđ c l u . B n có th nh n nút (…) đ ch n v trí đ ng d n khác .ượ ư ở ạ ể ấ ể ọ ị ườ ẫPackages file : Lo i đóng gói , ch n m t trong các các giá tr sau :ạ ọ ộ ịAs loose uncompressed files Các file đ c đ a vào trong 1 file là file .MSIượ ưIn setup file Các file đ c nén thành 1 file .MSI (m c đ nh) .ượ ặ ịIn cabinet file(s) Các file đ c nén thành 1 hay nhi u file .Cab .ượ ềCompression : ch đ nh cách nén file setup , có 3 tùy ch n , không có tác d ng đ i v i ỉ ị ọ ụ ố ớtùy ch n As loose uncompressed files m c Packages fileọ ở ụOptimized for speed Các file đ c nén đ install nhanh h n , nh ng kích th c file ượ ể ơ ư ướsetup sẽ l nớFiles will be compressed to install faster, but will result in a larger file size.
Optimize for size Các file sẽ đ c nén thành file setup có kích th c nh , nh ng install ượ ướ ỏ ưch m h nậ ơNone Các file không đ c nén.ượCab size : Ch đ nh kích th c l n nh t cho file .Cab . Tùy ch n này ch các tác d ng khi ỉ ị ướ ớ ấ ọ ỉ ụ
m c Package files đ c ch n In cabinet file(s) . Có 2 tùy ch n chính múc nàyở ụ ượ ọ ọ ở
Option Description
Unlimited T o 1 file .Cab duy nh t .ạ ấCustom T o 1 hay hay nhi u file .Cab , m i file .Cab có kích th c l n nh t đ c ch ạ ề ỗ ướ ớ ấ ượ ỉđ nh textbox Custom.ị ở3. Các thông tin c u hình Setup Project c a s Properties.ấ ở ử ổTrong c a s Solution Exlorer , ch n Project Setup , trong c a s Properties (n u khôngử ổ ọ ử ổ ế
có c a s này thì vào menu View à Properties Window ho c nh n F4) sẽ hi n lên danh ủ ổ ặ ấ ệsách các thông tin mà ta có th c u hình cho file setup ch ng trình c a mình .ể ấ ươ ủH u h t các thông tin thi t l p này đ u là mô t đ c s d ng trong Setup Wizard hay ầ ế ế ậ ề ả ượ ử ụtrong c a s Add/Remove Programs.ử ổTên thu c tính Ý nghĩaộAddRemoveProgramsIcon Ch đ nh icon xu t hi n trong h p tho i Add/Remove ỉ ị ấ ệ ộ ạPrograms
Author Tên tác gi c a ch ng trìnhả ủ ươDescription Miêu t m t s thông tin phả ộ ố ụDectectNewerInstalledVersion Lúc cài đ t có ki m tra phiên b n m i h n không , m c ặ ể ả ớ ơ ặđ nh là TrueịInstallAllUsers Ch ng trình cài đ t có đ c phép s d ng b i t t c user có trong máyươ ặ ượ ử ụ ở ấ ả
không . M c đ nh là Falseặ ịKeywords Ch đ nh m t s t khóa đ tìm ki m ch ng trìnhỉ ị ộ ố ừ ể ế ươLocalization Xác đ nh vùng văn hóa c a ch ng trìnhị ủ ươManufacturer Tên c a nhà s n xu tủ ả ấManufacturerUrl Đ a ch Website c a nhà s n xu tị ỉ ủ ả ấPostBuildEvent
PreBuildEvent
ProductCode S s n ph m , s này là duy nh t , m c đ nh VS t o s n cho mình , s này ố ả ẩ ố ấ ặ ị ạ ẵ ốđ nh danh cho ph n m m c a mình là duy nh t trên máy cài đ tị ầ ề ủ ấ ặProductName Tên s n ph m, th ng tên xu t hi n trong add/remove program trongả ẩ ườ ấ ệcontrol panle
RemovePreviousVersions Ch đ nh có xóa phiên b n cũ tr c khi cài đ t phiên b n m iỉ ị ả ướ ặ ả ớ
hay không.
M c đ nh là Falseặ ịRunPostBuildEvent Ch đ nh các l nh PostBuildEvent ch y khi này .ỉ ị ệ ạ
M c đ nh là On succesful build , t c là khi cài đ t xong r i thì l nh đó m iặ ị ứ ặ ồ ệ ớch y .ạSearchPath
SupportPhone Ch đ nh s đi n tho i đ h tr v s n ph mỉ ị ố ệ ạ ể ỗ ợ ề ả ẩSupportUrl Ch đ nh đ a ch trang web đ h tr v s n ph mỉ ị ị ỉ ể ỗ ợ ề ả ẩTargetPlatform Ch đ nh N n máy đích là gì . M c đ nh là x86 (t c là ng d ng win32 ỉ ị ề ặ ị ứ ứ ụbit)
Title Ch đ nh tiêu đ , tiêu đ này xu t hi n trong c a s cài đ tỉ ị ề ề ấ ệ ử ổ ặUpgradeCode Ch đ nh m t s duy nh t , đ i di n cho nhi u version c a ng d ng.ỉ ị ộ ố ấ ạ ệ ề ủ ứ ụM c đ nh dãy s này do VS t o raặ ị ố ạVersion phiên b n c a ng d ng . VD 1.0.0ả ủ ứ ụ3.1. Deploy IIS Settings
M t đi u quan tr ng khi b n tri n khai ng d ng web ASP.NET là làm th nào c u ộ ề ọ ạ ể ứ ụ ế ấhình m t s thông s trong IIS .ộ ố ốN u ch n cách tri n khai ng web b ng cách copy nh l nh XCOPY , Windows ế ọ ể ứ ằ ư ệExplorer, hay FTP , thì không th c u hình thông s c a IIS đ c . B n ph i c u hình ể ấ ố ủ ượ ạ ả ấcài đ t 1 cách đ c l p . B n có th v a làm cách th công hay vi t IIS scripts đ áp ặ ộ ậ ạ ể ừ ủ ế ểd ng cài đ t vào th m c Web.ụ ặ ư ụN u b n dùng Visual Studio .NET Copy Project , 1 virtual directory m i đ c t o t ế ạ ớ ượ ạ ựđ ng cho b n trên Web server. Tuy nhiên , thông s IIS settings sẽ là thông s m c đ nhộ ạ ố ố ặ ị
c a máy ch web . Tr l i v n đ , b n có th c u hình thông s IIS m t cách đ c l o . ủ ủ ở ạ ấ ề ạ ể ấ ố ộ ộ ậN u gói ng d ng ASP.NET c a b n trong Windows installer Web setup project, b n có ế ứ ụ ủ ạ ạth ch đ nh các thông s IIS .ể ỉ ị ốĐ c u hình các thông s cho virtual directory , ch n th m c ng d ng Web File ể ấ ố ọ ư ụ ứ ụSystem Editor. Ch n Properties . Đ c minh h a nh hình sau :ọ ượ ọ ư
Hình 41
M t só thu c tính quan tr ng sau đây :ộ ộ ọ* AllowDirectoryBrowsing: thu c tính này cho phép b n c u hình dùng trình duy t th ộ ạ ấ ệ ưm c Web . Thu c tính này t ng đ c v i checkbox Directory browsing trên tab ụ ộ ươ ượ ớDirectory trong h p tho i Internet Information Services Web Site Properties . Có th ộ ạ ểđ t True ho c False.ặ ặ* AllowReadAccess: Thu c tính này t ng đ c v i checkbox Read trên tab Directory ộ ươ ượ ớtrong h p tho i Internet Information Services Web Site Properties . Có th đ t True ộ ạ ể ặho c False.ặ* AllowScriptSourceAccess: Thu c tính này t ng đ c v i checkbox Scipt Source ộ ươ ượ ớAccess trên tab Directory trong h p tho i Internet Information Services Web Site ộ ạProperties . Có th đ t True ho c False.ể ặ ặ* AllowWriteAccess: Thu c tính này t ng đ c v i checkbox Write trên tab Directory ộ ươ ượ ớtrong h p tho i Internet Information Services Web Site Properties . Có th đ t True ộ ạ ể ặ
ho c False.ặ* ApplicationProtection: Thu c tính này t ng đ c v i combobox Application ộ ươ ượ ớProtection trên tab Directory trong h p tho i Internet Information Services Web Site ộ ạProperties . Có th đ t giá tr là vsdapLow, vsdapMedium, hay vsdapHigh.ể ặ ị* AppMappings: Thu c tính này t ng đ c v i textbox Local Path trên tab Directory ộ ươ ượ ớtrong h p tho i Internet Information Services Web Site Properties . Đ ch t i đ ng ộ ạ ể ỉ ớ ườd n t i th m c web th t c a b n .ẫ ớ ư ụ ậ ủ ạ3.1.1. Specifying additional IIS Propeties
Có m t s thông s c a IIS không th c u hình v i thu c tính c a Web setup project. ộ ố ố ủ ể ấ ớ ộ ủBao g m các thông s b o m t ( anonymous access, basic authentication, hay Windows ồ ố ả ậauthentication) và thông s v c u hình l i .Tuy nhiên , b n có th khác ph c v n đ ố ề ấ ỗ ạ ể ụ ấ ềnày b ng cách khác . Đó là bao g p custom action s vào file Windows installer . Nh đã ằ ộ ưđ c p tr c đây , dùng custom action , b n có th ch y code vào lúc cu i c a quá trìnhề ậ ướ ạ ể ạ ố ủ
cài đ t trên máy client đ thao tác m t s hành đ ng ph c t p . Code có th đ nh d ng ặ ể ộ ố ộ ứ ạ ể ị ạtrong file DLL, file th c thi , script, hay assembly. Các custom action s c n đ c c u hìnhự ầ ượ ấ
b ng cách Custom action Editor thông qua menu View -> Editor -> Custom action .ằ4. Build
- B c cu i cùng t t nhiên mà b n ph i làm là build Setup Project khi mà các b c c u ướ ố ấ ạ ả ướ ấhình các b c trên đã hoàn thành .ở ướ+C1 : Click chu t ph i vào Setup Project ch n Build , ho c Rebuildộ ả ọ ặ+ C2 : Nh n nút Build, nh trong Solution Explorer ta ph i ch n tên c a Setup Project.ấ ớ ả ọ ủ+ C3 : Vào Menu Build à Ch n Build Tên_Setup_Projectọ- N u sau khi build mà thích cài th thì c vi c right click vào Setup Project và ch n ế ử ứ ệ ọ
Install.
Hình 42
- Ph n đ cài đ t ch a trong th m c Debug c a trình cài đ t g m các t p tin:ầ ể ặ ứ ư ụ ủ ặ ồ ậ
Hình 43
- T p tin Config.ini ch a các h ng thông báo l i, có th thay đ i n i dung đ thông báo ậ ứ ằ ỗ ể ổ ộ ểd hi u h n.ễ ể ơChú ý: c n có .Net Framework máy Client n u mu n b n có th g p luôn c .Net ầ ở ế ố ạ ể ộ ảFrameword vào gói Setup r i t đ ng Install t đ ng.Nh ng mà nh th thì file setup ồ ự ộ ự ộ ư ư ếsẽ chi m r t nhi u dung l ng đ y nhéế ấ ề ượ ấ
5. u đi m cách này làƯ ể :
- Nhanh , d dàng cài đ t , có giao di n GUI , không ph i vi t mã k ch b n cài đ t .ễ ặ ệ ả ế ị ả ặ- G n nh , đ n gi n , đ c tích h p s n trong b Visual Studioọ ẹ ơ ả ượ ợ ẵ ộ Ch c năng t repair , n u m t file bin nào b xoá thì khi ch y ch ng trình dialog ứ ự ế ộ ị ạ ươrepair t đ ng hi n lên và b sung file b thi u .ự ộ ệ ổ ị ế- Khi b n cài đ t 1 ng d ng , toàn b thông tin v ng d ng đ c ghi vào 1 record ạ ặ ứ ụ ộ ề ứ ụ ượtrong Windows installer database . Khi uninstall ng d ng , database sẽ ki m tra đ m ứ ụ ể ảb o r ng không ng d ng nào dính dáng t i các thành ph n c a ng d ng đang ả ằ ứ ụ ớ ầ ủ ứ ụuninstall , b ng cách y sẽ gi i quy t đ c v n đ nh c đ u DLL hellằ ấ ả ế ượ ấ ề ứ ầ- N u có l i trong quá trình cài đ t , thì có ch c năng t đ ng xóa b s ch sẽ các file ế ỗ ặ ứ ự ộ ỏ ạ
đ c copy vào máy c a client.ượ ủ6.Khuy t đi mế ể- Ch h tr các ch ng trình đ c vi t b i ngôn ng trong h .NETỉ ỗ ợ ươ ượ ế ở ữ ọ- Không có ch c năng ki m tra ph n m m nào đó đã cài t i máy client hay ch a.ứ ể ầ ề ạ ư
7.Chú ý :
a) Khi ta build file Setup Project lên n u có xu t hi n l i nh ế ấ ệ ỗ ư Error 950 c th nh sauụ ể ư
:
Error 950 Unable to find source file 'C:\Users\mr\Desktop\auxi_tms\iii\deploy\
UtilityLibrary.DLL' for assembly 'UtilityLibrary.DLL', located in '[TARGETDIR]'
Các b n vào trong forder Detected Dependencies trong file setup v a t o và ạ ừ ạki m tra xem các file .DLL có b l p nhi u hay không, trong tr ng h p này các b n ể ị ặ ề ườ ợ ạki m tra xem file UtilityLibrary.DLL có t n tài nhi u file cùng tên gi ng nhau thì b n ể ồ ề ố ạch vi c xóa b nh ng file th a r i build l i project.ỉ ệ ỏ ữ ừ ồ ạb) Khi b n t o b cài đ t b n build thành công và b n mang b cài đ t này sang m t sạ ạ ộ ặ ạ ạ ộ ặ ộ ố
máy client khác cài và ch y th trên các l n win xp, win 7 , win 8 . cũng có th say ra l iạ ử ề ể ỗ
ngo i l .trong tr ng h p b n g p thông báo l i sau :ạ ệ ườ ợ ạ ặ ỗ
L i thông báo trên là trên winXP không th đăng ký file oledb32.dll .ỗ ểĐ kh c ph c l i này các b n ch n Exit Installation đ k t thúc ch ng trình cài đ t ể ắ ụ ỗ ạ ọ ể ế ươ ặvà các b n vào trong file Setup v a t o , các b n tìm đ n file oledb32.dll các b n xóa fileạ ừ ạ ạ ế ạ
này đi và build l i Project r i mang b cài m i ra cài l i là ok.ạ ồ ộ ớ ạc) Khi ch ng trình đang cài đ t cũng v n có th phát sinh ra l i ngo i l nh môi ươ ặ ẫ ể ỗ ạ ệ ưtr ng trên máy client không t ng tác đ c v i ph n m m b n đang cài . c th ườ ươ ượ ớ ầ ề ạ ụ ể ởđây là :
Thì b n ki m tra xem trong máy client đã cài đ t đ y đ môi tr ng đ ph n m m có ạ ể ặ ầ ủ ườ ể ầ ềth ch y ch a . trong tr ng h p này thì ch ng trình thông báo ch a tìm th y .NET ể ạ ư ườ ợ ươ ư ấFramework đúng version… thì b n cài đ t them .NET Framework t ng ng v i ph n ạ ặ ươ ứ ớ ầm m r i cài l i ch ng trình.ề ồ ạ ươ
8.K t lu nế ậM c dù , bài vi t này không nêu đ c t t c các kỹ thu t c a VS.NET trong vi c t o file ặ ế ượ ấ ả ậ ủ ệ ạsetup . Bài vi t đ c tôi t ng h p t r t nhi u ngu n: CD Winform Programming c a ế ượ ổ ợ ừ ấ ề ồ ủAptech, và nhi u 4Rum trên Net và bao g m c kinh nghi m đóng gói Ph n m m c a ề ồ ả ệ ầ ề ủb n thân tôi. N u các b n có g p m t ph n c a bài này đâu đó trên các 4rum thì cũngả ế ạ ặ ộ ầ ủ ở
ko có gì ng c nhiên c vì khi chúng ta post bài lên m ng là đã xác đ nh tinh th n Open ạ ả ạ ị ầSource rùi ...