Đóng gói ứng dụng bằng VS2005_Phần 2

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

Đóng gói ứng dụng bằng VS2005_Phần 2

Bài gửi by nguyenngocchinh on Tue Mar 09, 2010 7:43 am

1. 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 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).
[You must be registered and logged in to see this image.]
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)
[You must be registered and logged in to see this image.]
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.
[You must be registered and logged in to see this image.]
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)
[You must be registered and logged in to see this image.]
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 .
[You must be registered and logged in to see this image.]
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).
[You must be registered and logged in to see this image.]
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 :
[You must be registered and logged in to see this image.]
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)
[You must be registered and logged in to see this image.]
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 :
PropertyPurpose
NameTên có phạm vi trong File types editor để định danh 1 loại file đặc biết nào đó .
CommandChỉ định file exe nào được chạy khi người dùng mở file có đuôi ở thuộc tính Extensions .
ExtensionsChỉ rõ đuôi mở rộng file với cách thực thi được đăng ký ở trên .
IconChỉ định icon cho file đó.
DescriptionCung cấp 1 số thông tin miêu tả thêm về file.
[You must be registered and logged in to see this image.]
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
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.
[You must be registered and logged in to see this image.]
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:
[You must be registered and logged in to see this image.]
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 .

[You must be registered and logged in to see this image.]
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.
ConditionPurpose
File LaunchDùng để tìm 1 file nào đó trên máy client
Registry Launch InstallationTìm 1 key nào đó trên máy client
Windows Installer LaunchTìm file Windows installer
.NET Framework LaunchKiểm tra tồn máy client có .NET Framework hay không
Internet Information Services LaunchKiể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 .
[You must be registered and logged in to see this image.]
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 :
[You must be registered and logged in to see this image.]
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.
[You must be registered and logged in to see this image.]
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
[You must be registered and logged in to see this image.]
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):


[You must be registered and logged in to see this image.]
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…
[You must be registered and logged in to see this image.]
Hình 31
Hiện lên dialog Prerequisites . Bạn đánh dấu check vào phần .Net FrameWord 2.0
[You must be registered and logged in to see this image.]
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 …)

nguyenngocchinh

Tổng số bài gửi : 101
Điểm : 2841
Uy tín : 3
Join date : 02/10/2009
Age : 33
Đến từ : Pleiku - Gia Lai

Xem lý lịch thành viên 0987735678 http://www.t13tin.com

Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết