Sử dụng Windows Post Install để tạo các bản Windows cài đặt phần mềm hoàn toàn tự động

09:19, 12/08/2008

XHTTOnline: Nếu bạn đã dùng qua các bản Windows Unattended như: WinXP Punto, Windows XP SP3 của Atmin Takit, Windows VOC,… đều sẽ rất ngạc nhiên vì quá trình cài đặt ứng dụng, phần mềm ( không phải là Windows) đều hoàn toàn tự động, bạn thích ứng dụng nào thì lựa chọn ứng dụng đó, không bị bắt buộc là phải cài đặt ứng dụng này, bạn có thể không cài đặt ứng dụng nào cũng được. Những phần mềm này tự động cài đặt sau khi hoàn tất cài đặt hệ điều hành. Tuy các bản Windows Unattended này do những người hoàn toàn khác nhau, ở các nước khác nhau làm ra nhưng chúng đều có điểm chung là sử dụng Windows Post Install (WPI) để tích hợp thêm ứng dụng khác vào Windows để làm ra các bản Windows Unattended mang phong cách cá nhân, phong cách chuyên nghiệp. WPI là một phần mềm hoàn toàn miễn phí, các bạn có thể download tại http://www.wpiw.net phiên bản mới nhất khi viết bài này là 7.0 ( http://www.wpiw.net/downloads/WPI_v7.0.rar ). Sau khi download về bạn giải nén và bắt đầu để viết code cài đặt phần mềm tự động. Để viết code cài đặt phần mềm tự động ta có 2 cách: Cách 1: Chạy WPI.hta và chọn Config để viết code. Sau khi click vào Config ta sẽ có bảng sau:
 
