You are on page 1of 24

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.
o Ở đâ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ìn
h
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 :


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 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. 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 ...
 

You might also like