Đây là Keygen: http://www.box.net/public/yc5d18cmgo Cài 1 bản Windows XP “sạch” cài mới trong Vmware, sau đó bạn có thể thấy những file nào được sử dụng bởi các chương trìnhnhư vậy port
Trang 1Viết tắt : portable = Portable software = Chương trình Portable, portablize
= portable hóa
Trước khi bắt đầu, bạn nên download và cài đặt VMware Khi làm các chương trình portables,
Đây là 1 chương trình tuyệt vời để test chương trình bạn làm ra
Download VMware Workstation 5.5.3 for Windows (92 MB) tại :
http://www.megaupload.com/?d=DDWAOMH4
hoặc
http://www.vmware.com/download/download.do?downloadGroup=WKS T-553-WIN
Bạn cần đăng ký thành viên mới có thể download được
Đây là Keygen: http://www.box.net/public/yc5d18cmgo
Cài 1 bản Windows XP “sạch” (cài mới) trong Vmware, sau đó bạn có thể thấy những file nào được sử dụng bởi các chương trình(như vậy
portable cũng sẽ chạy trên những hệ thống “sạch”) Một số files (được sử dụng bởi chương trình portable) có thể có sẵn trên hệ thống của bạn (là file của các chương trình khác bạn đã cài vào), vì vậy nếu bạn chỉ test nó trên bản Windows XP được cài đặt bình thường, một vài người sẽ gặp lỗi như thế này
(hoặc lỗi gì đó tương tự):
Để thêm 1 máy ảo(Virtual Machine) vào Vmware bạn làm theo hình sau:
Trang 2Làm theo trình wizard (chọn ‘Typical’ trong cửa sổ ‘Virtual machine
configuration’ ) Các cửa sổ khác sẽ nói lên tác dụng của chúng Khi
Windows khởi động lại, đừng quên cài đặt VMware
Tools theo hình sau:
Trang 3Sau đó, bạn cần download và cài đặt Regmon và Filemon từ các link sau đây:
Filemon: http://www.sysinternals.com/Utilities/Filemon.html
Regmon: http://www.sysinternals.com/Utilities/Regmon.html
Giải nén file và mở bộ cài đặt (setup) của chương trình bạn muốn làm
portable (đừng để nó cài đặt ngay) Chạy cả Regmon và Filemon sau đó cài chương trình bạn muốn portablize Khi cài xong click vào icon
trong cả Regmon và Filemon
Khi chương trình đã được cài đặt, đầu tiên bạn thử copy tất cả các file
trong thư mục của chương trình vào VMware (kéo và thả vào VMware Việc này có thể tiết kiệm rất nhiều thời gian nếu không có gì khác cần để chạy chương trình Cũng như thế, bạn có thể xem những file nào cần thiết
để chương trình có thể hoạt động
Khi bạn thử chạy chương trình, bạn có thể gặp lỗi đã trình bày ở trên
Gặp tình huống đó, bạn có thể tìm (trong pc bình thường của bạn) các file
mà nó cần LƯU Ý: Filemon có thể tìm kiếm một số file rất hiệu quả
Những file này thường thấy trong thư mục WINDOWS\system32 (Ấn
Trang 4Ctrl + F để tìm files) Khi tìm thấy file rồi, kéo và thả nó vào cùng thư
mục với các file còn lại trong VMware và thử chạy lại chương trình Tiếp tục làm như vậy cho đến khi tất cả các file được tìm thấy và chương trình chạy tốt (Khi đó bạn đã hoàn thành việc portablize) hoặc tiếp tục làm theo các bước sau đây nếu chương trình báo lỗi không thể tìm thấy các khóa registry (Thường gặp các thông báo lỗi như ‘The program has not been fully installed!’)
Bây giờ, đến phần thủ thuật, bạn phải tìm các khóa registry cần thiết để chương trình có thể chạy Quay lại Regmon và tìm các khóa cần phải xử
lý,
Chẳng hạn thế này:
Thông thường bạn có thể phớt lờ (ignore) tất cả những khóa khác trừ file cài đặt (thường có tên là ‘setup.exe’)
Bạn có thể phớt lờ (trong hầu hết các trường hợp) các khóa như:
‘HKLM\Software\Microsoft\Windows\CurrenVersion……’
Như bạn đã thấy trong hình trên, các thiết lập registry bạn cần, thường đặt
ở đầu danh sách trong khi phần còn lại hầu hết để kiểm tra tính độc lập, thêm shortcuts, liên kết file v.v
Khi bạn double click vào 1 khóa, RegEdit sẽ pop up Click vào thư mục
Trang 5mẹ (trong trường hợp này là ‘inKline Global’ và right-click vào nó và
chọn ‘Export’ và lưu nó vào cùng thư mục với các file khác (chỉ trong trường hợp bạn quên nơi để file và giờ phải tìm lại, cuối cùng, nó phải
aswell) Chạy file registry vừa export ‘something.reg’ và thử chạy lại
chương trình
Lặp lại những bước trên nếu chương trình vẫn báo lỗi về các thiết lập
registry, và export và thử từng cái một, như vậy sẽ không có các khóa
registry không cần thiết
Giờ đến phần dễ rồi (nếu bạn biết 1 chút về file batch(.bat)) Bạn cần viết
1 file batch, để tự động hóa các tiến trình, để nó thêm và xóa các khóa
registry
Đầu tiên, bạn cần nhập nội dung tất cả các file REG vào 1 file REG (sao cho thuận tiện) Bạn không cần thêm những dòng như thế này: ‘Windows Registry Editor Version 5.00’ Bạn chỉ cần làm thế ở đầu mỗi file (để
Windows biết phải làm gì với nó) Lưu file khi hoàn thành
Tiếp theo, bạn phải save cùng file đó với 1 cái tên khác, như uninstall.bat hoặc
remove.bat Bây giờ, xóa tất cả những gì ở dưới các dòng ‘[registry key]’, như vậy bạn sẽ được thế này:
[HKEY_CURRENT_USER\Software\KPD-Team]
Trang 6Thay cho:
[HKEY_CURRENT_USER\Software\KPD-Team]
[HKEY_CURRENT_USER]\Software\KPD-Team\API-Guide]
@="API-Guide, created by the The KPD-Team 1998-2002"
"Language"="english37.lng"
"VeryFirstStart"=dword:00000001
"FirstStart"="3.7"
"Version"="3.7.854"
Khi xong rồi, bạn phải thêm 1 ký tự “-“ (dấu gạch ngang) sau mỗi ký tự
“[“ (dấu mở ngoặc vuông) rồi bạn sẽ kết thúc với:
[-HKEY_CURRENT_USER\Software\KPD-Team]
Bây giờ thì sẵn sàng cho file batch Để cho thuận tiện, để tất cả các file trong 1 folder đặt tên là ‘Files’ và chạy Notepad Tạo 1 file mới đặt tên là
‘Run.bat’ Trong file đó, điều duy nhất bạn cần bây giờ là đoạn mã sau (rất đơn giản):
@echo off
echo Portable API Guide Made By DBZFYAM
echo
echo Registering program After closing the program, press any key to remove echo the program's traces When you close this screen, some traces will be left echo on the current pc!
REGEDIT /S Files\registry.reg
echo
echo Starting program
echo
Files\API-Guide.exe
PAUSE
echo
echo
echo Removing traces
REGEDIT /S Files\remove.reg
echo Finished removing traces! Press any key to close this window echo
pause
Bây giờ bạn hãy sửa những chỗ có màu thành tên file của bạn Đừng quên
Trang 7thêm các dòng ‘PAUSE’, chúng tạm dừng các file batch cho đến khi
chương trình portable bị đóng lại (để một số khóa registry bị lock, có
nghĩa là chúng sẽ không thể bị xóa) Sau khi người dùng đóng chương
trình và ấn 1 phím bất kỳ, file batch sẽ tiếp tục Nó sẽ xóa các khóa
registry đã thêm vào, và khi người dùng ấn 1 phím tiếp, nó sẽ đóng file
batch
Đôi lúc mọi thứ sẽ phức tạp hơn 1 chút như với chương trình portable
Feed Demon của tôi chẳng hạn, nó yêu cầu thư mục người dùng phải ở 1 thư mục chỉ định (trong trường hợp này là ‘C:\Documents and
Settings\USER\Local Settings\Application Data\FeedDemon\v1’) Khi đó bạn phải viết 1 file batch để copy cả thư mục vào đĩa cứng và khi đóng
chương trình, copy thư mục đó trở lại ổ cứng USB của bạn và xóa thư
mục đó trên đĩa cứng Dưới đây là 1 ví dụ (Tôi vừa thêm các chú thích
vào file batch Bạn cũng có thể làm được Hãy gõ ‘:: ’
Và chú thích của bạn, nó sẽ bị phớt lờ khi file batch được thực thi):
@echo off
:: CONFIGURATION
set PROGPATH=%CD%\FeedData
set DATAFOLDER=%USERPROFILE%\Local Settings\Application
data\FeedDemon\v1
set BACKUP=xcopy /s /c /d /e /h /i /r /k /y
:: COPY FILES TO TEMPORARY FOLDER
if exist "%DATAFOLDER%" RMDIR "%USERPROFILE%\Local
Settings\Application Data\FeedDemon\" /S /Q
%BACKUP% "%PROGPATH%" "%DATAFOLDER%" echo
echo
echo Starting program When finished, press SPACE to update the
files
echo When you close this screen, the changed/updated feeds/settings
will be lost!
echo
echo
FeedDemon.exe
PAUSE
:: BACKUP FILES AND REMOVE TEMPORARY FILES
echo
Trang 8echo
%BACKUP% “%DATAFOLDER%” “%PROGPATH%”
RMDIR “%USERPROFILE%”\LOCAL SETTINGS\APPLICATION DATA\FeedDemon\” /S /Q
echo
echo
Echo Update Finished!
Echo
PAUSE
Là nó đấy Bây giờ zip hoặc rar nó lại và Upload lên đâu đó Phương pháp này đơn giản nhưng hiệu quả Nhớ rằng nó không hiệu quả với tất
cả các chương trình (nhất là các chương trình cần drivers như 1 số
chương trình ghi CD và một số chương trình lớn như một số chương trình của hãng Adobe Vài ví dụ cuối (.bat và reg):
http://rapidshare.de/files/36372876/Batch Files.zip
Hy vọng bạn sẽ học được điều gì đấy Nếu có câu hỏi nào, hãy liên hệ với tôi
Hẹn gặp lại,
DBZ FYAM
http://www.naruto-uzumaki.com
Bài này dành tặng cho bạn của tôi tại : http://www.projectw.org
Tái bút: lệnh echo trong file batch(.bat) có thể dùng để in ra 1 dòng
trắng
Tái bút lại: Luôn luôn test chương trình Portable trên máy của bạn, trong VMware và nếu có thể là trên 1 máy khác trước khi phát hành nó