SửA CHữA SETUP
Xem bai viet bang font ABC

              Trong quá trình sử dụng máy tính, có lẽ thao tác chúng ta thường làm nhất là cài đặt chương trình. Do điều kiện máy móc, chắc có lúc các bạn cũng muốn thay đổi cách setup, thí dụ như: cài bằng đĩa 1.4Mb thay vì 1.2Mb hay ngược lại, cài trên đĩa cứng cho nhanh hay là sau khi sửa chữa giao diện, bạn muốn đưa nó vào bộ đĩa gốc...

            Đa số người sử dụng máy tính rất sợ đọc các file .EXE vì họ thấy nó toàn là ký hiệu kỳ lạ, quái dị. Nhưng nếu các bạn có kinh nghiệm thì các ký hiệu nầy sẽ nói chuyện được với các bạn. Chúng sẽ tự giới thiệu tên tuổi, công dụng, chức năng cho các bạn biết. Việc đối thoại nầy rất có ích nếu các bạn muốn sửa chữa các chương trình.

Mục đích của bài viết là cung cấp cho các bạn những kiến thức căn bản để sửa chữa chương trình SETUP cho những yêu cầu đơn giản, chứ không phải chỉ cho các bạn sửa chữa file chương trình. Để dễ truyền đạt, chúng tôi dùng bộ đĩa WinWord 6.1 cho các thí dụ. Nhưng các hướng dẫn vẫn có giá trị cho các bộ đĩa khác.

            Chú ý: Tùy theo hãng sản xuất mà có nhiều chương trình SETUP hay INSTALL khác nhau và không phải chương trình nào cũng sửa chữa được. ở đây chúng tôi dùng chương trình SETUP của Microsoft vì nó thông dụng.

        ĐặC ĐIểM CủA CHƯƠNG TRìNH SETUP:

            Do chương trình được viết với mục đích phổ biến rộng rãi cho những người lập trình sử dụng nên về nguyên lý hoạt động nó gồm có 2 phần:

        CHUNG:

            Phần nầy gồm một số file dùng cho tất cả các bộ đĩa cài đặt của bất cứ chương trình nào. Mục đích của phần nầy là giúp cho người lập trình không viết lập lại những cái giống nhau cho từng bộ đĩa.

            Phần nầy chúng ta không cần quan tâm.

        RI?NG:

            Gồm vài file chứa thông tin riêng cho từng bộ đĩa, thể hiện cái riêng của từng chương trình. Khi làm bộ đĩa Setup, người lập trình chỉ cần viết lại phần nầy cho mỗi bộ đĩa khác nhau. Đây chính là phần chúng ta cần nghiên cứu khi muốn sửa chữa.

            HOạT ĐộNG CủA CHƯƠNG TRìNH SETUP:

            Dĩ nhiên là muốn nghiên cứu chương trình setup thì việc đầu tiên là các bạn phải cài đặt 1 lần để quan sát quá trình cài đặt đó. ở đây chương trình đặt giả thuyết là bạn đã từng cài đặt các chương trình của Microsoft.

        KHởI ĐộNG:

            Khi bạn đánh Setup, chương trình khởi động và nhiệm vụ của file Setup là tìm đọc file Setup.lst và thực hiện các chỉ thị trong đó.

        Thí dụ:      Nội dung của Setup.lst

[Params]
WndTitle = Microsoft Word 6.1 Setup
WndMess = Starting Word Setup, please wait...
TmpDirSize = 900
TmpDirName = ~msstfqf.t
CmdLine = acmsetup /T setup.stf /S %s %s
DrvModName = ACMSETUP
Require31 = This program requires Windows (R) 3.1 or higher.

[Files]
_mssetup.ex_ = _mssetup.exe
acmsetup.ex_ = acmsetup.exe
mscpydis.dl_ = mscpydis.dll
mssetup.dl_ = mssetup.dll
word_bb.dl_ = word_bb.dll
wwsetup.tt_ = wwsetup.ttf
winword6.in_ = winword6.inf
setup.st_ = setup.stf
odbcinst.dl_ = odbcinst.dll
acmsetup.hl_ = acmsetup.hlp

            Giải thích:

