Đóng gói ứng dụng bằng Visual Studio 2005 doc - Pdf 12

Đóng gói ứng dụng bằng Visual Studio 2005
Phần 1: 1. Giới thiệu:

- Có một thời trước đây , đa số máy tính người dùng có một thời kỳ khủng hoảng trong việc cài đặt ứng
dụng Windows . Ví dụ , khi bạn cài đặt 1 version mới của 1 ứng dụng nào đó hay 1 ứng dụng không liên
quan gì tới 1 ứng dụng đã cài trong máy của bạn , quá trình cài đặt sẽ copy version của dlls vào thư mục
hệ thống và thay đổi thiết lập trong registry . Quá trình cài đặt này có thể gây nguy hiểm ứng dụng khác
trong cùng máy client đó , đặc biệt nếu tồn tại 1 ứng dụng đang dùng chung với các componient . Nếu
các componient đó tương thích lùi với các phiên bản trước , that’s okei , nhưng đa số trường hợp nó
không có khả năng tương thích lùi với các phiên bản cũ hơn . Thì lúc đó bạn buộc phải nâng cấp các phần
mềm khác , hoặc tệ hơn là không dùng được nữa . Vấn đề khó chịu đó được gọi là DLL Hell
- Nói thêm về cơn ác mộng DLL . Giả sử kịch bản sau : bạn cài đặt ứng dụng A của trên máy của bạn , nạp
một số DLL của Windows . Nó hoạt động ngon lành trong nhiều năm . Sau đó bạn cài đặt ứng dụng B
cũng trên máy của bạn và thình lình không chờ đợi , ứng dụng A “sụm bà chè” không nói không rằng .
Mà ứng dụng B không dính dạng ứng dụng A . Việc gì xảy ra ? Cuối cùng bạn phát hiện ra là : ứng dụng B
đã thay thế một số DLL mà ứng dụng A cần đến , và thình lình ứng dụng A bằt đầu lảo đảo và bất động .
- Theo nguyên tắc , DLL phải tương thích lùi (backward-comatible) . Vì DLL mới được thêm vào máy , thì
ứng dụng cũ xưa thình lình được kết nối với 1 DLL không tương thích với những gì ứng dụng chờ đợi và
thế là xong đời . Hiện tượng này khiến cho khách hàng windows phải nâng cấp chương trình hiện hữu và
cũng là 1 trong những lý do bảo rằng các máy sử dụng Windows b
ất ổn . Với assembly của .NET thì cơn
ác mộng sẽ biến mất .
- Bạn muốn triển khai ứng dụng của bạn bằng một chương trình cài đặt có thể chép file thực thi , tạo
shorcut , thêm các thiết lập Registry … Có nhiều chương trình phục vụ cho việc đóng gói phần mềm trở
nên dễ dàng hơn bao giờ hết , ví dụ như : WiseInstall for .net, InstallShield, InstallAnywhere for .net ,
Nsis …
- Hôm nay mình sẽ giới thiệu 1 công cụ hỗ trọ đóng gói phần mềm đó là Microsoft Visual Studio 2005 .
- Với mô hình triển khai “zero-touch” của .NET , bạn có thể chép file ứng dụng đã được biên dịch sang

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.
Chúng ta 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.
2. Một số thuật ngữ trong bài viết

Một số thuật ngữ 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 :
3. Tìm hiểu cơ chế đánh phiên bản của .NET

Như bạn đã biết , .NET Runtime không buồn kiểm tra phiên bản đối với private assembly . Nhưng khi
“chơi” với shared assembly thì vấn đề phiên bản lại trở thành quan trọng , bây giờ ta tìm hiểu cơ chế
đánh số phiên bản (gọi là versioning ) và kiểm tra đối với shared assembly .
Trên .NET các shared assembly được nhận diện được nhận diện duy nhất thông qua tên và version . GAC
(Global Assembly Cache ) cho phép các phiên bản khác sống side-by-side , nghĩa là phiên bản cũ vẫn hiện
diện cùng với phiên bản mới . Như vậy các ứng dụng có thể dùng bất cứ phiên bản nào mà nó thích , tuỳ
thuộc ứng dụng đó , cũ cũng có , mới cũng có sẵn .

- 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

1. Mở Solution Explorer của VS.net ra, right click vào Solution.
Trong menu thả ra, vào mục Add à New project –> Xuất hiện hộp thoại Add new project (H9).
Hình 9 2. Trong hộp thoại Add new project (H10): Hình 10
- Bên trái có Project Types: Chọn Other Project Types –> Setup and Deployment
- Bên phải có Templates: Chọn Setup Project.
- Đặt tên Setup Projectvào trường name
- Chọn đường dẫn cần lưu thư mục tại trường Location
3. Sau khi click Ok à VS.net sẽ tự động hiển thị Child window là File System ở dạng Explorer. Chưa làm gì
với Window này vội.
Hình 11
4. Lại mở Solution Explorer, right click vào Setup Project vừa tạo.Trong menu thả ra, Chọn AddàProject
Output –> xuất hiện hộp thoại: Add Project Output Group Hình 12

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

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

- 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 (H20)
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 chỉ định các thông
tin sau :

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

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. 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 à View à 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 :
Deployment in Visual Studio
Launch Condition Management in Deployment

URL : ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_deploy/html/9927d5e4-11ab-
4819-9c7d-7e5e9d3cf555.htm

1.5.1. Searching the system during the install

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


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status