Tạo sưu liệu XML bằng chú thích
Ngôn ngữ C# hỗ trợ kiểu chú thích mới, bằng ba dấu gạch chéo ( /// ). Trình biên dịch C# dùng phần chú thích này để tạo thành sưu liệu XML. Ta có thể tạo tập tin sưu ...
Ngôn ngữ C# hỗ trợ kiểu chú thích mới, bằng ba dấu gạch chéo (
///). Trình biên dịch C# dùng phần chú thích này để tạo thành sưu liệu XML.
Ta có thể tạo tập tin sưu liệu XML này bằng mã lệnh, ví dụ như để tạo sưu liệu cho ứng dụng FileCopier ở trên ta gõ các lệnh sau :
csc filecopier.cs /r:System.Windows.Forms.dll /r:mscorlib.dll /r:system.dll /r:system.configuration.dll /r:system.data.dll /r:system.diagnostics.dll /r:system.drawing.dll /r:microsoft.win32.interop.dll /doc:XMLDoc.XML
Ta cũng có thể tạo sưu liệu XML trực tiếp ngay trong Visual Studio .NET, bằng cách nhấn chuột phải lên biểu tượng của dự án và chọn ‘Properties’ để hiện lên hộp thoại thuộc tính của dự án (Property Pages), sau đó chọn mục Configuration Properties Build rồi gõ tên tập tin sưu liệu XML cần tạo ra vào dòng XML Document File. Khi biên dịch dự án, tập tin sưu liệu XML sẽ tự động được tạo ra trong thư mục chứa dự án. Dưới đây là một đoạn mã được trích ra từ tập tin sưu liệu XML được tạo ra từ ứng dụng FileCopier trên :
<?xml version="1.0"?> <doc> <assembly> <name>FileCopier</name> </assembly> <members> <member name="T:FileCopier.Form1"> <summary> Form demonstrating Windows Forms implementation </summary> </member> <member name="F:FileCopier.Form1.components"> <summary> Required designer variable. </summary> </member> <member name="F:FileCopier.Form1.tvwTargetDir"> <summary> Tree view of potential target directories </summary> </member> <member name="F:FileCopier.Form1.tvwSource"> <summary> Tree view of source directories includes check boxes for checking chosen files or directories </summary> </member> <member name="F:FileCopier.Form1.txtTargetDir">
Do đoạn mã trên được định dạng dưới kiểu dưới dạng XML, do đó không thuận tiện lắm khi quan sát. Ta có thể viết một tập tin theo định dạng XSLT để chuyển từ định dạng XML sang HTML.
Một cách đơn giản hơn để tạo sưu liệu XML thành các báo cáo HTML dễ đọc hơn là dùng chức năng Tool Build Command Web Page …, VS.NET sẽ tự động tạo ra một tập các tập tin sưu liệu HTML tương ứng với tập tin XML. Dưới đây là giao diện của màn hình sưu liệu ứng dụng FileCopier được tạo bởi VS.NET :

Khi ứng dụng đã thực thi hoàn chỉnh, vấn đề bây giờ là làm cách nào để có thể triển khai nó. Với các ứng dụng đơn giản, chỉ cần chép assemblycủa ứng dụng đó sang máy khác và chạy.
Ví dụ ta dịch ứng dụng FileCopier thành tập tin chạy FileCopier.exe, sau đó chép sang máy khác và chạy nó. Ứng dụng sẽ thực thi tốt.
Việc triển khai các dự án ( Deployment Projects )
Đối với các ứng dụng thương mại lớn hơn, khách hàng muốn ứng dụng được cài đặt vào một thư mục cụ thể với biểu tượng đặc trưng của họ…, khi đó cách đơn giản trên chưa đủ. Visual Studio .NET đã cung cấp thêm một phần mở rộng khác để hỗ trợ việc cài đặt và triển khai (Setup and Deployment Projects) ứng dụng.
Giả sử ta đang ở trong một dự án nào đó, ta chọn FileAdd Project New Project Setup and Deployment Projects. Ta sẽ thấy hộp thoại sau :

Ta có nhiều nhiều kiểu dự án triển khai khác nhau :
- SetupProject: Tạo ra tập tin cài đặt, tập tin này có thể tự cài đặt các tập tin và tài nguyên của ứng dụng .
- CabProject:Giống như một tập tin ZIP, dự án loại này nén các tập tin thành một gói ( Package ) . Chọn lựa này có thể kết hợp với các loại khác.
- MergeModule: Nếu ứng dụng của ta có nhiều dự án cùng dùng chung một số tập tin, thì sự chọn lựa này giúp ta trộn chúng thành các module trung gian chung. Ta có thể tích hợp các module này vào các dự án khác.
- SetupWizard: Giúp thực hiện một trong các loại dự án trên được dễ dàng.
- WebSetupProject: Giúp triển khai các dự án Web.
Để hiểu rõ, ta sẽ thử tạo một dự án triển khai kiểu Cab Project, thường thì khi dự án của ta có nhiều tập tin .Html, .Gif hay một số loại tài nguyên khác mà cần phải kèm theo với ứng dụng thì ta triển khai dự án theo kiểu này. Thêm dự án loại Cab Project vào dự án với tên là FileCopierCabProject.


Nhấn chuột phải trên dự án triển khai FileCopierCabProject. Có 2 dạng đóng gói tập tin CAB : Project Output… và File… . Ở đây ta chọn Add Project Output, hộp thoại chọn lựa kiểu kết xuất cho dự án ( Add Project Output Group ) xuất hiện :