[Params]
Wndtitle: Dòng tiêu đề của hộp thoại.
Wndmess: Dòng nội dung trong hộp thoại.
TmpdirName: Tên thư mục tạm do Setup tạo ra.
Cmdline: Dòng lịnh và thông số khởi động chương trình setup chính.

[Files]
Chỉ định các file cho trình Setup bung nén và copy vào thư mục tạm.

            Chú ý:

            * Như vậy về thực chất, trình Setup chỉ là trình "mồi", trình AcmSetup mới là trình Setup thực sự. File điều khiển là Setup.stf (vì nó được chỉ định trong dòng CmdLine và file thông tin là Winword6.inf (vì có đuôi là .inf). Tất cả đều nằm dưới dạng nén trên đĩa cài đặt.

            * File Setup.stf có nhiệm vụ điều khiển quá trình cài đặt. Thí dụ như: Căn cứ vào chọn lựa của bạn, xác định các file cần thiết trên bộ đĩa gốc sau đó chỉ định cho trình Acmsetup đưa vào thư mục nào trên đĩa cứng, đăng ký dữ liệu vào Windows, tạo nhóm và tạo biểu tượng. Khi cài đặt xong file nầy lưu thông tin về quá trình cài đặt và người sở hữu bản quyền để dùng đến khi cần Add/Remove, Reinstall, Uninstall...

            * File Winword.inf chứa các thông tin chi tiết về bộ đĩa cài đặt và địa chỉ các file cho từng đĩa để trình Acmsetup biết đường mà tìm.

            Do mục đích của chúng ta là sắp xếp lại bộ đĩa nên chúng ta chỉ cần xử lý file Winword.inf.

            Chú ý:

            Tất cả các dòng trong file INF đều có thể bị vô hiệu hóa bằng cách đặt dấu (;) ngay đầu dòng đó. Nội dung sau dấu (;) sẽ được coi như ghi chú, không phải lịnh.

            TIếN HàNH SửA CHữA :

        BUNG Và NéN FILE:

            Để giảm số lượng đĩa mềm, các file trên bộ đĩa được lưu dưới dạng nén. Trình nén dùng cho các file nầy không được công bố chính thức nhưng chúng ta dùng trình nén Compress.exe đi kèm theo bộ Visual Basic cũng được tuy trình nầy nén không mạnh bằng trình nén gốc (file nén gốc có kích thước nhỏ hơn).

            Để bung file, chúng ta dùng trình expand.exe (kèm theo MSDOS, Windows) hay Decomp.exe (kèm theo Office).

        NộI DUNG FILE INF:

            Nội dung file nầy gồm nhiều mục, chúng tôi chỉ bàn về những mục cần sửa chữa.

            Phần thông tin đĩa:

"1","Microsoft Word: Disk 1 - Setup","ACMSETUP.EX_","."
"2","Microsoft Word: Disk 2","WINWORD.E1_","..\disk2"
"3","Microsoft Word: Disk 3","WINWORD.E2_","..\disk3"
"4","Microsoft Word: Disk 4","WINWORD.E3_","..\disk4"
"5","Microsoft Word: Disk 5","WINWORD.HL_","..\disk5"
"6","Microsoft Word: Disk 6","GR_AM.LE_","..\disk6"
"7","Microsoft Word: Disk 7","MSTH_AM.LE_","..\disk7"
"8","Microsoft Word: Disk 8","MAPIVIM.DL_","..\disk8"
"9","Microsoft Word: Disk 9","WORDCBT.LE_","..\disk9"

            Đây là phần thông tin về đĩa nguồn, tên file dùng để nhận dạng đĩa đúng hay sai và tên đĩa. Mỗi dòng gồm 4 phần, nằm trong 2 dấu (") và cách nhau bằng 1 dấu (,).

Phần 1: Số đĩa, phần nầy có liên quan với mục lưu thông tin về file.
Phần 2: Tên đĩa, phần nầy sẽ là nội dung hộp thoại yêu cầu thay đĩa trong quá trình cài đặt.
Phần 3: File nhận dạng đĩa, đây là file trình setup dùng để xác định người dùng có nạp đúng đĩa yêu cầu không.
Phần 4: Địa chỉ đĩa nguồn: nếu (.) là thư mục mặc nhiên nơi trình setup chạy. Nếu (..\Diskn) là thư mục con tên Diskn (bạn thay n bằng số).

        Chú ý: Đây là trường hợp cài đặt trên đĩa cứng, mỗi đĩa mềm là môt thư mục con tên Diskn chứa trong cùng 1 thư mục tạm. Nếu cài trực tiếp trên đĩa mềm các bạn sửa lại như sau:

"1","Microsoft Word: Disk 1 - Setup","ACMSETUP.EX_","Disk1"
"2","Microsoft Word: Disk 2","WINWORD.E1_","disk2"

            Nếu không phân ra từng thư mục con trên đĩa cứng, bạn sửa như sau:

"1","Microsoft Word Setup","ACMSETUP.EX_","."

            Không cần các dòng tiếp theo.

            Phần thông tin file:

"dialogfon" = 1,DIALOG.FON,,,,1994-08-20,,,,,,,,,,48624,SYSTEM,,,,
"sdm"= 1,SDM.DLL,,,,1994-08-20,,1033,,,,,,,,103904,SYSTEM,,,3.0.0.2201,VITAL
"ttembed" = 1,TTEMBED.DLL,,,,1994-08-20,,,,,,,,,,102912,SYSTEM,,,0.9.1.6,

            Giải thích:

            Sau dấu (=) gồm có 22 phần cách nhau bằng 1 dấu (,). Phần nào không có chỉ định thì bỏ trống. ở đây chú ta chỉ quan tâm tới các phần sau:

Phần 1: Số của đĩa chứa file. Khi bạn thay đổi file qua đĩa khác, bạn phải thay đổi số nầy cho chính xác.
Phần 2: Tên file. Đây là tên file sau khi bung nén chớ không phải tên file đang nén trên đĩa mềm.
Phần 6: ngày tháng của file.
Phần 16: Kích thước file sau khi bung nén. Dùng để tính toán dung lượng đĩa khi cài đặt. Nếu sai cũng không sao.

            Chú ý: Nội dung các file INF có thể khác nhau tùy theo bộ đĩa, nhưng phần căn bản về thông tin đĩa, thông tin file bắt buộc phải có và giống nhau về cách xác lập.

Thí dụ về file INF của bộ Windows for Workgroup 3.11 Song ngữ.

[disks]
1 =. ,"Microsoft Windows for Workgroups 3.11 Disk 1",disk1
2 =. ,"Microsoft Windows for Workgroups 3.11 Disk 2",disk2

[win.apps]
5:CALC.EXE, "Calculator" , 43072, calc
4:CARDFILE.EXE, "Cardfile" , 93184, cardfile

[progman.groups]
group3=Main,1
group4=Accessories

[group4]
"Write", WRITE.EXE
"Paintbrush", PBRUSH.EXE,,, pbrush
"Terminal", TERMINAL.EXE,,, terminal

            Thông tin trong file nầy phong phú và phức tạp hơn Winword.inf vì nó đảm trách luôn việc cài đặt Driver theo cấu hình máy, cập nhật System.ini và Win.ini. Để làm bộ Windows song ngữ, chúng tôi đã sửa trong file nầy rất nhiều. Nếu các bạn thích nghiên cứu, các bạn có thể so sánh file INF của bộ song ngữ và của bộ gốc để tìm ra sự khác nhau và tập trả lời cho câu hỏi: "Tại sao chúng khác nhau".

        Chú ý: Các bạn nên chú ý tìm hiểu file Winsetup.exe trong bộ Windows song ngữ. Các hộp thoại của chúng có đặc điểm là : Nhiều mục nằm chồng lên nhau và tùy theo yêu cầu, khi hiển thị chúng sẽ cho ra nội dung khác nhau trong cùng 1 hộp thoại.

            Nếu các bạn nắm vững cách chúng tôi sửa chữa trong bộ Windows song ngữ, bảo đãm việc sửa chữa các chương trình cài đặt khác chỉ là trò trẻ con. Vì Windows là cái nền cho các chương trình khác chạy nên việc sửa chữa rất là phức tạp so với các chương trình thường.


PcLeHoan 1996 - 2002
Mirror : http://www.pclehoan.com
Mirror : http://www.lehoanpc.net

Mirror : http://www.ktlehoan.com