1. CÁ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 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 EDITORNhì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 chỉ định các thông tin sau :
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 à
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 installTrong 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 fileHì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 entryTrong 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
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
o
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 .
o
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
o
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.
(Còn nữa …)