Để thêm một phần mềm mới ta click vào Add. Trong đó: Name: tên của phần mềm. Description: miêu tả công dụng của phần mềm. Category: kiểu ( thể loại) của phần mềm như : driver, MultiMedia, Utilities,… nếu bạn muốn tạo kiểu ( thể loại) của phần mềm mới thì click vào Other.. để tạo mới. Registry before: nhập file *.reg vào Registry trước khi cài đặt phần mềm. Thường thì là nhập cdkey đăng ký cho phần mềm đối với những phần mềm đòi hỏi phải nhập cdkey trước khi cài đặt. Command : dòng lệnh để cài đặt phần mềm hoặc các khóa *.reg để tinh chỉnh phần mềm hay tinh chỉnh, tối ưu hóa cho Windows. Các dòng lệnh này đều có đường dẫn tương đối như: %root%, %cdrom%, %wpipath%, Extract, TaskKill,…… Registry after: nhập file *.reg vào Registry sau khi cài đặt phần mềm. Thường thì là nhập cdkey đăng ký cho phần mềm. Picture file: hình đại diện (biểu tượng) cho phần mềm Picture details: kích cỡ của hình đại diện. Còn những dòng khác bạn không cần quan tâm. Sau khi viết code xong ta click vào Save để lưu lại. Cách 2: Viết code bằng cách biên tập và viết mã vào file config.js trong WPI\ WPIScripts. Bạn mở thư mục WPI vừa download về và tìm file config_kels.js trong thư mục Example Configs, bạn copy và dán files config_kels.js vào thư mục WPIScripts và đổi tên thành config.js. bây giờ bạn mở file config.js bằng Notepad và bắt đầu viết code. Các bạn xóa hết và chỉ giữ lại những dòng sau: // prog[pn]=['ProgramName']; // ordr[pn]=[0]; // desc[pn]=['Description']; // uid[pn]=['APP1']; // dflt[pn]=['no']; // cat[pn]=['Application Category']; // forc[pn]=['false']; // configs[pn]=['List of configs to be auto checked. Comma seperated']; // deps[pn]=[]; // excl[pn]=[]; // cond[pn]=['Javascript Conditional Statement']; // gcond[pn]=['Javascript Conditional Statement to gray item']; // regb[pn]=['Registry Key Path']; // cmd1[pn]=['CommandLine 1']; // cmd2[pn]=['CommandLine 2']; // cmd3[pn]=['CommandLine 3']; // cmd4[pn]=['CommandLine 4']; // cmd5[pn]=['CommandLine 5']; // cmd6[pn]=['CommandLine 6']; // cmd7[pn]=['CommandLine 7']; // cmd8[pn]=['CommandLine 8']; // cmd9[pn]=['CommandLine 9']; // cmd10[pn]=['CommandLine 10']; // rega[pn]=['Registry Key Path']; // picf[pn]=['Picture File']; // picw[pn]=['Width']; // pich[pn]=['Height']; // textl[pn]=['Text Location']; // pn++; bây giờ ta bắt đầu sửa file config.js. Ví dụ cho Yahoo! Messenger. pn=1; prog[pn]=['Yahoo Messenger 8.0']; desc[pn]=['Chuong trinh IM ( Chat ) rat noi tieng']; uid[pn]=['YAHOOMESSENGER80']; dflt[pn]=['no']; cat[pn]=['Utilities']; forc[pn]=['no']; gcond[pn]=['FileExists(\'%programfiles%\')']; cmd1[pn]=['%CDROM%\\INSTALL\\Yahoo\\YM.EXE /S']; cmd2[pn]=['taskkill /IM ypager.exe /F']; cmd3[pn]=['taskkill /IM YahooMessenger.exe /F']; cmd4[pn]=['REGEDIT /S %root%\\INSTALL\\Yahoo\\yahoo.reg']; pn++; Giải thích: - prog: Đây từ viết tắt của program name, nghĩa là tên của phần mềm sẽ được hiển thị trong WPI. - desc: Đây từ viết tắt của description, nghĩa là miêu tả công dụng của phần mềm, bạn nhập đoạn Text miêu cả công dụng của phần mềm, chú ý không nên sử dụng tiếng việt có dấu. - uid: Nhập lại như mục prog - dflt: Đây từ viết tắt của Default, dflt[pn]=['no'] nghĩa là phần mềm này không sẽ không được cài đặt theo ngầm định, mà chỉ được cài đặt nếu người dùng click chọn, dflt[pn]=['yes'] nghĩa là phần mềm này sẽ được cài đặt ngầm định mà người dùng không cần lựa chọn. - cat: Đây là từ viết tắt của category, tức là đây là mục phân loại kiểu phần mềm như tiện ích, hệ thống, dù trong file config.js bạn đặt thứ tự phần mềm không theo phân loại nhưng khi chạy WPI sẽ sắp xếp, phân loại phần mềm. - cmd1: Đường dẫn đến file cần cài đặt, WPI hỗ trợ sẽ tìm và cài đặt phần mềm theo đường dẫn ở cmd1, WPI hỗ trợ các đường dẫn như %WPIPATH%, %ROOT%, %CDROM%, %WINDIR%,%TEMP%,…. /S : Đây là từ viết tắt của Silent Install ( cài đặt trong im lặng ) đây là tham số cực kỳ quan trọng, với YM.EXE /S thì YM sẽ được cài đặt hoàn toàn tự động, người dùng không cần phải click next,… ngoài tham số /S còn có rất nhiều tham số khác như /qb, /s, /verysilent,….. - cmd2, 3: Vì sau khi cài đặt Yahoo Messenger ( YM) thì Ym sẽ tự động chạy ngay sau khi cài đặt xong nên ta phải dùng đến lệnh taskkill /IM để kill các process mà YM đang chạy. - cmd4: dùng để nhập các tinh chỉnh của Ym như: chát được nhiều nick, loại bỏ quảng cáo bằng cách nhập các khóa *.reg vào Regedit của Windows. Làm tương tự như Ym cho các phần mềm khác. Bạn copy lại đoạn code của Ym ( trừ pn=1) và dán vào dòng tiếp theo sau Ym và sửa lại đường dẫn, tên cho phù hợp. Sau khi viết xong hết code ta save lại. Đây là thành quả sau một thời gian viết code
 
Lưu ý: Khi viết code bạn phải chú ý, nếu bạn viết sai đường dẫn, thừa hay thiếu một dấu sổ chéo ( \ ), một dấu phẩy ( ‘ ) thì WPI sẽ báo lỗi không cài đặt được. Do hoàn toàn dựa vào tham số Silent Install, không phải phần mềm nào cũng hỗ trợ tham số Silent Install nên không phải phần mềm nào cũng tích hợp được. Nếu có thể thì bài viết sau mình sẽ trình bày các kinh nghiệm của mình khi sử dụng WPI như: tìm các khóa Silent Install, sử dụng phần mềm của hãng thứ 3 nếu phần mềm bạn định tích hợp không hỗ trợ Silent Install, cấu hình WPI,… và một số mẹo khác. Nguyễn Quý Anh