Ở đây, ta sẽ chọn loại PrimaryOutputđể tạo tập tin FileCopier.exe cho ứng dụng FileCopiercủa ta. Khi chạy chương trình thì .NET sẽ tạo ra một gói có tên là FileCopierCabProject.CAB.Trong gói này có chứa 2 tập tin :
FileCopier.exe : tập tin chạy của ứng dụng
Osd8c0.osd : tập tin này mô tả gói .CAB theo dạng XML.
Mã mô tả XML t ập tin . CAB
<?XML version="1.0" ENCODING='UTF-8'?> <!DOCTYPE SOFTPKG SYSTEM "http://www.microsoft.com/standards/osd/osd.dtd"> <?XML::namespace href='http://www.microsoft.com/standards/osd/msicd.dtd' as="MSICD"?> <SOFTPKG NAME="FileCopierCabProject" VERSION="1,0,0,0"> <TITLE> FileCopierCabProject </TITLE> <MSICD::NATIVECODE> <CODE NAME="FileCopier"> <IMPLEMENTATION> <CODEBASE FILENAME="FileCopier.exe"> </CODEBASE> </IMPLEMENTATION> </CODE> </MSICD::NATIVECODE> </SOFTPKG>
Việc cài đặt dự án ( Setup Project )
Để tạo được chương trình tự động cài đặt cho ứng dụng, ta thêm dự án khác và chọn kiểu là SetupProject,dự án kiểu này khá linh động. Nó tạo thành tập tin có phần mở rộng là MSI, có thể tự cài đặt ứng dụng của ta lên máy tính khác.
UI phục vụ chủ yếu cho việc cài đặt là cửa số ViewMenu:

Ứng với mỗi chọn lựa trên View Menu, ta sẽ thấy các hiển thị tương ứng trong hai cửa sổ bên trái. Chẳng hạn như, khi ta chọn ViewFileSystemthì ở bên trái sẽ hiện ra hai cửa sổ như như hình bên dưới, ta có thể thêm các tập tin hay tài nguyên liên quan đến ứng dụng theo ý muốn :

Triển khai trên các vị trí khác nhau
Mặc nhiên thì ứng dụng sẽ được cài đặt trên thư mục sau :
[ProgramFilesFolder][Manufacturer][Product Name.
ProgramFilesFolder: thư mục Program Files trên máy người dùng
Manufacturer: tên của nhà sản xuất
Product Name: tên của ứng dụng
Ta có thể thay đổi các thông số này trong cửa sổ thuộc tính FileCopierSetupProject hoặc trong quá trình cài đặt.
Tảo biểu tượng của ứng dụng trên màn hình Desktop
Để tạo biểu tượng cho ứng dụng, ta chỉ cần chọn ApplicationFolderPrimary outputfromFileCopier(Active)ở cửa sổ bên trái, sau đó nhấn chuột phải và chọn CreateShortcuttoPrimaryoutputfromFileCopier(Active).Ta hiệu chỉnh đường dẫn của biểu tượng cho thích hợp.
Thêm các mục vào thư mục My Documents
Ta cũng có thể thêm các tài liệu cần thiết vào thư mục MyDocumentstrên máy của người dùng khi cài đặt, bằng cách đặt chúng vào thư mục User’sPersonalData Folder
Tạo biểu trượng trong cửa sổ Start Menu
Để thêm các thành phần khác của ứng vào cửa sổ Start/Programs, ta thêm chúng vào thư mục User’sProgramMenuở cửa sổ bên phải.
Thêm các chức năng cài đặt khác cho ứng dụng triển khai
Ngoài bốn mục được liệt kê trong hình trên, ta có thể bổ sung thêm các thư mục khác, như hình dưới đây :
Bổ sung các thư mục trong cửa sổ File System
Các thành phần khác
Ta đã khảo sát qua cách cài đặt dùng FileSystemtrong MenuView, nay ta tìm hiểu thêm một số cách khác.
Tạo các thay đổi trong sổ đăng ký ( Registry )
Cửa sổ đăng ký của View Menu cho phép làm cho trình cài đặt của chúng ta tạo ra các thay đổi trong sổ đăng ký chương trình trên các máy cài đặt ứng dụng. Nhấn chuột phải trên các thư mục được liệt trong hình dưới đây để hiệu chỉnh sổ đăng ký theo ý muốn :

Quản lý giao diện người dùng trong quá trình cài đặt
Để có thể kiểm soát các chữ hay giao diện đồ họa hiển thị trong suốt quá trình cài đặt ứng dụng, ta chọn mục User Interface trong View Menu. Hình dưới đây thể hiện luồng công việc trong quá trình cà đặt ứng dụng :
Luồng công việc trong quá trình cài đặt
Khi ta nhấn chuột phải trên một bước nào đó trong tiến trình cài đặt và chọn Propertiesthì sẽ hiện lên một cửa sổ tương ứng với mục đó, nhờ hộp thoại thuộc tính này ta có thể hiệu chỉnh các chuỗi hay ảnh hiển thị thích hợp. Ta cũng có thể thêm hay bớt đi một bước trong luồng công việc cài đặt. Ví dụ hộp thoại thuộc tính của mục Welcome.

Hiệu chỉnh thêm cho quá trình cài đặt
Nếu quá trình cài đặt trong cửa sổ User Interface vẫn không đủ thỏa mãn nhu cầu cài đặt của ứng dụng, thì ta có thể tự hiệu chỉnh các thông số cho tiến trình cài đặt : điều kiện để chạy tiến trình cài đặt … Ta chọn mục Custom Option trong View Menu để thực hiện mục đích này.
Kết thúc việc tạo chương trình cài đặt
Sau khi hoàn tất mọi hiệu chỉnh, ta chỉ cần chạy ứng dụng và .NET sẽ tạo ra một tập tin cài đặt MSDđể cài đặt ứng dụng của ta.