[SMCC] Tong hop ve Portable
- From: "Le Van Mai" <levanmaibc@xxxxxxxxx>
- To: <smcc@xxxxxxxxxxxxx>
- Date: Tue, 26 Jun 2012 14:08:37 +0700
Nguồn: http://www.vn-zoom.com/f229/lam-portable-voi-nsis-1391382.html
================================================== ======
Chào các bạn, để các bạn có cái nhìn tổng quan về Portable, hôm nay mình xin
trình bày một số thông tin sau
A. Những điều cần biết về Portable
1. Khái niệm Portable
Một Portable sẽ có khái niệm (không có định nghĩa) được phản ánh qua những đặc
điểm cơ bản sau:
1.1. Đã được đóng gói sẵn vào một thư mục hoặc một file thực thi .exe duy nhất.
1.2. Tự chạy khi kích hoạt file thực thi .exe mà không cần phải cài đặt và đăng
ký.
1.3. Có thể chạy tốt với đầy đủ chức năng trên ổ cứng, USB, mọi hệ điều hành,
mọi tài khoản người dùng máy tính.
Với Portable dạng nâng cao sẽ có thêm những chức năng
1.4. Lưu lại những thiết lập ở lần sử dụng trước để sử dụng tiếp vào lần sau.
1.5. Không để lại dấu vết (xóa sạch file "rác" trong phân vùng cài Win, key
"rác" trong Registry) sau khi exit Portable nên không gây nặng máy.
1.6. Có thể update cho Portable.
Vì vậy, để hiểu rõ hơn về Portable dạng nâng cao các bạn hãy thử và cho ý kiến
về những Portable của trang Portableapps.com (những Portable
này được tạo
bởi phần mềm NSIS Portable hoặc Portableapps.com Launcher). Các bạn có thể tham
khảo chi tiết cách sử dụng ở trang
http://portableapps.com/support/portable_app.
Bên cạnh, mình cũng xin trích nhận xét của ChinhKhoi
#8
Trích ChinhKhoi View Post
1 phần mềm làm ra thấy chạy đc chưa hẳn đã đc gọi là Portable. Portable đúng
nghĩa như cái tên của nó thì phải mang đi đc cả những settings mà
ta đã thiết
lập cho p.mềm ngoài ra không để lại File rác trong máy sau khi chạy và nhiều
cái khác nữa...v.v
2. Ưu thế của Portable so với phần mềm cài đặt là
2.1. Giúp bạn tiết kiệm được rất nhiều thời gian: Khi bạn có 1 công việc cần
giải quyết gấp liên quan đến phần mềm ít khi được sử dụng (tức là
chưa được
cài đặt) thì Portable là 1 sự lựa chọn đáng giá vì bạn sẽ không phải trải qua
các thao tác thiết lập khi cài đặt hay chờ đợi quá trình cài đặt (nếu
phần
mềm có dung lượng lớn). Hoặc giả sử bạn là chuyên gia quậy phá máy tính, máy
tính của bạn đã nhiều lần “khôi phục cài đặt gốc”. Mỗi lần như
thế, bạn phải
mắc công cài lại Windows và cài nhiều phần mềm cần thiết khác. Quá trình như
vậy thường mất khoảng 2 tiếng. Nhưng nếu bạn đã có sẵn một
“bộ sưu tập” phần
mềm Portable trên CD hay trên một phân vùng ổ cứng khác, quá trình cài đặt sẽ
được rút gọn.
2.2. Giúp bạn tiết kiệm dung lượng ổ cứng: trong trường hợp bạn đang sử dụng
phần mềm cài đặt. Khi máy tính hay phần mềm đó gặp trục trặc,
lỗi (hoặc phần
mềm bị khóa do liên quan đến bản quyền) thì bạn sẽ cài lại phần mềm đó với file
cài đặt. Như vậy trong máy tính của bạn sẽ có 2 bản của 1 phần
mềm (bản
đang chạy trên máy và file cài đặt) tức là trên máy tốn 2 lần dung lượng của 1
phần mềm còn khi sử dụng Portable thì chỉ tốn dung lượng của
chính bản Portable
đó mà thôi.
3. Tình hình phổ biến Portable
Hiện tại, chỉ có một số ít phần mềm Portable được các hãng phần mềm làm ra theo
nhu cầu của người sử dụng. Những phần mềm Portable còn lại
thì do người
tiêu dùng tự làm hoặc dựa trên một số phần mềm khác để làm ra. Còn các hãng
phần mềm lớn không chủ trương biến sản phẩm đang có của họ
thành Portable vì
chỉ cần sao chép ra nhiều bản khác nhau là có thể sử dụng cho rất nhiều PC mà
không cần phải trả phí bản quyền, người tiêu dùng sẽ chuyển
qua sử dụng dạng
Portable và họ sẽ tất thu lớn. Do không liên quan đến bản quyền nên rất nhiều
phần mềm Portable là phần mềm mã nguồn mở.
4. Các loại PortableĐể các bạn dễ hình dung, theo ý kiến chủ quan, mình chia
portable làm 2 loại
dựa trên tác động vào Registry của Windows
4.1. Portable "ảo" làphần mềm được đóng gói chạy trong môi trường ảo (môi
trường này có registry của riêng nó để key của phần mềm add vào)
tạo bởi VMwareThinapp,
Xenocode Virtual Appliance Studio, Evalaze,...
4.2. Portable "thật" là phần mềm tuy được đóng gói nhưng lại tác động thật lên
Registry của Windows như phần mềm cài đặt tạo bởi Multi
Packer, Winrar,Universal Extractor, NSIS-Total Uninstall, PortableApps.com
Launcher, Portable App Creator, Apps Creation Master, các soft
theo dõi (monitor) thay đổi
registry khi cài đặt phần mềm (Total Uninstall (TU), FindChangeTool,
WhatChanged, RegFromApp,
RegShot, Disk and Registry Alert, MJ Registry Watcher,..), các soft chuyển phần
mềm cài đặt từ chỗ này sang chỗ khác cũng "có thể" tạo được
Portable (Ez File Transplanter, Steam Mover, Application Mover,...). Kể ra cũng
hơi nhiều.
5. Đặc điểm phần mềm tạo Portable
Để các bạn dễ lựa chọn phần mềm tạo Portable phù hợp với bản thân, mình đã sử
dụng, tham khảo, so sánh và nhận thấy
5.1. Ưu thế của Portable "thật" so với Portable "ảo" là có thể dùng
5.1.1. Kết hợp các phần mềm lại với nhau như Firefox với IDM,...
5.1.2. Kết hợp phần mềm với hệ thống như OfficeTab với Word...
5.2. Nếu muốn tạo Portable không cần kết hợp với phần mềm hay với hệ thống tức
là Portable "ảo", các bạn nên sử dụng VMware Thinapp để tạo
vì quá trình
tạo Portable sẽ đơn giản và quá trình sử dụng Portable sẽ không tạo ra file,
key rác "lộn xộn" trong máy.
5.3. Trong các phần mềm tạo Portable "thật", mình đã tìm hiểu và thấy những
nhận xét sau:
5.3.1. Multi Packer
#2
Trích ChinhKhoi View Post
thật sự thì nó chỉ đơn thuần là một Trình đóng gói File (như đúng cái tên của
nó Multi Packer) và chức năng còn kém xa WinRar nhưng lại đc các
bác brồ IT
thổi phồng lên là nó làm đc Portable
Nhưng cũng phải nói là nó cũng làm đc Portable đối với 1 vài soft đơn giản chỉ
cần thư mục trong ProgramFiles (vd như CCleaner), còn đối với
những softmà cần những File trong system32, đăng kí Registry hoặc những cái
khác nữa .v.v. thì cái này có mà khóc thét !hi hi
#14
Trích Tùng - Hacker View Post
Đây chỉ là phần mềm để đóng gói file lại (Giống winrar) để chạy, làm các
portable đơn giản thì được chứ lớn và phức tạp, cần file hệ thống thì
chịu.
5.3.2. Winrar
#13
Trích ChinhKhoi View Post
Nếu máy dùng các Portable đc làm bằng cách này thì chẳng mấy chốc sẽ thành bãi
rác!
cười nhăn răng
Như bạn biết đấy, 1 phần mềm khi cài vào máy và chạy sẽ sinh ra một số File
dùng để lưu các thiết lập của nó.Các thiết lập này thường là các key
đc lưu
trong registry hoặc các File trong Application Data..v.v.
Nhưng các bộ cài thì còn có các trình Uninstall đi kèm để khi ko dùng nữa thì
sẽ gỡ sạch các File và các key đó ra khỏi máy tính
Còn Portable làm bằng Winrar theo như bác chủ thớt hướng dẫn thì ko hề có chức
năng xóa các File này sau khi chạy, mà chỉ đơn giản là dùng
Winrar nén cái
thư mục của chương trình trong Program Files lại mà thôi, hệ quả là sau khi
Portable chạy xong thì các thiết lập của chương trình trong registry
hay trong
thư mục Application Data vẫn còn ngay cả khi bạn xóa cái Portable ấy đi chăng
nữa.
Như vậy mỗi Portable(làm theo kiểu này) của 1 chương trình sau khi chạy lại để
lại 1đống các File và các key trog Registry thì lâu dần máy tính
của bạn
sẽ thành cái gì thì ko nói cũng biết.
5.3.3. Universal Extractor
#36
Trích hiepcun View Post
_Phần mềm này cũng tương tự Winrar thôi,nhưng khác ở chỗ là nó extract các file
có đuôi là .exe,.msi..và một số đuôi khác nữa!nhưng cái này có
rất nhiều
hạn chế như ko phải file exe nào cũng extract được,hay những file khi extract
ra ko hề giống những file trong thư mục C:\Program Files ->ko thể
chạy được!
_cái Universal extractor này chỉ giúp các bác ko phải cài ứng dụng vào máy mà
vẫn lấy được thư mục của ứng dụng trong C:\Program Files và vài
thư mục khác
mà thôi
_còn chuyện cái này làm được Portable vì 1 lí do rất đơn giản là bản thân những
ứng dụng mà nó extract đã có thể tự chạy đc rồi,tức là những
ứngdụng đó
có thể chạy mà ko cần đến các file ở các thư mục khác(ngoài Program Files),các
khóa trong Registry hay các Service..có thể kể ra 1 vài VD đơn
giảnnhư:
Unikey,IDM,CCleaner..vv.Với những ứng dụng đơn giản như vậy thì các bác chỉ
việc copy cái thư mục của ứng dụng đó trong C:\Program Files
là chạy được rồi!
6. Khái niệm về các thành phần khác liên quan đến Portable
Thamkhảo
1. Hỏivề compiler và interpreter?
2. khác biệt giữa trình biên dịch (compiler) và trình thông dịch (interpreter)
6.1. Code - Mã nguồn: khi ta ra lệnh hay nhờ một người A làm việc gì đó, ta sẽ
truyền đạt thông tin bằng ngôn ngữ để A có thể hiểu được. Tương
tự như vậy,
khi tara lệnh cho máy tính thực hiện công việc gì, ta cũng phải dùng ngôn ngữ
để máy có thể hiểu. Tuy nhiên ngôn ngữ thông thường mà con
người dùng trong
cuộc sống khác xa ngôn ngữ mà máy hiểu. Ngược lại, việc dùng trực tiếp ngôn ngữ
của máy để viết một loạt lệnh cho máy thực hiện thì lại vô
cùng vất vả.
Vì vậy người ta đã tạo ra những ngôn ngữ lập trình cao có cú pháp và thành phần
gần như ngôn ngữ thông thường nên dễ hiểu, dễ viết rất nhiều
(đối với người
đã học về lập trình). Từ đó ta cần một chương trình để dịch một đoạn mã (mà ta
gọi là Code) từ ngôn ngữ lập trình cao (ngôn ngữ nguồn) sang
ngôn ngữ mà
máyhiểu và file chứa Code được gọi là file nguồn (ở đây Code được viết trong
file nguồn là Template.nsi). Việc dịch này có thể làm theo chủ yếu
bằng hai
cách:6.2. Compiler - Trình biên dịch: là chương trình dịch toàn bộ Code trong
file nguồn để tạo thành file thực thi .exe có thể được đem đi sử dụng
độc lập
và không còn phụ thuộc vào Compiler nữa (ở đây Compiler là NSIS Portable).
6.3. Interpreter - Trình thông dịch: là chương trình vừa dịch từng Code trong
file nguồn vừa chạy/thực thi từng lệnh nên mỗi lần cần chạy lại lệnh
thì
phải dùng lại
Interpreter. Ví dụ, mỗi lần thực thi lệnh trong file .bat thì phải dùng lại DOS
tích hợp trong Windows.
6.4. Launcher (tạm gọi là trình phóng): đây là thành phần đặc trưng của
Portable theo PortableApps.com Format™ 3.0 (2012-04-18) được gọi là file
quản lý
${PNAME}.exe có chức năng điều khiển toàn bộ hoạt động của Portable. Ví dụ như
TreeSize Free Portable.exe
7. Các bạn có thể tham khảo thêm trong Google hoặc muốn đơn giản, trực quan
sinh động hơn nữa là trong Youtube với các từ khóa tiếng Việt
lẫn tiếng Anh:
tạo portable (creat portable), làm portable (make portable), portable hóa
(portabilize). Gợi ý: để tăng kết quả khi tìm trong Google thì có thể thay
thế
những từ khóa đồng nghĩa với nhau như:
Application (ứng dụng) có thể viêt là App, Program (chương trình), Software
(phần mềm). Make (làm) có thể là Create (tạo), Portabilize (di động
hóa) nênMaker viết thành Creator, Portabilizer. Portable có thể là Pocket
(túi), Standalone (độc lập)...Mình tìm được một số link tham khảo
7.1. How To Make Portable Applications
7.2. Free Portable Apps Creator 0.972 beta tutorial
7.3. Create portable application Using Portable Application creation master
7.4. How To Create Your Own Portable Program (trong
http://pocketprograms.blogspot.com/)
7.5. How to make Portable with NSIS
8. Một số trang cung cấp phần mềm portable
8.1. http://portableapps.com/apps
8.2. http://portableappz.blogspot.com/
8.3. http://punsh.at.ua/ (dịch sang tiếng Anh)
8.4. http://www.thinstallsoft.com/
8.5. http://portable-apps.net/
8.6. http://www.pendriveapps.com/
8.7. http://www.portablefreeware.com/
8.8. http://baltagy.blogspot.com/
8.9. http://portableturk.com/apps/portable-apps/
9. Nếu có thắc mắc gì về các bước tạo Portable với NSIS, các bạn có thể tham
khảo thêm trang thuần Việt http://portableappsviet.com/ do bạn
NGOCHUY1991
đam mê Portableapps, nghiên cứu kỹ trong vòng hơn 6 tháng và với mục đích chia
sẻ, trao đổi kinh nghiệm với mọi người nên đã trình bày hướng
dẫn rất chi tiết thành nhiều bài ở trang này.
B. Nguyên lý hoạt động của phần mềm Portable
Tham khảo
1. Test PortableApps
2. Theo dõi truy xuất hệ thống file và registry của một ứng dụng bất kỳ với
ProcessMonitor
3. Real-time monitor với ProcessHacker
4. SysTracer Portable v2.6 – Track file and registry changes in your computer
Việc tạo Portable là lập trình lại phần mềm nên việc tìm hiểu nguyên lý hoạt
động của Portable (còn gọi là test Portable) cũng không kém phần
quan trọngtrong việc không chỉ đảm bảo sự hoạt động ổn định của mọi bản
Portable mà còn có ích trong việc sử dụng bất cứ ngôn ngữ lập trình
khác ngoài NSIS để tạo
Portable (ví dụ như tạo Portable với file .bat, .cmd chứa những lệnh của DOS).
Một số phần mềm có thể giúp bạn theo dõi quá trình này là
Process Monitor,
Process Hacker, Systracer.
Với Systracer, bạn tạo bản snapshot thứ 1 trước khi run portableapps. Trong khi
run và trước khi exit portableapps, hãy tạo bản snapshot thứ 2.
Đến đây
bạn cứ sử dụng portableapps như bình thường. Cuối cùng, sau khi exit khoảng
10s, tạo bản snapshot thứ 3, kết thúc công đoạn tạo snapshot.
Vậy với 3 bảnsnapshot trên, công việc test portableapps đã sẵn sàng. Rất đơn
giản, bạn chỉ việc Compare bản snapshot thứ 1 và thứ 3. Còn
muốn xem những thay đổi trong
hệ thống trong khi ứng dụng đang hoạt động nhằm mục đích nghiên cứu, chỉ việc
Compare snapshot thứ 1 và thứ 2.
1. Với Portable dạng nâng cao
1.1. Chuẩn bị môi trường máy tính trước khi chạy Portable
1.1.1. Run Launcher.
1.1.2. Backup file, folder hệ thống.
1.1.3. Restore/Copy file, folder của Portable vào hệ thống.
1.1.4. Backup registry hệ thống thành file .reg chứa key hệ thống.
1.1.5. Restore/Import file .reg chứa key Portable vào Registry.
1.2. Môi trường máy tính trong khi chạy và trước khi exit Portable
1.2.1. Run App.
1.2.2. Exit App.
1.3. Khôi phục lại môi trường máy tính như ban đầu sau khi exit Portable
1.3.1. Backup file, folder của Portable.
1.3.2. Delete file, folder của Portable
1.3.3. Restore file, folder hệ thống.
1.3.4. Backup key Portable trong Registry thành file .reg chứa key Portable.
1.3.5. Delete key Portable trong Registry.
1.3.6. Restore file .reg chứa key hệ thống vào Registry.
1.3.7. Exit Launcher.
2. Với phần mềm cài đặt hay Portable đơn giản chỉ có các bước sau (nên sẽ để
lại key, file rác trong máy)
2.1. Restore/Copy file, folder của phần mềm/Portable vào hệ thống.
2.2. Restore/Import file .reg chứa key phần mềm/Portable vào Registry.
C. Các đặc điểm của phần mềm cài đặt
Việc kiếm cho bản thân 1 chương trình Portable trên mạng là không khó nhưng để
tự làm ra 1 phần mềm portable thì không phải ai cũng làm được.
Đặc biệt
việc tạo ra 1 phần mềm Portable có những đặc điểm của dạng Portable nâng cao
như khái niệm cũng như không bị ảo hóa như Portable "ảo" lại
càng đòi hỏi
sự tỉ mỉ, phức tạp hơn trong cách làm. Bởi các bạn sẽ phải căn cứ vào các đặc
điểm đặc trưng, riêng biệt của mỗi phần mềm để làm thành bản
Portable như
ý muốn bao gồm những đặc điểm sau (Các dòng đánh dấu * là các trường hợp khó
tạo Portable):
1. Đặc điểm bản quyền
1.1. Miễn phí mã nguồn mở: được phép tự do sử dụng, chia sẻ phần mềm.
1.2. Có phí mã nguồn đóng: phải có Key, Name đăng ký (Serial key, keygen – key
maker) hoặc Crack, Patch để có thể sử dụng được phần mềm.*
2. Đặc điểm file thực thi “.exe”
2.1. Một file “.exe”: phần mềm chỉ có 1 file thực thi .exe của chính nó (dạng
phổ biến).
2.2. Nhiều file “.exe”: phần mềm có nhiều file thực thi .exe của chính nó. Vd:
Microsoft Office, Nero (ghi đĩa),…*
2.2.1. Những file .exe không liên quan đến nhau: phần mềm không có chức năng mở
file B.exe thông qua file A.exe.
2.2.2. Những file .exe có liên quan đến nhau: phần mềm có chức năng mở file
B.exe thông qua file A.exe. Ví dụ với phần mềm ghi đĩa Nero, nếu mở
file
NeroStartSmart.exe (trong thư mục C:\Program Files\Nero\Nero8\Nero StartSmart)
-> click vào Tab Rip and Burn -> chọn tiếp tùy chọn trong đó
(ví dụ BurnData Disc) -> nó sẽ mở file Nero.exe (trong thư mục C:\Program
Files\Nero\Nero8\Nero Burning Rom).
3. Đặc điểmvề key phần mềm trong Registry khi cài đặt phần mềm
3.1. Chỉ thêm (add) key của phần mềm vào Registry của Windows (dạng phổ biến).
3.2. Thêm và sửa (modify) cả key của Windows trong Registry. Vd: phần mềm đóng
băng, Antivirus,…*
4. Đặc điểmvề file khi cài đặt
Thêm file (.dll,..) vào những thư mục của phần mềm trong ổ C: như C:\Windows
hoặc
C:\Windows\system32, C:\Program Files\Common Files, C:\Documents and
Settings\{Tên người dùng}\Application Data (WinXP) hoặc
C:\Users\{Tên người dùng}\AppData\Roaming
(Win7),...5. Đặc điểm về file service: .sys, .exe, .dll *
Tham khảo Kích hoạt “Running” cho services portableapps bằng tay thông qua
ProcessHacker
Service thường thuộc quyền sở hữu của những phần mềm A cần sử dụng kết hợp với
phần mềm B khác (ví dụ Internet Download Manager cần
sử dụng kết hợp với
trình duyệt web) có chức năng theo dõi phần mềm B. Đến khi phát hiện tình huống
cần đến chức năng của phần mềm A thì nó sẽ gọi file thực thi
chính củaphần mềm A hoạt động. Ví dụ: Service của Internet Download Manager có
chức năng theo dõi trình duyệt web (mà nó hỗ trợ) để sẵn
sàng bắt link, hỗ trợ tăng
tốc download khi cần thiết. Nếu nó không hoạt động thì khả năng phát hiện link
và hỗ trợ tăng tốc download là không còn.
6. Những thiết lập khi sử dụng phần mềm
Được lưu trong Registry và những thư mục của phần mềm trong ổ C:.
D. Tiếp theo là hướng dẫn
Tham khảo:
1. Hướng dẫn sử dụng ApplicationPortableTemplate.nsi
2. Nguyênlý hoạt động của PortableApps phát triển từ
ApplicationPortableTemplate.nsi Format
3. Phòng thử nghiệm VirtualBox – Nơi thực tập cho dân vọc máy tính
Các bạn cần chuẩn bị những phần mềm cấn thiết sau:
1. Total Uninstall Portable (TU): dùng để quét toàn bộ hệ thống trước khi cài
đặt và tìm ra những thay đổi sau khi cài đặt. Download link MF
mediafire.com/?72rr29kd0f1574y, TurboBit.net, LetItBit.net, DepositFiles.com.
1.1. Sau khi tải về, ngắt kết nối Internet (Open Network and Sharing Center ->
Change adapter settings -> Right click vào biểu tượng màn hình
xanh -> Disable).
1.2. Giải nén Total_Uninstall.exe -> Mở thư mục Total Uninstall -> Mở tập tin
TotalUninstall5Portable.exe -> Vào Инструменты (Tools) -> Настройки...
(Options...) -> Chọn ngôn ngữ là English -> OK.
1.3. Vào Help -> Register... -> Đăng ký với name, key có trong tập tin
SERIAL.txt.
1.4. Vào Tools -> Options... -> Web updates -> Chọn Check update method là
Manual (vì bản Portable này tạo từ bản đã crack nên có thể đổi tùy chọn update
method tùy ý, còn nếu là bản thường thì tùy chọn update
method là Automatic
ở dạng "chìm" và không thể thay đổi) -> OK.
1.5. Mở lại kết nối Internet (Open Network and Sharing Center -> Change adapter
settings -> Right click vào biểu tượng màn hình đen -> Enable)
->Sử dụng
thoải mái!
Lưu ý: để gỡ sạch 1 phần mềm A có 2 trường hợp
TH1: phần mềm A đã cài đặt trên máy trước khi sử dụng TU
Dùng công cụ xóa bất kỳ gỡ phần mềm A -> Sau khi gỡ lần 1 phần mềm A, monitor
quá trình cài đặt của phần mềm A bằng TU: Vào menu File ->
Install new...
-> Next -> Chọn file cài đặt của phần mềm A trong mục Setup program path ->
Launch setup program -> Program is installed -> Complete the
monitoring processlater -> Gỡ bỏ lần 2 phần mềm A bằng TU.
TH2: phần mềm A dự định sử dụng nhưng vẫn chưa cài đặt trên máy: tương tự
trường hợp 1 từ bước monitor.
Nếu muốn đơn giảnhơn các bạn có thể sử dụng phần mềm đóng băng Shadow Defender
(ACKCR-YUAWF-8RWPW-NV3UI-11ISP) để máy tính trở về trạng thái trước khi cài
đặt: đóng băng máy tính -> cài đặt phần mềm -> tạo Portable
-> gỡ đóngbăng
máy tính2. IcoFX Portable: trích 1 Icon bất kì để làm Icon cho file thực thi.
Hướng dẫn sử dụng
3. Notepad++ Portable: dùng để edit code cho các phần mềm lập trình (ví dụ như
NSIS). Phần mềm này hỗ trợ edit rất nhiều định dạng file (".nsi",
".ini",
".nsh",...), tính năng Highlighting có chức năng đánh màu cho các câu lệnh theo
từng nhóm khác nhau, giao diện thân thiện, dễ sử dụng, hỗ trợ
mở nhiều
file cùng lúc, tìm kiếm dễ dàng hơn nhờ đánh số thứ tự cho mỗi hàng, rút gọn
các lệnh như cây thư mục Explorer của Windows…tất cả xem như
quá hoàn hảo,
xứng đáng thay thế Notepad cổ điển của Window. Hướng dẫn sử dụng: phần 1, phần 2
4. NSIS Portable: sau khi edit code NSIS trong tập tin Template.nsi cho ứng
dụng cần làm portable (được viết bằng ngôn ngữ lập trình NSIS), ta
sẽ biên
dịch nó bằng NSIS Portable để tạo ra file .exe.
5. Template.nsi: là tập tin chứa tập lệnh (các lệnh) đặc trưng được viết theo
ngôn ngữ lập trình của NSIS và có đuôi là ".nsi". Tập tin Template.nsi
có
nhiệm vụ chứa những thiết lập cần thiết để NSIS biên dịch và tạo ra file thực
thi ".exe" thực hiện các chức năng của Portable. Các bạn tra từ điển Anh-Việt
sẽ thấy từ "Template" có nghĩa là "mẫu". Ở đây Application Portable
Template.nsi (phiên bản 2.7.3) là một template được xây dựng dựa trên
PortableApps.com
Format 1.0 nên nói rằng ApplicationPortableTemplate.nsi thuộc PortableApps.Com
Format thì cũng đúng. Tuy nhiên hiện tại thì PortableApps.Com Format đã cho ra
phiên bản mới PortableApps.com Format™ 3.0 (2012-04-18) và nó đã thay đổi rất
nhiều. Bởi nó được xây dựng bằng PortableApps.com Launcher,
một ứng dụng mã nguồn mở do
Chris Morgan – một thành viên “già làng” của PortableApps.Com phát triển nên
tác giả
NGOCHUY1991 đã quyết định chỉnh sửa lại ApplicationPortableTemplate.nsi (hỗ trợ
cho PortableApps.com Format™ 1.0) thành
Application Portable Template (Fixed By PAV).nsi (nằm trong đường dẫn
Application Portable Template (Fixed By PAV)\Other\${APP} Portable
Source). Sau khi
tải về bạn mở file Application Portable Template (Fixed By PAV).nsi bằng
Notepad++ Portable và quan sát ở dòng thứ 4
Requiredplugins: NewAdvSplash, Registry, FindProc, Dialogs
Đây chính là những plugin mà file Application Portable Template (Fixed By
PAV).nsi
đòi hỏi NSIS Portable phải có đủ (ở đây là 4 plugin). Vì vậy bạn vào đường dẫn
NSISPortable\App\NSIS\Plugins kiểm tra xem có đủ những plugin này chưa (một
nguyên tắc là bạn khai báo plugin nào trong code thì plugin đó
phải tồn tại
trong folder này, danh sách plugins trong folder này chưa thể cập nhập hết, vì
đơn giản plugins có rất nhiều, chúng có thể được tạo ra bởi bất kỳ
ai cókiến thức về code NSIS), nếu chưa thì vào trang Category Plugins ->
Download plugin còn thiếu về (ở bản NSIS Portable này thì plugin còn
thiếulà Dialogs.dll)
-> Giải nén file .zip -> Vào folder sau khi giải nén -> Tìm đến file có đuôi
.dll (đây là đuôi của Plugin trong NSIS) -> Bỏ vào folder
NSISPortable\App\NSIS\Plugins. Tham khảo thêm bài Compile code NSIS với NSIS
Portable.
6. Phần mềm được tạo Portable
6.1. TreeSize Free thông thường người dùng máy tính rất mất thời gian trong
việc quan sát nhằm mục đích quản lý để lập ra cây folder. Windows
đã cung cấp
trình Explorer mặc định nhưng nó có nhược điểm chỉ show cây folder tại cửa sổ
bên tay trái, còn nội dung của các folder đó thì phải quan sát bên
cửa sổtay phải. Vì vậy, TreeSize Free không chỉ giúp bạn show các folder con mà
còn show hết các file (bao gồm tên file, loại file, kích cỡ…) bên
trong các folder
đó.
6.2. Office Tab Từ lâu, phương thức duyệt nhiều cửa sổ trang web theo thẻ Tab
đã được sử dụng rộng rãi trong hầu hết trình duyệt (như Firefox).
Nếu muốn
áp dụng cách duyệt file theo thẻ Tab trong Microsoft Word, Excel, PowerPoint,
bạn có thể nhờ sự trợ giúp của tiện ích OfficeTab. Điểm độc đáo
của OfficeTab
so với các phần mềm cùng chức năng: cho phép bạn tùy chọn kiểu dáng và vị trí
của thanh chứa thẻ theo nhu cầu (phía trên, phía dưới, bên trái,
hoặc bên
trái giao diện Word, Excel, PowerPoint). (Nguồn download
Office Tab 7.0 Full crack (Duyệt tài liệu theo thẻ) đã hỗ trợ Powerpoint2010 và
các ứng dụng khác download link
mediafire.com/?wrc2fc5fbztmjbo)
E. Vài nét về file Application Portable Template
(Fixed By PAV).nsi Và cách thiết lập với những file, folder của PortableTham
khảo
1. Sửa lỗi cơ bản trong Application Portable Template.nsi
2. Biến và Hằng trong code NSIS3. Hướng dẫn sử dụng
ApplicationPortableTemplate.nsi
Khi mở bằng Notepad++ Portable1. Các thành phần và màu sắc
Để hiểu rõ hơn về các thành phầntrong file Application Portable Template (Fixed
By PAV).nsi, các bạn có thể tham khảo thêm ở file help NSIS
Portable\App\NSIS\NSIS.chmcó chứa những hướng dẫn chi tiết, đầy đủ về code NSIS.
1.1. Phần giải thích (được Notepad++ Portable gán màu xanh lá) quy định bắt đầu
bằng dấu ; hoặc /* giúp bạn hiểu rõ hơn nội dung của những
dòng code. Vídụ
; # Change the following constants depending on the application you want to
make portable
1.2. Phần hằng (được Notepad++ Portable gán màu cam). Hằng trong code cũng
tương tự như trong toán.
1.2.1. Loại 1 làhằng đã được khai báo đồng thời đã được gán sẵn 1 giá trị mặc
định, khi cần sử dụng ngay. Ví dụ muốn dùng hằng $EXEDIR thì chỉ
việc đặtnó vào nơi bạn muốn dùng, không cần khai báo và gán trị nào hết. Mặc
định đường dẫn của hằng
$EXEDIR là nơi thư mục chứa file chạy ứng dụng đó. Mỗi hằng trong danh sách
dưới đây đã được gán 1 đường dẫn mặc định trên HĐH, để biết
thêm chi tiết về
các đường dẫn này, các bạn có thể tham khảo thêm trong NSIS Manual
$PROGRAMFILES, $PROGRAMFILES32, $PROGRAMFILES64, $COMMONFILES, $COMMONFILES32,
$DESKTOP,
$EXEDIR, $EXEFILE, $EXEPATH, ${NSISDIR}, $WINDIR, $SYSDIR, $TEMP, $STARTMENU,
$SMPROGRAMS,
$SMSTARTUP, $QUICKLAUNCH, $DOCUMENTS, $SENDTO, $RECENT, $FAVORITES, $MUSIC,
$PICTURES,
$VIDEOS, $NETHOOD, $FONTS, $TEMPLATES, $APPDATA, $LOCALAPPDATA, $PRINTHOOD,
$INTERNET_CACHE,
$COOKIES, $HISTORY, $PROFILE, $ADMINTOOLS, $RESOURCES, $RESOURCES_LOCALIZED,
$CDBURN_AREA,
$PLUGINSDIR, $HWNDPARENT
1.2.1.1. ${APP} là hằng chỉ định tên ứng dụng được làm Portable ví dụ như
TreeSize Free
!define LONGAPP "${APP}" ; long name of your application used for
desriptive fields (if the exe should not contain a space, but the
description could)1.2.1.2. ${PNAME} là hằng chỉ định tên ứng dụng Portable (lưu
giá trị là chuỗi ${APP}
Portable) ví dụ như TreeSize Free Portable
!define SPLASHIMAGE "${PNAME}.jpg"
1.2.1.3. $APPDATA là hằng chỉ định đường dẫn mặc định đến folder chứa các cấu
hình chính của những ứng dụng được cài đặt trực tiếp trên
máy tính 1.2.1.3.1. Cấp Users
Với Win XP: C:\Documents and Settings\{Tên người dùng}\Application Data
Với Win 7: C:\Users\{Tên người dùng}\AppData\Roaming
!define SETTINGSFOLDERSUSERS "$APPDATA\JAM Software"
1.2.1.3.2. Cấp All Users
Với Win XP: C:\Documents and Settings\All Users
Với Win 7: C:\ProgramData
!define SETTINGSFOLDERALLSUSERS "$APPDATA\MARTAU"
1.2.1.4. $EXEDIR là hằng chỉ định đường dẫn mặc định đến folder chứa file quản
lý .exe
của ứng dụng Portable ví dụ như TreeSize Free Portable.exe
1.2.1.5. ${APP} là hằng chỉ định đường dẫn mặc định đến folder chứa file thực
thi gốc
.exe của ứng dụng được làm Portable ví dụ như TreeSize Free.exe.
1.2.1.6. $WINDIR là hằng chỉ định đường dẫn mặc định đến folder C:\Windows
1.2.1.7. $SYSDIR là hằng chỉ định đường dẫn mặc định đến folder
C:\Windows\System32
1.2.2. Loại 2 là những hằng số mà các bạn phải tự khai báo và gán giá trị cho
nó nên thường đứng sau chữ !define. Ví dụ khi sử dụng hằng số
${EXE},đây
là hằng loại 2 nên phải khai báo cho nó trước khi sử dụng nghĩa là gán cho hằng
số ${EXE} giá trị rỗng, biểu thị bằng 2 dấu ngoặc kép liên tiếp.
!define EXE ""
1.3. Phầnbiến (được Notepad++ Portable gán màu đen). Ví dụ $PROGRAMDIR. Biến
trong code cũng tương tự như trong toán. Bạn có thể đặt tên
cho một vấn đề
nào đó chưa biết là biến, sau đó dựa trên những thứ liên quan đến nó để lập hàm
hay phương trình tìm lời giải. Trong code thì biến phải được khai
báo trước
khi thực hiện bất kỳ một hàm nào, và nó tuân theo nguyên tắc “mỗi biến chỉ có 1
ô nhớ”, nếu trước đó bạn đã gán giá trị cho biến nhưng sau này
lại tiếp
tục gán cho biến đó 1 giá trị khác thì cuối cùng biến sẽ nhận giá trị mới bạn
vừa gán, không có nghĩa là nó không nhận giá trị cũ, nhưng kể từ thời
điểm
bạn gán lần nữa thì nó sẽ nhận trị mới. Điều này vô cùng hữu ích nếu ai đó
không muốn code của họ chứa quá nhiều biến. Thay vào đó, họ sẽ
chỉ khai báo
1 biến rồi dùng biến đó cho nhiều công đoạn khác nhau, cứ mỗi lần sử dụng biến
xong có thể họ lại gán trị rỗng cho biến này hoặc gán 1 trị mới
cho 1 công
đoạn mới, kiểu như reset lại mặc định của biến ấy mà. Trong NSIS, biến gồm 2
loại.
1.3.1. Loại 1 là những biến đã được khai báo sẵn trong code NSIS, và do đó khi
sử dụng không cần đến công đoạn khai báo nữa, chỉ cần nêu tên
biến và sử
dụng ngay. Ví dụ nếu muốn dùng biến $INSTDIR thì đem ra dùng luôn, không khai
báo gì hết. Danh sách các tên biến loại 1 này gồm
$0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $R0, $R1, $R2, $R3, $R4, $R5, $R6, $R7,
$R8, $R9, $INSTDIR, $OUTDIR, $CMDLINE, $LANGUAGE
1.3.2. Loại 2 là những biến bạn phải tự khai báo, nếu chưa khai báo mà sử dụng
ngay như biến loại 1 thì NSIS báo có lỗi. Ví dụ khi muốn sử dụng
biến $PROGRAMDIR
thì trước đó phải khai báo biến này như sau
Var PROGRAMDIR ; holds the path to the above EXE file
1.4. Phần hàm (được Notepad++ Portable gán màu đen hoặc màu xanh dương).
1.4.1. Ở dòng 400 hàm StrCpy thực hiện lệnh copy đường dẫn chứa file thực thi
gốc
.exe của ứng dụng đến biến số $PROGRAMDIR
StrCpy "$PROGRAMDIR" "$EXEDIR\App\${APP}"
1.4.2. Các hàm InitFilesAllUsers, InitFoldersAllUsers và CleanFoldersAllUsers,
CleanFilesAllUsers thực chất như hàm InitFilesUsers, InitFoldersUsers hay
CleanFoldersUsers, CleanFilesUsers nhưng được chỉnh sửa lại hằng số và thêm vào
hàm:
SetShellVarContext all1.4.3. Hai hàm chính: ValuesToStack và RegFileToStack
giúp nhận biết các đường dẫn được ngăn cách bởi || trong một số
hằng như DOREG (nếu bật REGKEYS),DOFILESUSERS (nếu bật SETTINGSFILESUSERS),
DOFOLDERSUSERS (nếu bật
SETTINGSFOLDERSUSERS),…!ifdef DOREG | DOFILESUSERS | DOFILESALLUSERS |
DOFOLDERSUSERS | DOFOLDERSALLUSERS |
DOPATH2. Nguyên lý hoạt động của Portable được thể hiện trong những dòng từ 271
đến
286Call InitINI ; apply INI settings
Call InitVars ; set default variable values when no INI is used
Call InitInstall ; installs additional files, e.g. sources or INI-files
Call Init ; other initalizations before any registry, folder, or fileoperations
are done
Call InitReg ; backup current reg, apply portable reg
Call InitFilesUsers ; rename current files, apply portable files
Call InitFoldersUsers ; rename current folders, apply portable folders
Call InitFilesAllUsers ; can be used for custom settings like e.g. file
manipulations, empty by default
Call InitFoldersAllUsers ; can be used for custom settings like e.g. file
manipulations, empty by default
Call RunApp ; run app
Call CleanFoldersAllUsers ; can be used for custom cleanup like e.g. file
manipulations, empty by default
Call CleanFilesAllUsers ; can be used for custom cleanup like e.g. file
manipulations, empty by default
Call CleanFoldersUsers ; copy portable folders, delete portable folders,
restore original folders
Call CleanFilesUsers ; copy portable files, delete portable files, restore
original files
Call CleanReg ; copy reg, restore original reg
Call Clean ; Absolute last things to do, cleanup
Tạiđây bạn sẽ thấy cách trình bày “đệ quy” tên danh sách các tiến trình chính –
được thực thi bởi file quản lý ${APP} Portable.exe. Từ dòng 271
đến279,
công việc chính mà file quản lý sẽ làm là chuẩn bị trước môi trường cần thiết
cho ứng dụng hoạt động như backup,…Dòng 280, hàm RunApp sẽ
thực hiện việc
gọifile thực thi chính của ứng dụng cần làm portable. Từ dòng 281 đến 286, file
quản lý sẽ cập nhập mới cho files, folders cấu hình và .reg file của
ứng
dụng, sau đó khôi phục lại môi trường như trước khi khởi chạy ứng dụng
portable. Trình tự thực hiện của nó theo đúng thứ tự từ trên xuống dưới.
Cụthể
từng hàm như thế nào, các bạn xem từ dòng 288 trở xuống.
3. Những phần cần bổ sung vào file Application Portable Template (Fixed By
PAV).nsi
Cácbạn thêm vào giữa " " hoặc vào bổ sung thêm các hàm
3.1. Với hằng APP: thêm vào giữa " " tên thư mục của ứng dụng ở cấp thấp nhất
(tên thư mục không theo tên nhà sản xuất ví dụ như JAM
Software mà là TreeSize
Free) trong thư mục cài đặt Program Files.
!define APP "" ; insert application name, e.g. "TestApp"; this one is used for
the final executable an in the directory structure
3.2. Với hằng VER: thay 0.0.0.0 thành phiên bản ứng dụng Portable bằng cách
click phải vào file thực thi .exe của ứng dụng, chọn
Properties\Details và
xemở dòng File version hoặc Product version để biết số version của ứng dụng.
!define VER "0.0.0.0" ; insert version of launcher,first two digits are
version numbers, last digit is packet revision
3.3. Với hằng EXE: thêm vào giữa " " tên file thực thi chính của ứng dụng được
làm Portable kèm định dạng .exe. Vì portable yêu cầu quyền admin
nênnếu
có 2 file
Program.exe và Program(Admin).exe bạn có thể chọn file Program(Admin).exe
khai báo cho hằng EXE.
!define EXE "" ; insert program exe name, e.g. "testapp.exe"
3.4. Với hằng REGKEYS: thêm vào giữa " " tên file .reg của ứng dụng, quy ước
tên trùng với giá trị của hằng ${APP}, ví dụ TreeSize Free.reg (nếu
ứng dụng
không có file
.reg, hãy thêm dấu ; trước !define REGKEYS). Nếu Portable của bạn có sử dụng
file
.reg và có bật hàm REGKEYS thì bắt buộc bạn phải đặt file .reg đó vào folder
Data của ứng dụng Portable, nếu không file quản lý sẽ không thể
thực hiện tính
năng copy – update – restore file .reg và dẫn đến tình trạng ứng dụng không
nhận phiên bản PRO (với những ứng dụng lưu khóa PRO VERSION
trong Registry),
cũng như để lại rác trong Registry sau khi sử dụng.
!define REGKEYS ""3.5. Theo NSIS, nó chỉ định nghĩa chính xác hằng $EXEDIR khi
trước nó có đặt hàm
OutFile. Tuy nhiên trong khai báo cho hàm OutFile có thêm hằng ${PNAME} nên
phải đặt OutFile sau !define PNAME nên sẽ có trình tự code
như sau:!define PNAME "${APP} Portable"
OutFile "..\..\${PNAME}.exe"
!define SETTINGSFILESUSERS
"$EXEDIR\App\${APP}\RegWorkshop.ini||$EXEDIR\App\${APP}\undo.dat||$EXEDIR
\App\${APP}\undo.idx"
Lưu ý:
3.5.1. Trong lập trình, chỉ cần khai báo 1 lần cho 1 hằng (không bao giờ có
khai báo 2 lần cho 1 hằng) nên dòng !define PNAME chỉ có một và nó
phải được
đặt trước khi nó được sử dụng (trong ví dụ là dùng nó ngay trước hàm OutFile).
3.5.2. Chỉ có một hằng $EXEDIR là ngoại lệ phải đặt thêm hàm OutFile trước nó.
Còn những hằng khác như $WINDIR thì nó đã gán sẵn đường
dẫn đến folder Windows
của ổ cài hệ điều hành.3.6. Bạn phải thêm vào đoạn code khai báo trị all cho
hàm SetShellVarContext trước khi sử dụng hằng
SETTINGSFILESALLUSERS hay SETTINGSFOLDERSALLUSERS
nếu muốn sử dụng ở cấp All Users, đoạn code khai báo trị current cho hàm
SetShellVarContext trước khi sử dụng hằng SETTINGSFILESUSERS hay
SETTINGSFOLDERSUSERS nếu muốn sử dụng ở cấp Users.
SetShellVarContext allStrCpy "$R0" "${SETTINGSFOLDERSALLUSERS}" ; copy constant
to working variable
SetShellVarContext current
StrCpy "$R0" "${SETTINGSFOLDERSUSERS}" ; copy constant to working variable
3.7. Với hằng SETTINGSFILESUSERS: thêm vào giữa " " đường dẫn đến file cấu hình
của ứng dụng (thuộc cấp Users). Dùng để lưu những file
cấu hình đơn lẻ
và phải khai báo đầy đủ đường dẫn đến file cấu hình đó kèm định dạng file. Ví
dụ RegWorkshop.ini
sẽ tương ứng với File1.dat, undo.dat sẽ tương ứng với File2.dat, và undo.idx sẽ
tương ứng với File3.dat. Chỉ việc copy 3 file đó vào folder
SettingsFiles
Users và đổi lại
tên.định dạng tương ứng như trên là xong (nhưng nhớ là trước tiên bạn phải
thiết lập hiển thị đuôi cho file, rồi click vào file cần đổi, nhấn F2, bôi
đen
luôn cả định dạng file rồi đổi tên thành File1.dat, File2.dat, File3.dat,…).
Chú ý rằng nếu bạn sử dụng 2 đường dẫn trở lên (tức có sử dụng dấu ||
để phân
cách cho việc khai báo các file…) trong chuỗi nằm giữa " " trong file .nsi thì
thứ tự 1, 2, 3…sẽ được quy ước cho các file theo thứ tự từ trái qua
phải
trong chuỗi nằm giữa " " trong file .nsi tương ứng với File1.dat,
File2.dat, File3.dat,…ở thư mục SettingsFiles Users.
!define SETTINGSFILESUSERS
"$EXEDIR\App\${APP}\RegWorkshop.ini||$EXEDIR\App\${APP}\undo.dat||$EXEDIR
\App\${APP}\undo.idx"
3.8. Với hằng SETTINGSFILESALLUSERS: thêm vào giữa " " đường dẫn đến file cấu
hình của ứng dụng (thuộc cấp All Users). Cách thiết lập
tương tự hằng
SETTINGSFILESUSERS.
!define SETTINGSFILESALLUSERS ""
3.9. Với hằng SETTINGSFOLDERSUSERS: thêm vào giữa " " đường dẫn đến folder cấu
hình của ứng dụng (thuộc cấp Users) có tên có thể theo
tên nhà sản xuất(như JAM Software) trong thư mục Application Data. Nếu phần mềm
lưu thư mục cấu hình trong
%APPDATA%,lưu folder chứa project trong My Documents (hoặc Documents) thì bạn
hãy Copy những thư mục này (nếu có) vào thư mục
SettingsFolders Users rồi
đổi tên những thư mục này thành các tên Folder1.dat, Folder2.dat,
Folder3.dat,…Chú ý rằng nếu bạn sử dụng 2 đường dẫn trở lên (tức có sử
dụng dấu || để
phân cách cho việc khai báo các folder…) trong chuỗi nằm giữa " " trong file
.nsi thì thứ tự 1, 2, 3…sẽ được quy ước cho các folder theo thứ tự từ
trái
qua phải trong chuỗi nằm giữa " " trong file .nsi
tương ứng với Folder1.dat, Folder2.dat, Folder3.dat,…ở thư mục SettingsFolders
Users.
!define SETTINGSFOLDERSUSERS ""
3.10. Với hằng SETTINGSFOLDERSALLUSERS: thêm vào giữa " " đường dẫn đến folder
cấu hình của ứng dụng (thuộc cấp All Users). Cách thiết
lập tương tự hằng
SETTINGSFOLDERSUSERS.
!define SETTINGSFOLDERSALLUSERS ""
3.11. Với hằng USEREGKEYSFILE: giá trị “TRUE” đồng nghĩa với việc nếu tồn tại
file
.reg trong folder Data của ứng dụng portable, nó sẽ sử dụng file .reg đó thay
vì file .reg
được định nghĩa trong !define REGKEYS.
!define USEREGKEYSFILE "TRUE"
3.12. Với hằng DELETEREGKEYS: giá trị “TRUE” đồng nghĩa với việc nếu bạn có
file
.reg và hệ thống Registry của bạn cũng tồn tại các key trong file .reg đó, sau
khi file quản lý tiến hành backup registry, nó sẽ xóa đi các key đang
tồntại trong Registry và tiến hành Merge những key trong file .reg được bạn
định nghĩa ở !define REGKEYS.
!define DELETEREGKEYS "TRUE"
3.13. Với hằng INSTALLSOURCES: giá trị “TRUE” đồng nghĩa với việc khi bạn khởi
động file quản lý ${APP} Portable.exe, nó sẽ add vào folder
Other\${PNAME}
Source
các file như ${PNAME}.ico, ${PNAME}.jpg, Readme.txt.
!define INSTALLSOURCES "TRUE"
3.14. Với hằng INSTALLDEFAULTS: giá trị “TRUE” đồng nghĩa với việc khi khởi
động file quản lý ${APP} Portable.exe, nó sẽ add file .reg mặc
định vào folder
Data (nếu như trên bạn có sử dụng hằng REGKEYS). Tuy nhiên nó không cần thiết
do đó các bạn nên để như mặc định là "FALSE".
!define INSTALLDEFAULTS "FALSE"
3.15. Thêm dấu ; ngay trước hàm để vô hiệu hóa hàm (hay biến hàm thành phần
giải thích). Ví dụ nếu hằng SPLASHIMAGE được định nghĩa thì
nósẽ khởi động
một file ảnh có tên ${APP} Portable.jpg trước khi bắt đầu launch file thực thi
chính và bạn phải chuẩn bị một file ảnh ${APP} Portable.jpg đặt
trong folder
${PNAME} Source của ứng dụng portable. Hãy thêm dấu ; trước !define SPLASHIMAGE
nếu bạn muốn hủy bỏ đi hằng này
; !define SPLASHIMAGE "${PNAME}.jpg"
4. Khi mở file ${APP}.reg (ví dụ Office Tab.reg) bằng Notepad++ Portable nếu có
4.1. Chứa đường dẫn C:\\Windows\\System32 (hoặc C:\\Windows) thì bạn vẫn để
nguyên bởi khi kích hoạt file quản lý ${PNAME}.exe (ví dụ
như Office Tab Portable.exe)
nó sẽ đổi ngược lại chính xác tên của những file File1.dat, File2.dat,... (bạn
đã đổi tên ở phần 2.7 trên) thành tên nguyên gốc (lúc chưa đổi tên
trong
file
${PNAME}.nsi) rồi cho vào thư mục C:\Windows\System32 (hoặc C:\Windows). Sau đó
file thực thi chính ${APP}.exe sẽ truy xuất file
${APP}.reg và lúc này thì
những file với tên nguyên gốc đã tồn tại trong C:\Windows\System32 (hoặc
C:\Windows).
4.2. Chứa đường dẫn C:\\Program Files\\Tên phần mềm\\Tên file thực thi .exe
(nếu không có tên nhà sản xuất) hoặc
C:\\Program Files\\Tên nhà sản xuất\\Tên phần mềm\\Tên file thực thi .exe thì
phải đổi thành Tên đường dẫn thư mục Portable (có thêm dấu \
)\\Tên file quản
lý Portable.exe (Xem bước 7 ở các bước tạo TreeSize Free Portable).
4.3. Chứa đường dẫn C:\\Program Files\\Tên phần mềm (nếu không có tên nhà sản
xuất) hoặc C:\\Program Files\\Tên nhà sản xuất\\Tên phần mềm
thì phải đổi
thành
Tên đường dẫn thư mục Portable (có thêm dấu \ )\\App\\Tên phần mềm (Xem bước 7
ở các bước tạo Office Tab Portable).
================================================== ======
F. Các bước tạo Portable cho những phần mềm
F.A. TreeSize Free Portable
Các bạn có thể xem Clip minh họa quá trình làm TreeSize Free Portable (link
video
http://www.youtube.com/watch?v=ZFIy00vWe8Q)Và tham khảo bản Portable tại Những
ứng dụng hỗ trợ tăng tốc truy xuất thông tin
(download link mediafire.com/?dx7jbljhar0u9f0, sau khi tải về thực hiện bước 7
dưới đây để chỉnh lại đường dẫn của Portable trong file TreeSize
Free.reg)
Mình xin viết lại hướng dẫn từ video trên
1. Monitor quá trình cài đặt của TreeSize Free bằng TU: Vào menu File ->
Install new... -> Next -> Chọn TreeSizeFreeSetup.exe trong mục Setup
program path
->
Launch setup program -> Program is installed -> Complete the monitoring process
later.
2. Trong cửa sổ TU -> Vào thư mục Program Files\JAM Software -> Click phải vào
tên thư mục TreeSize Free chọn Copy
3. Download Application Portable Template (Fixed By PAV).nsi, giải nén và đặt
thư mục Application Portable Template (Fixed By PAV) trong ổ
đĩa liên kết-> Đổi tên thư mục Application Portable Template (Fixed By PAV)
thành TreeSize Free Portable
3.1. Mở thư mục App -> Paste thư mục TreeSize Free (đã Copy) vào -> Xóa thư mục
${APP} -> Mở thư mục TreeSize Free -> Xóa 3 tập tin thừa unins000.*.
3.2. Vào thư mục Other -> Đổi tên thư mục ${APP} Portable Source thành TreeSize
Free Portable Source -> Tiếp tục vào thư mục TreeSize Free
Portable Source
-> Đổi tên file Application Portable Template (Fixed By PAV).nsi thành TreeSize
Free Portable.nsi
3.3. Vào thư mục Data -> Xóa 3 thư mục không cần thiết SettingsFiles AllUsers,
SettingsFolders AllUsers, SettingsFiles Users (tác giả clip nhầm thư mục này là
SettingsFolders Users) -> Vào thư mục SettingsFolders Users -> Tạo thư mục
Folder1.dat và nó sẽ tượng trưng cho thư mục JAM Software.
4. Trong cửa sổ TU -> Vào thư mục Application Data\JAM Software -> Click phải
vào tên thư mục TreeSize Free chọn Copy -> Paste thư mục
TreeSize Free (đã
Copy) vào thư mục Folder1.dat.
5. Tạo file TreeSize Free.reg: Trong cửa sổ TU -> Vào menu File -> Export ->
Registry Changes... -> Đặt Filename là TreeSize Free và chọn lưu trong thư mục
Data -> Click Save.
6. Mở file TreeSize Free Portable.nsi bằng Notepad++ Portable (click phải chọn
Edit with Notepad++) -> Điền thông tin vào giữa dấu " " để trở
thành các dòng sau (có thể nhấn Ctrl F để tìm dễ hơn):
!define APP "TreeSize Free" ; insert application name, e.g. "TestApp"; this
one is used for the final executable an in the directory structure
!define VER "2.6.0.159" ; insert version of launcher,first two digits
are version numbers, last digit is packet revision
!define EXE "TreeSizeFree.exe" ; insert program exe name, e.g.
"testapp.exe"
!define REGKEYS "TreeSize Free.reg"
!define SETTINGSFOLDERSUSERS "$APPDATA\JAM Software"
Vì trong thư mục $EXEDIR\App không có thư mục Folder1.dat (khác với thư mục
$EXEDIR\Data) nên không có chữ \JAM Software ở dòng thứ 400
StrCpy "$PROGRAMDIR" "$EXEDIR\App\${APP}"
7. Mở thư mục TreeSize Free Portable -> Tô đen Copy tên đường dẫn thư mục
TreeSize Free Portable ở thanh địa chỉ (Address Bar) -> Mở file TreeSize
Free.reg
bằng Notepad++ Portable (click phải chọn Edit with Notepad++) -> Nhấn Ctrl H để
hiện cửa sổ Replace -> Điền ở ô Find what là C:\\Program
Files\\JAM Software\\TreeSize
Free\\TreeSize Free.exe -> Paste phần Tên đường dẫn thư mục TreeSize Free
Portable vừa Copy vào và thêm dấu \ để trở thành Tên đường dẫn
thư mục TreeSize
Free Portable (có thêm dấu \ )\\TreeSize Free Portable.exe ở ô Replace with ->
Replace All -> OK -> Close và Save file TreeSize Free.reg lại.
8. Tính năng Context menu (menu ngữ cảnh) là chức năng khá phổ biến của nhiều
ứng dụng vì tính tiện lợi cuả nó khi muốn mở 1 tập tin bất kỳ
bằng việc đơn
giản chọn tên phần mềm trong danh sách hiển thị khi click chuột phải vào tập
tin đó. Tính năng Context menu của phần mềm sẽ xuất hiện khi có
phần key tương
ứng với tính năng này của phần mềm đó tồn tại trong Registry hay nói cách khác
là chúng tồn tại đồng thời. Vì những Portable tạo theo
Portableapps.com
Format có đặc điểm là xóa sạch key của Portable sau khi exit (tham khảo những
Portable của trang Portableapps.com) nên nếu muốn vẫn còn tính
năng Context
menu sau khi exit ứng dụng thì sẽ có 2 trường hợp sau (bước 8 này là tùy ý
thích):
8.1. Trường hợp bạn sợ mất công nên chấp nhận để lại toàn bộ key (bao gồm cả
những key không chứa tính năng Context menu) "rác" của
Portable trong Registry
sau khi exit Portable: Vào thư mục Data -> Mở file TreeSize Free.reg thủ công
bằng phần mềm Registry Editor có sẵn trong máy để Import key vào
Registry
của Windows.
8.2. Trường hợp bạn chỉ muốn để lại key rác tối thiểu của chức năng Context
menu trong Registry và xóa những key còn lại không liên quan đến
tính năng
này sau khi exit Portable: bạn tách file TreeSize Free.reg ra làm 2 file
Context.reg và TreeSize Free.reg
8.2.1. Vào thư mục Data -> Click chuột phải chọn New\Text Document -> Mở file
New Text Document.txt này bằng Notepad của Windows.
8.2.2. Mở file TreeSize Free.reg bằng Notepad++ Portable -> Tô đen, Copy và
Paste
dòng đầu tiên Windows Registry Editor Version 5.00 trong file TreeSize Free.reg
vào dòng đầu tiên của file New Text Document.txt -> Nhấn Ctrl
F để tìm theo từ khóa Context -> Tô đen, Cut và Paste lần lượt những dòng chứa
từ Context và cả dòng
[HKEY_...] đứng ngay trước trong file TreeSize Free.reg vào file New Text
Document.txt.
8.2.3. Close và Save file New Text Document.txt lại -> Đổi tên thành
Context.reg -> Cut và Paste file Context.reg vào thư mục TreeSize Free
Portable ->Mở file
Context.regthủ công bằng phần mềm Registry Editor có sẵn trong máy để Import
key vào Registry của Windows.
Lưu ý: nếu bạn không thực hiện bước 7mà thực hiện bước 8.2.3. này thì tính năng
Context menu tuy có xuất hiện nhưng khi bạn click vào thì nó sẽ báo lỗi ngay
lập tức vì không tìm thấy ứng dụng theo đường dẫn
mà bạn khai báo trong Registry. Vậy nên tốt nhất là bạn chỉnh sửa đường dẫn cho
phù hợp trước khi load file quản lý hay để những portableapps sử dụng context
menu được hoạt động chính xác.
8.2.4. Close và Save file TreeSize Free.reg (đã chỉnh sửa) và vẫn để ở thư mục
Data.
9. Sử dụng IcoFX Portable để tạo icon (biểu tượng) cho Portable
9.1. Vào File -> Open... -> Mục Files of type chọn Windows Binary
(*.exe;*.dll;*ocx;*.icl) -> Mục File name chọn file thực thi TreeSizeFree.exe
để
lấy icon của file này -> Click Open -> Click Extract.
9.2. Click vào biểu tượng Start của Windows trong chương trình IcoFX Portable
(Create Windows Icon From Image) -> Tích chọn toàn bộ -> Click OK -> Vào File
->
Save -> Lưu lại với tên TreeSize Free Portable trong thư mục TreeSize Free
Portable Source.
10. Cuối cùng là mở file TreeSize Free Portable.nsi bằng NSIS Portable. Chạy
file
NSISPortable\NSISPortable.exe. Trong cột Compiler click vào tùy chọn Compile
NSI scripts rồi kéo thả file TreeSize Free Portable.nsi vào cửa sổ
hiện ra, nếu mọi chuyện tốt đẹp thì bạn sẽ thấy cửa sổ như hình, nếu không thì
chương trình sẽ báo lỗi và thông báo lỗi chỗ nào và bạn có thể chỉnh sửa
cho đúng.
File thực thi TreeSize Free Portable.exe sẽ được tạo ra và lưu ở thư mục
TreeSize Free Portable.
F.B. Office Tab Portable
Các bạn có thể tham khảo bản Portable tại download link
mediafire.com/?258dzdufnfping5, sau khi tải về thực hiện bước 7 dưới đây để
chỉnh lại đường dẫn của Portable trong file Office Tab.reg
Các bước hướng dẫn tương tự trên
1. Monitor quá trình cài đặt của Office Tab bằng TU: Vào menu File -> Install
new... ->
Next -> Chọn SetupOfficeTabEnterprise.exe trong mục Setup program path ->
Launch setup program -> Cài đặt phần mềm -> Copy file
Crack\OfficeTabFunction.dll -> Paste đè vào thư mục C:\Windows\System32 -> Đăng
ký phần mềm với key, name cung cấp trong file
Crack\Cara Registrasi + Serial.txt -> OK -> Vào lại TU chọn Program is
installed -> Complete the monitoring process later.
2. Trong cửa sổ TU -> Vào thư mục Program Files\Detong -> Click phải vào tên
thư mục Office Tab chọn Copy
3. Download Application Portable Template (Fixed By PAV).nsi, giải nén và đặt
thư mục Application Portable Template (Fixed By PAV) trong ổ
đĩa liên kết
-> Đổi tên thư mục Application Portable Template (Fixed By PAV) thành Office
Tab Portable
3.1. Mở thư mục App -> Paste thư mục Office Tab (đã Copy) vào -> Xóa thư mục
${APP} -> Mở thư mục Office Tab -> Xóa 2 tập tin thừa unins000.*.
3.2. Vào thư mục Other -> Đổi tên thư mục ${APP} Portable Source thành Office
Tab Portable Source -> Tiếp tục vào thư mục Office Tab Portable
Source ->
Đổi tên file
Application Portable Template (Fixed By PAV).nsi thành Office Tab Portable.nsi
3.3. Vào thư mục Data -> Xóa 3 thư mục không cần thiết SettingsFiles AllUsers,
SettingsFolders AllUsers, SettingsFolders Users.
4. Trong cửa sổ TU -> Vào thư mục C:\Windows\system32 -> Click chọn tập tin đầu
là
ArmAccess.dll -> Nhấn Shift click chọn vào tập tin cuối là OTB_Loader.dll để
chọn 4 tập tin -> Click phải chọn Copy -> Paste vào thư mục
SettingsFiles Users
-> Đổi tên các tập tin theo thứ tự tên A,B thành File1.dat,..., File4.dat.
5. Tạo file Office Tab.reg: Trong cửa sổ TU -> Vào menu File -> Export ->
Registry Changes... -> Đặt Filename là Office Tab và chọn lưu trong thư
mục Data-> Click
Save.
6. Mở file Office Tab Portable.nsi bằng Notepad++ Portable (click phải chọn
Edit with Notepad++) -> Điền thông tin vào giữa dấu " " để trở thành
các dòng
sau (có thể nhấn Ctrl F để tìm dễ hơn):
!define APP "Office Tab" ; insert application name, e.g. "TestApp";
this one is used for the final executable an in the directory structure
!define VER "7.5.0.0" ; insert version of launcher,first two digits are
version numbers, last digit is packet revision
!define EXE "OfficeTabCenter(Admin).exe" ; insert program exe name, e.g.
"testapp.exe"
!define REGKEYS "Office Tab.reg"
!define SETTINGSFILESUSERS
"$WINDIR\system32\ArmAccess.dll||$WINDIR\system32\Officetab_Detong.ocx||$WINDIR\system32\OfficeTabFunction.dll||$WINDIR\system32
\OTB_Loader.dll"
7. Mở thư mục Office Tab Portable\App\Office Tab -> Tô đen Copy tên đường dẫn
thư mục Office Tab Portable\App ở thanh địa chỉ (Address
Bar) -> Mở file
Office Tab.reg bằng Notepad++ Portable (click phải chọn Edit with Notepad++) ->
Nhấn Ctrl H để hiện cửa sổ Replace -> Điền ở ô Find what là
C:\\Program
Files\\Detong\\Office Tab -> Paste phần Tên đường dẫn thư mục Office Tab
Portable\App\Office Tab
vừa Copy vào và thêm dấu \ để trở thành Tên đường dẫn thư mục Office Tab
Portable (có thêm dấu \ )\\App\\Office Tab ở ô Replace with ->
Replace All ->
OK -> Close và Save file Office Tab.reg lại.
8. Tính năng mở theo thẻ Tab của Office Tab trong Office sẽ xuất hiện khi có
key của phần mềm tồn tại trong Registry, file của phần mềm tồn tại
trong C:\Windows\System32
(nói cách khác là tính năng mở theo thẻ Tab phải tồn tại đồng thời với key,
file của Office Tab trong máy). Tuy nhiên những Portable tạo theo
Portableapps.com
Format có đặc điểm là xóa sạch key, file của Portable sau khi exit (tham khảo
những Portable của trang Portableapps.com) nên nếu muốn vẫn còn
tính năng
mở theo thẻ Tab sau khi exit Portable (bước 8 này là tùy ý thích) thì bạn hãy
8.1. Vào thư mục Office Tab Portable -> Tạo thư mục Backup -> Mở cửa sổ TU ->
Vào thư mục C:\Windows\system32 -> Click chọn tập tin đầu là
ArmAccess.dll-> Nhấn Shift click chọn vào tập tin cuối là OTB_Loader.dll để
chọn 4 tập tin -> Click phải chọn Copy -> Paste vào thư mục
Backup.8.2. Vào thư mục Office Tab Portable -> Click phải -> New -> Text
Document -> Đổi tên thành Set.bat -> Click phải vào Set.bat -> Edit ->
Paste vào nội
dung sau
@echo off
reg import "%cd%\Data\Office Tab.reg"
copy "%cd%\Backup\ArmAccess.dll" "C:\Windows\system32"
copy "%cd%\Backup\Officetab_Detong.ocx" "C:\Windows\system32"
copy "%cd%\Backup\OfficeTabFunction.dll" "C:\Windows\system32"
copy "%cd%\Backup\OTB_Loader.dll" "C:\Windows\system32"
exit8.3. Close và Save Set.bat lại -> Mở file Set.bat (Enter hoặc Double
click), file này sẽ có chức năng nhập key trong file Office Tab.reg vào
Registry và
copy 4 file trong thư mục Backup vào thư mục C:\Windows\system32.
9. Sử dụng IcoFX Portable để tạo icon (biểu tượng) cho Portable
9.1. Vào File -> Open... -> Mục Files of type chọn Windows Binary
(*.exe;*.dll;*ocx;*.icl) -> Mục File name chọn file thực thi TreeSizeFree.exe
để
lấy
icon của file này -> Click Open -> Click Extract.
9.2. Click vào biểu tượng Start của Windows trong chương trình IcoFX Portable
(Create Windows Icon From Image) -> Tích chọn toàn bộ -> Click OK -> Vào File
->
Save -> Lưu lại với tên Office Tab Portable trong thư mục Office Tab Portable
Source.
10. Cuối cùng là mở file Office Tab Portable.nsi bằng NSIS Portable. Chạy file
NSISPortable\NSISPortable.exe. Trong cột Compiler click vào tùy chọn Compile
NSI scripts rồi kéo thả file Office Tab Portable.nsi vào cửa sổ
hiện ra, nếu
mọi chuyện tốt đẹp thì bạn sẽ thấy của số như hình, nếu không thì chương trình
sẽ báo lỗi và thông báo lỗi chỗ nào và bạn có thể chỉnh sửa cho
đúng. File
thực thi
Office Tab Portable.exe sẽ được tạo ra và lưu ở thư mục Office Tab Portable.
Khi kiên trì đến bước này là bạn có thể tận hưởng thành quả của mình rồi đấy!đá
lông nheo
Nếu các bạn muốn đơn giản hơn nữa, có thể dùng phần mềm tạo Portable "thật" có
tên gọi là
Portable App Creator (xem video hướng dẫn trong Youtube
http://www.youtube.com/watch?v=sYdi9XsrXwY hoặc
http://www.youtube.com/watch?v=itqzdCJKWUc).
Lưu ý: Phần mềm này có thể tạo ra file, key rác trong máy như Winrar nên cũng
không lý tưởng để tạo Portable "thật" lắm!
Mình đã xem và viết lại hướng dẫn từ các Video trên:
1. Tải Portable App Creator tại link Rapid (0.63MB) (nước ngoài thích upload
lên host này) https://rapidshare.com/files/2673249...nglish.paf.exe và
AutoIt
(file nén 7-zip)
http://www.autoitscript.com/files/au...oit-v3-sfx.exe
2. Chạy file PortableAppCreator_0__99_beta_English.paf.exe để chọn nơi bung nén
(việc làm này không tạo file, key rác) ra thư mục
PortableAppCreator
3. Giải nén (Extract) autoit-v3-sfx.exe ra thư mục install. Trong thư mục này,
bạn copy file AutoIt3.exe paste vào thư mục
PortableAppCreator\App
4. Mở (enter hoặc double click) file Portable App Creator.exe
4.1. Trong thư mục PortableAppCreator, xuất hiện thông báo "Searching for
the..." -> Click Done
4.2. Xuất hiện thông báo Portable device located at drive -> Chọn tên ổ đĩa
muốn lưu Portable -> Click Next -> Click Browse -> Chọn tên file Setup
của
chương trình cần tạo Portable -> Click Open -> Click Next
5. Ở bước đầu tiên là tùy chọn Take 1st Shot -> Click Next
6. Ở bước thứ hai là tùy chọn Install/Application -> Click Next -> Xuất hiện
thông báo
Please install the application to your PortableApps Drive -> Click OK -> Chỉnh
các tùy chọn khi cài đặt phần mềm như bình thường (như chọn
Destination Folder,...)
-> Click Done
7. Ở bước thứ ba là tùy chọn Get Shortcut Info (lấy thông tin Shortcut như
Icon) -> Click Next -> Xuất hiện 2 tùy chọn
7.1. Ở tùy chọn Type the location of the application to run -> Click Browse ->
Chọn tên file thực thi ".exe" của chương trình đã cài đặt -> Click
Open
7.2. Ở tùy chọn Type a name for the PortableApp and choose an icon -> Đặt tên
Portable theo ý muốn bản thân -> Click Icon -> Chọn lại tên file
thực thi
".exe" ở trên hoặc file ".ico" đã tạo ra trước đó bằng phần mềm IcoFX Portable
-> Click Open -> Click Next
8. Ở bước thứ tư là tùy chọn Open/Close -> Click Next -> Xuất hiện bảng thông
báo
Please make all modifications... (hãy chỉnh sửa phần mềm theo ý muốn bản thân)
-> Close phần mềm để tiếp tục -> Click OK
9. Quan sát ở góc phải của Taskbar nếu thấy xuất hiện biểu tượng của chương
trình vừa cài đặt thì click phải chọn Exit để thoát (mục đích không
cho chương
trình chạy và công đoạn tạo Portable dưới đây mới có thể tiếp tục được)
10. Ở bước thứ năm là tùy chọn Take 2nd Shot -> Click Next11. Ở bước thứ sáu là
tùy chọn Process Shots -> Click Next -> Click Next lần nữa ->
Xuất hiện bảng thông báo Creating the folder... -> Click Done và tận
hưởng thành quả! ================================================== ======
Mời các bạn đóng góp thêm nhiều kinh nghiệm sử dụng cũng như phần mềm tạo
Portable khác nữa!ôm một cái
Chúc các bạn vui vẻ, mạnh khỏe và thành công trong cuộc sống!
Lưu ý: Đây là những hướng dẫn dựa trên những bài viết ở trang
Portableappsviet.com của tác giả NGOCHUY1991
Nguồn: http://www.vn-zoom.com/f229/lam-portable-voi-nsis-1391382.html
Chào các bạn, để các bạn có cái nhìn tổng quan về Portable, hôm nay mình xin
trình bày một số thông tin sau
A. Những điều cần biết về Portable
1. Khái niệm Portable
Một Portable sẽ có khái niệm (không có định nghĩa) được phản ánh qua những đặc
điểm cơ bản sau:
1.1. Đã được đóng gói sẵn vào một thư mục hoặc một file thực thi .exe duy nhất.
1.2. Tự chạy khi kích hoạt file thực thi .exe mà không cần phải cài đặt và đăng
ký.
1.3. Có thể chạy tốt với đầy đủ chức năng trên ổ cứng, USB, mọi hệ điều hành,
mọi tài khoản người dùng máy tính.
Với Portable dạng nâng cao sẽ có thêm những chức năng
1.4. Lưu lại những thiết lập ở lần sử dụng trước để sử dụng tiếp vào lần sau.
1.5. Không để lại dấu vết (xóa sạch file "rác" trong phân vùng cài Win, key
"rác" trong Registry) sau khi exit Portable nên không gây nặng máy.
1.6. Có thể update cho Portable.
Vì vậy, để hiểu rõ hơn về Portable dạng nâng cao các bạn hãy thử và cho ý kiến
về những Portable của trang Portableapps.com (những Portable
này được tạo
bởi phần mềm NSIS Portable hoặc Portableapps.com Launcher). Các bạn có thể tham
khảo chi tiết cách sử dụng ở trang
http://portableapps.com/support/portable_app.
Bên cạnh, mình cũng xin trích nhận xét của ChinhKhoi
#8
Trích ChinhKhoi View Post
1 phần mềm làm ra thấy chạy đc chưa hẳn đã đc gọi là Portable. Portable đúng
nghĩa như cái tên của nó thì phải mang đi đc cả những settings mà
ta đã thiết
lập cho p.mềm ngoài ra không để lại File rác trong máy sau khi chạy và nhiều
cái khác nữa...v.v
2. Ưu thế của Portable so với phần mềm cài đặt là
2.1. Giúp bạn tiết kiệm được rất nhiều thời gian: Khi bạn có 1 công việc cần
giải quyết gấp liên quan đến phần mềm ít khi được sử dụng (tức là
chưa được
cài đặt) thì Portable là 1 sự lựa chọn đáng giá vì bạn sẽ không phải trải qua
các thao tác thiết lập khi cài đặt hay chờ đợi quá trình cài đặt (nếu
phần
mềm có dung lượng lớn). Hoặc giả sử bạn là chuyên gia quậy phá máy tính, máy
tính của bạn đã nhiều lần “khôi phục cài đặt gốc”. Mỗi lần như
thế, bạn phải
mắc công cài lại Windows và cài nhiều phần mềm cần thiết khác. Quá trình như
vậy thường mất khoảng 2 tiếng. Nhưng nếu bạn đã có sẵn một
“bộ sưu tập” phần
mềm Portable trên CD hay trên một phân vùng ổ cứng khác, quá trình cài đặt sẽ
được rút gọn.
2.2. Giúp bạn tiết kiệm dung lượng ổ cứng: trong trường hợp bạn đang sử dụng
phần mềm cài đặt. Khi máy tính hay phần mềm đó gặp trục trặc,
lỗi (hoặc phần
mềm bị khóa do liên quan đến bản quyền) thì bạn sẽ cài lại phần mềm đó với file
cài đặt. Như vậy trong máy tính của bạn sẽ có 2 bản của 1 phần
mềm (bản
đang chạy trên máy và file cài đặt) tức là trên máy tốn 2 lần dung lượng của 1
phần mềm còn khi sử dụng Portable thì chỉ tốn dung lượng của
chính bản Portable
đó mà thôi.
3. Tình hình phổ biến Portable
Hiện tại, chỉ có một số ít phần mềm Portable được các hãng phần mềm làm ra theo
nhu cầu của người sử dụng. Những phần mềm Portable còn lại
thì do người
tiêu dùng tự làm hoặc dựa trên một số phần mềm khác để làm ra. Còn các hãng
phần mềm lớn không chủ trương biến sản phẩm đang có của họ
thành Portable vì
chỉ cần sao chép ra nhiều bản khác nhau là có thể sử dụng cho rất nhiều PC mà
không cần phải trả phí bản quyền, người tiêu dùng sẽ chuyển
qua sử dụng dạng
Portable và họ sẽ tất thu lớn. Do không liên quan đến bản quyền nên rất nhiều
phần mềm Portable là phần mềm mã nguồn mở.
4. Các loại PortableĐể các bạn dễ hình dung, theo ý kiến chủ quan, mình chia
portable làm 2 loại
dựa trên tác động vào Registry của Windows
4.1. Portable "ảo" làphần mềm được đóng gói chạy trong môi trường ảo (môi
trường này có registry của riêng nó để key của phần mềm add vào)
tạo bởi VMwareThinapp,
Xenocode Virtual Appliance Studio, Evalaze,...
4.2. Portable "thật" là phần mềm tuy được đóng gói nhưng lại tác động thật lên
Registry của Windows như phần mềm cài đặt tạo bởi Multi
Packer, Winrar,Universal Extractor, NSIS-Total Uninstall, PortableApps.com
Launcher, Portable App Creator, Apps Creation Master, các soft
theo dõi (monitor) thay đổi
registry khi cài đặt phần mềm (Total Uninstall (TU), FindChangeTool,
WhatChanged, RegFromApp,
RegShot, Disk and Registry Alert, MJ Registry Watcher,..), các soft chuyển phần
mềm cài đặt từ chỗ này sang chỗ khác cũng "có thể" tạo được
Portable (Ez File Transplanter, Steam Mover, Application Mover,...). Kể ra cũng
hơi nhiều.
5. Đặc điểm phần mềm tạo Portable
Để các bạn dễ lựa chọn phần mềm tạo Portable phù hợp với bản thân, mình đã sử
dụng, tham khảo, so sánh và nhận thấy
5.1. Ưu thế của Portable "thật" so với Portable "ảo" là có thể dùng
5.1.1. Kết hợp các phần mềm lại với nhau như Firefox với IDM,...
5.1.2. Kết hợp phần mềm với hệ thống như OfficeTab với Word...
5.2. Nếu muốn tạo Portable không cần kết hợp với phần mềm hay với hệ thống tức
là Portable "ảo", các bạn nên sử dụng VMware Thinapp để tạo
vì quá trình
tạo Portable sẽ đơn giản và quá trình sử dụng Portable sẽ không tạo ra file,
key rác "lộn xộn" trong máy.
5.3. Trong các phần mềm tạo Portable "thật", mình đã tìm hiểu và thấy những
nhận xét sau:
5.3.1. Multi Packer
#2
Trích ChinhKhoi View Post
thật sự thì nó chỉ đơn thuần là một Trình đóng gói File (như đúng cái tên của
nó Multi Packer) và chức năng còn kém xa WinRar nhưng lại đc các
bác brồ IT
thổi phồng lên là nó làm đc Portable
Nhưng cũng phải nói là nó cũng làm đc Portable đối với 1 vài soft đơn giản chỉ
cần thư mục trong ProgramFiles (vd như CCleaner), còn đối với
những softmà cần những File trong system32, đăng kí Registry hoặc những cái
khác nữa .v.v. thì cái này có mà khóc thét !hi hi
#14
Trích Tùng - Hacker View Post
Đây chỉ là phần mềm để đóng gói file lại (Giống winrar) để chạy, làm các
portable đơn giản thì được chứ lớn và phức tạp, cần file hệ thống thì
chịu.
5.3.2. Winrar
#13
Trích ChinhKhoi View Post
Nếu máy dùng các Portable đc làm bằng cách này thì chẳng mấy chốc sẽ thành bãi
rác!
cười nhăn răng
Như bạn biết đấy, 1 phần mềm khi cài vào máy và chạy sẽ sinh ra một số File
dùng để lưu các thiết lập của nó.Các thiết lập này thường là các key
đc lưu
trong registry hoặc các File trong Application Data..v.v.
Nhưng các bộ cài thì còn có các trình Uninstall đi kèm để khi ko dùng nữa thì
sẽ gỡ sạch các File và các key đó ra khỏi máy tính
Còn Portable làm bằng Winrar theo như bác chủ thớt hướng dẫn thì ko hề có chức
năng xóa các File này sau khi chạy, mà chỉ đơn giản là dùng
Winrar nén cái
thư mục của chương trình trong Program Files lại mà thôi, hệ quả là sau khi
Portable chạy xong thì các thiết lập của chương trình trong registry
hay trong
thư mục Application Data vẫn còn ngay cả khi bạn xóa cái Portable ấy đi chăng
nữa.
Như vậy mỗi Portable(làm theo kiểu này) của 1 chương trình sau khi chạy lại để
lại 1đống các File và các key trog Registry thì lâu dần máy tính
của bạn
sẽ thành cái gì thì ko nói cũng biết.
5.3.3. Universal Extractor
#36
Trích hiepcun View Post
_Phần mềm này cũng tương tự Winrar thôi,nhưng khác ở chỗ là nó extract các file
có đuôi là .exe,.msi..và một số đuôi khác nữa!nhưng cái này có
rất nhiều
hạn chế như ko phải file exe nào cũng extract được,hay những file khi extract
ra ko hề giống những file trong thư mục C:\Program Files ->ko thể
chạy được!
_cái Universal extractor này chỉ giúp các bác ko phải cài ứng dụng vào máy mà
vẫn lấy được thư mục của ứng dụng trong C:\Program Files và vài
thư mục khác
mà thôi
_còn chuyện cái này làm được Portable vì 1 lí do rất đơn giản là bản thân những
ứng dụng mà nó extract đã có thể tự chạy đc rồi,tức là những
ứngdụng đó
có thể chạy mà ko cần đến các file ở các thư mục khác(ngoài Program Files),các
khóa trong Registry hay các Service..có thể kể ra 1 vài VD đơn
giảnnhư:
Unikey,IDM,CCleaner..vv.Với những ứng dụng đơn giản như vậy thì các bác chỉ
việc copy cái thư mục của ứng dụng đó trong C:\Program Files
là chạy được rồi!
6. Khái niệm về các thành phần khác liên quan đến Portable
Thamkhảo
1. Hỏivề compiler và interpreter?
2. khác biệt giữa trình biên dịch (compiler) và trình thông dịch (interpreter)
6.1. Code - Mã nguồn: khi ta ra lệnh hay nhờ một người A làm việc gì đó, ta sẽ
truyền đạt thông tin bằng ngôn ngữ để A có thể hiểu được. Tương
tự như vậy,
khi tara lệnh cho máy tính thực hiện công việc gì, ta cũng phải dùng ngôn ngữ
để máy có thể hiểu. Tuy nhiên ngôn ngữ thông thường mà con
người dùng trong
cuộc sống khác xa ngôn ngữ mà máy hiểu. Ngược lại, việc dùng trực tiếp ngôn ngữ
của máy để viết một loạt lệnh cho máy thực hiện thì lại vô
cùng vất vả.
Vì vậy người ta đã tạo ra những ngôn ngữ lập trình cao có cú pháp và thành phần
gần như ngôn ngữ thông thường nên dễ hiểu, dễ viết rất nhiều
(đối với người
đã học về lập trình). Từ đó ta cần một chương trình để dịch một đoạn mã (mà ta
gọi là Code) từ ngôn ngữ lập trình cao (ngôn ngữ nguồn) sang
ngôn ngữ mà
máyhiểu và file chứa Code được gọi là file nguồn (ở đây Code được viết trong
file nguồn là Template.nsi). Việc dịch này có thể làm theo chủ yếu
bằng hai
cách:6.2. Compiler - Trình biên dịch: là chương trình dịch toàn bộ Code trong
file nguồn để tạo thành file thực thi .exe có thể được đem đi sử dụng
độc lập
và không còn phụ thuộc vào Compiler nữa (ở đây Compiler là NSIS Portable).
6.3. Interpreter - Trình thông dịch: là chương trình vừa dịch từng Code trong
file nguồn vừa chạy/thực thi từng lệnh nên mỗi lần cần chạy lại lệnh
thì
phải dùng lại
Interpreter. Ví dụ, mỗi lần thực thi lệnh trong file .bat thì phải dùng lại DOS
tích hợp trong Windows.
6.4. Launcher (tạm gọi là trình phóng): đây là thành phần đặc trưng của
Portable theo PortableApps.com Format™ 3.0 (2012-04-18) được gọi là file
quản lý
${PNAME}.exe có chức năng điều khiển toàn bộ hoạt động của Portable. Ví dụ như
TreeSize Free Portable.exe
7. Các bạn có thể tham khảo thêm trong Google hoặc muốn đơn giản, trực quan
sinh động hơn nữa là trong Youtube với các từ khóa tiếng Việt
lẫn tiếng Anh:
tạo portable (creat portable), làm portable (make portable), portable hóa
(portabilize). Gợi ý: để tăng kết quả khi tìm trong Google thì có thể thay
thế
những từ khóa đồng nghĩa với nhau như:
Application (ứng dụng) có thể viêt là App, Program (chương trình), Software
(phần mềm). Make (làm) có thể là Create (tạo), Portabilize (di động
hóa) nênMaker viết thành Creator, Portabilizer. Portable có thể là Pocket
(túi), Standalone (độc lập)...Mình tìm được một số link tham khảo
7.1. How To Make Portable Applications
7.2. Free Portable Apps Creator 0.972 beta tutorial
7.3. Create portable application Using Portable Application creation master
7.4. How To Create Your Own Portable Program (trong
http://pocketprograms.blogspot.com/)
7.5. How to make Portable with NSIS
8. Một số trang cung cấp phần mềm portable
8.1. http://portableapps.com/apps
8.2. http://portableappz.blogspot.com/
8.3. http://punsh.at.ua/ (dịch sang tiếng Anh)
8.4. http://www.thinstallsoft.com/
8.5. http://portable-apps.net/
8.6. http://www.pendriveapps.com/
8.7. http://www.portablefreeware.com/
8.8. http://baltagy.blogspot.com/
8.9. http://portableturk.com/apps/portable-apps/
9. Nếu có thắc mắc gì về các bước tạo Portable với NSIS, các bạn có thể tham
khảo thêm trang thuần Việt http://portableappsviet.com/ do bạn
NGOCHUY1991
đam mê Portableapps, nghiên cứu kỹ trong vòng hơn 6 tháng và với mục đích chia
sẻ, trao đổi kinh nghiệm với mọi người nên đã trình bày hướng
dẫn rất chi tiết thành nhiều bài ở trang này.
B. Nguyên lý hoạt động của phần mềm Portable
Tham khảo
1. Test PortableApps
2. Theo dõi truy xuất hệ thống file và registry của một ứng dụng bất kỳ với
ProcessMonitor
3. Real-time monitor với ProcessHacker
4. SysTracer Portable v2.6 – Track file and registry changes in your computer
Việc tạo Portable là lập trình lại phần mềm nên việc tìm hiểu nguyên lý hoạt
động của Portable (còn gọi là test Portable) cũng không kém phần
quan trọngtrong việc không chỉ đảm bảo sự hoạt động ổn định của mọi bản
Portable mà còn có ích trong việc sử dụng bất cứ ngôn ngữ lập trình
khác ngoài NSIS để tạo
Portable (ví dụ như tạo Portable với file .bat, .cmd chứa những lệnh của DOS).
Một số phần mềm có thể giúp bạn theo dõi quá trình này là
Process Monitor,
Process Hacker, Systracer.
Với Systracer, bạn tạo bản snapshot thứ 1 trước khi run portableapps. Trong khi
run và trước khi exit portableapps, hãy tạo bản snapshot thứ 2.
Đến đây
bạn cứ sử dụng portableapps như bình thường. Cuối cùng, sau khi exit khoảng
10s, tạo bản snapshot thứ 3, kết thúc công đoạn tạo snapshot.
Vậy với 3 bảnsnapshot trên, công việc test portableapps đã sẵn sàng. Rất đơn
giản, bạn chỉ việc Compare bản snapshot thứ 1 và thứ 3. Còn
muốn xem những thay đổi trong
hệ thống trong khi ứng dụng đang hoạt động nhằm mục đích nghiên cứu, chỉ việc
Compare snapshot thứ 1 và thứ 2.
1. Với Portable dạng nâng cao
1.1. Chuẩn bị môi trường máy tính trước khi chạy Portable
1.1.1. Run Launcher.
1.1.2. Backup file, folder hệ thống.
1.1.3. Restore/Copy file, folder của Portable vào hệ thống.
1.1.4. Backup registry hệ thống thành file .reg chứa key hệ thống.
1.1.5. Restore/Import file .reg chứa key Portable vào Registry.
1.2. Môi trường máy tính trong khi chạy và trước khi exit Portable
1.2.1. Run App.
1.2.2. Exit App.
1.3. Khôi phục lại môi trường máy tính như ban đầu sau khi exit Portable
1.3.1. Backup file, folder của Portable.
1.3.2. Delete file, folder của Portable
1.3.3. Restore file, folder hệ thống.
1.3.4. Backup key Portable trong Registry thành file .reg chứa key Portable.
1.3.5. Delete key Portable trong Registry.
1.3.6. Restore file .reg chứa key hệ thống vào Registry.
1.3.7. Exit Launcher.
2. Với phần mềm cài đặt hay Portable đơn giản chỉ có các bước sau (nên sẽ để
lại key, file rác trong máy)
2.1. Restore/Copy file, folder của phần mềm/Portable vào hệ thống.
2.2. Restore/Import file .reg chứa key phần mềm/Portable vào Registry.
C. Các đặc điểm của phần mềm cài đặt
Việc kiếm cho bản thân 1 chương trình Portable trên mạng là không khó nhưng để
tự làm ra 1 phần mềm portable thì không phải ai cũng làm được.
Đặc biệt
việc tạo ra 1 phần mềm Portable có những đặc điểm của dạng Portable nâng cao
như khái niệm cũng như không bị ảo hóa như Portable "ảo" lại
càng đòi hỏi
sự tỉ mỉ, phức tạp hơn trong cách làm. Bởi các bạn sẽ phải căn cứ vào các đặc
điểm đặc trưng, riêng biệt của mỗi phần mềm để làm thành bản
Portable như
ý muốn bao gồm những đặc điểm sau (Các dòng đánh dấu * là các trường hợp khó
tạo Portable):
1. Đặc điểm bản quyền
1.1. Miễn phí mã nguồn mở: được phép tự do sử dụng, chia sẻ phần mềm.
1.2. Có phí mã nguồn đóng: phải có Key, Name đăng ký (Serial key, keygen – key
maker) hoặc Crack, Patch để có thể sử dụng được phần mềm.*
2. Đặc điểm file thực thi “.exe”
2.1. Một file “.exe”: phần mềm chỉ có 1 file thực thi .exe của chính nó (dạng
phổ biến).
2.2. Nhiều file “.exe”: phần mềm có nhiều file thực thi .exe của chính nó. Vd:
Microsoft Office, Nero (ghi đĩa),…*
2.2.1. Những file .exe không liên quan đến nhau: phần mềm không có chức năng mở
file B.exe thông qua file A.exe.
2.2.2. Những file .exe có liên quan đến nhau: phần mềm có chức năng mở file
B.exe thông qua file A.exe. Ví dụ với phần mềm ghi đĩa Nero, nếu mở
file
NeroStartSmart.exe (trong thư mục C:\Program Files\Nero\Nero8\Nero StartSmart)
-> click vào Tab Rip and Burn -> chọn tiếp tùy chọn trong đó
(ví dụ BurnData Disc) -> nó sẽ mở file Nero.exe (trong thư mục C:\Program
Files\Nero\Nero8\Nero Burning Rom).
3. Đặc điểmvề key phần mềm trong Registry khi cài đặt phần mềm
3.1. Chỉ thêm (add) key của phần mềm vào Registry của Windows (dạng phổ biến).
3.2. Thêm và sửa (modify) cả key của Windows trong Registry. Vd: phần mềm đóng
băng, Antivirus,…*
4. Đặc điểmvề file khi cài đặt
Thêm file (.dll,..) vào những thư mục của phần mềm trong ổ C: như C:\Windows
hoặc
C:\Windows\system32, C:\Program Files\Common Files, C:\Documents and
Settings\{Tên người dùng}\Application Data (WinXP) hoặc
C:\Users\{Tên người dùng}\AppData\Roaming
(Win7),...5. Đặc điểm về file service: .sys, .exe, .dll *
Tham khảo Kích hoạt “Running” cho services portableapps bằng tay thông qua
ProcessHacker
Service thường thuộc quyền sở hữu của những phần mềm A cần sử dụng kết hợp với
phần mềm B khác (ví dụ Internet Download Manager cần
sử dụng kết hợp với
trình duyệt web) có chức năng theo dõi phần mềm B. Đến khi phát hiện tình huống
cần đến chức năng của phần mềm A thì nó sẽ gọi file thực thi
chính củaphần mềm A hoạt động. Ví dụ: Service của Internet Download Manager có
chức năng theo dõi trình duyệt web (mà nó hỗ trợ) để sẵn
sàng bắt link, hỗ trợ tăng
tốc download khi cần thiết. Nếu nó không hoạt động thì khả năng phát hiện link
và hỗ trợ tăng tốc download là không còn.
6. Những thiết lập khi sử dụng phần mềm
Được lưu trong Registry và những thư mục của phần mềm trong ổ C:.
D. Tiếp theo là hướng dẫn
Tham khảo:
1. Hướng dẫn sử dụng ApplicationPortableTemplate.nsi
2. Nguyênlý hoạt động của PortableApps phát triển từ
ApplicationPortableTemplate.nsi Format
3. Phòng thử nghiệm VirtualBox – Nơi thực tập cho dân vọc máy tính
Các bạn cần chuẩn bị những phần mềm cấn thiết sau:
1. Total Uninstall Portable (TU): dùng để quét toàn bộ hệ thống trước khi cài
đặt và tìm ra những thay đổi sau khi cài đặt. Download link MF
mediafire.com/?72rr29kd0f1574y, TurboBit.net, LetItBit.net, DepositFiles.com.
1.1. Sau khi tải về, ngắt kết nối Internet (Open Network and Sharing Center ->
Change adapter settings -> Right click vào biểu tượng màn hình
xanh -> Disable).
1.2. Giải nén Total_Uninstall.exe -> Mở thư mục Total Uninstall -> Mở tập tin
TotalUninstall5Portable.exe -> Vào Инструменты (Tools) -> Настройки...
(Options...) -> Chọn ngôn ngữ là English -> OK.
1.3. Vào Help -> Register... -> Đăng ký với name, key có trong tập tin
SERIAL.txt.
1.4. Vào Tools -> Options... -> Web updates -> Chọn Check update method là
Manual (vì bản Portable này tạo từ bản đã crack nên có thể đổi tùy chọn update
method tùy ý, còn nếu là bản thường thì tùy chọn update
method là Automatic
ở dạng "chìm" và không thể thay đổi) -> OK.
1.5. Mở lại kết nối Internet (Open Network and Sharing Center -> Change adapter
settings -> Right click vào biểu tượng màn hình đen -> Enable)
->Sử dụng
thoải mái!
Lưu ý: để gỡ sạch 1 phần mềm A có 2 trường hợp
TH1: phần mềm A đã cài đặt trên máy trước khi sử dụng TU
Dùng công cụ xóa bất kỳ gỡ phần mềm A -> Sau khi gỡ lần 1 phần mềm A, monitor
quá trình cài đặt của phần mềm A bằng TU: Vào menu File ->
Install new...
-> Next -> Chọn file cài đặt của phần mềm A trong mục Setup program path ->
Launch setup program -> Program is installed -> Complete the
monitoring processlater -> Gỡ bỏ lần 2 phần mềm A bằng TU.
TH2: phần mềm A dự định sử dụng nhưng vẫn chưa cài đặt trên máy: tương tự
trường hợp 1 từ bước monitor.
Nếu muốn đơn giảnhơn các bạn có thể sử dụng phần mềm đóng băng Shadow Defender
(ACKCR-YUAWF-8RWPW-NV3UI-11ISP) để máy tính trở về trạng thái trước khi cài
đặt: đóng băng máy tính -> cài đặt phần mềm -> tạo Portable
-> gỡ đóngbăng
máy tính2. IcoFX Portable: trích 1 Icon bất kì để làm Icon cho file thực thi.
Hướng dẫn sử dụng
3. Notepad++ Portable: dùng để edit code cho các phần mềm lập trình (ví dụ như
NSIS). Phần mềm này hỗ trợ edit rất nhiều định dạng file (".nsi",
".ini",
".nsh",...), tính năng Highlighting có chức năng đánh màu cho các câu lệnh theo
từng nhóm khác nhau, giao diện thân thiện, dễ sử dụng, hỗ trợ
mở nhiều
file cùng lúc, tìm kiếm dễ dàng hơn nhờ đánh số thứ tự cho mỗi hàng, rút gọn
các lệnh như cây thư mục Explorer của Windows…tất cả xem như
quá hoàn hảo,
xứng đáng thay thế Notepad cổ điển của Window. Hướng dẫn sử dụng: phần 1, phần 2
4. NSIS Portable: sau khi edit code NSIS trong tập tin Template.nsi cho ứng
dụng cần làm portable (được viết bằng ngôn ngữ lập trình NSIS), ta
sẽ biên
dịch nó bằng NSIS Portable để tạo ra file .exe.
5. Template.nsi: là tập tin chứa tập lệnh (các lệnh) đặc trưng được viết theo
ngôn ngữ lập trình của NSIS và có đuôi là ".nsi". Tập tin Template.nsi
có
nhiệm vụ chứa những thiết lập cần thiết để NSIS biên dịch và tạo ra file thực
thi ".exe" thực hiện các chức năng của Portable. Các bạn tra từ điển Anh-Việt
sẽ thấy từ "Template" có nghĩa là "mẫu". Ở đây Application Portable
Template.nsi (phiên bản 2.7.3) là một template được xây dựng dựa trên
PortableApps.com
Format 1.0 nên nói rằng ApplicationPortableTemplate.nsi thuộc PortableApps.Com
Format thì cũng đúng. Tuy nhiên hiện tại thì PortableApps.Com Format đã cho ra
phiên bản mới PortableApps.com Format™ 3.0 (2012-04-18) và nó đã thay đổi rất
nhiều. Bởi nó được xây dựng bằng PortableApps.com Launcher,
một ứng dụng mã nguồn mở do
Chris Morgan – một thành viên “già làng” của PortableApps.Com phát triển nên
tác giả
NGOCHUY1991 đã quyết định chỉnh sửa lại ApplicationPortableTemplate.nsi (hỗ trợ
cho PortableApps.com Format™ 1.0) thành
Application Portable Template (Fixed By PAV).nsi (nằm trong đường dẫn
Application Portable Template (Fixed By PAV)\Other\${APP} Portable
Source). Sau khi
tải về bạn mở file Application Portable Template (Fixed By PAV).nsi bằng
Notepad++ Portable và quan sát ở dòng thứ 4
Requiredplugins: NewAdvSplash, Registry, FindProc, Dialogs
Đây chính là những plugin mà file Application Portable Template (Fixed By
PAV).nsi
đòi hỏi NSIS Portable phải có đủ (ở đây là 4 plugin). Vì vậy bạn vào đường dẫn
NSISPortable\App\NSIS\Plugins kiểm tra xem có đủ những plugin này chưa (một
nguyên tắc là bạn khai báo plugin nào trong code thì plugin đó
phải tồn tại
trong folder này, danh sách plugins trong folder này chưa thể cập nhập hết, vì
đơn giản plugins có rất nhiều, chúng có thể được tạo ra bởi bất kỳ
ai cókiến thức về code NSIS), nếu chưa thì vào trang Category Plugins ->
Download plugin còn thiếu về (ở bản NSIS Portable này thì plugin còn
thiếulà Dialogs.dll)
-> Giải nén file .zip -> Vào folder sau khi giải nén -> Tìm đến file có đuôi
.dll (đây là đuôi của Plugin trong NSIS) -> Bỏ vào folder
NSISPortable\App\NSIS\Plugins. Tham khảo thêm bài Compile code NSIS với NSIS
Portable.
6. Phần mềm được tạo Portable
6.1. TreeSize Free thông thường người dùng máy tính rất mất thời gian trong
việc quan sát nhằm mục đích quản lý để lập ra cây folder. Windows
đã cung cấp
trình Explorer mặc định nhưng nó có nhược điểm chỉ show cây folder tại cửa sổ
bên tay trái, còn nội dung của các folder đó thì phải quan sát bên
cửa sổtay phải. Vì vậy, TreeSize Free không chỉ giúp bạn show các folder con mà
còn show hết các file (bao gồm tên file, loại file, kích cỡ…) bên
trong các folder
đó.
6.2. Office Tab Từ lâu, phương thức duyệt nhiều cửa sổ trang web theo thẻ Tab
đã được sử dụng rộng rãi trong hầu hết trình duyệt (như Firefox).
Nếu muốn
áp dụng cách duyệt file theo thẻ Tab trong Microsoft Word, Excel, PowerPoint,
bạn có thể nhờ sự trợ giúp của tiện ích OfficeTab. Điểm độc đáo
của OfficeTab
so với các phần mềm cùng chức năng: cho phép bạn tùy chọn kiểu dáng và vị trí
của thanh chứa thẻ theo nhu cầu (phía trên, phía dưới, bên trái,
hoặc bên
trái giao diện Word, Excel, PowerPoint). (Nguồn download
Office Tab 7.0 Full crack (Duyệt tài liệu theo thẻ) đã hỗ trợ Powerpoint2010 và
các ứng dụng khác download link
mediafire.com/?wrc2fc5fbztmjbo)
E. Vài nét về file Application Portable Template
(Fixed By PAV).nsi Và cách thiết lập với những file, folder của PortableTham
khảo
1. Sửa lỗi cơ bản trong Application Portable Template.nsi
2. Biến và Hằng trong code NSIS3. Hướng dẫn sử dụng
ApplicationPortableTemplate.nsi
Khi mở bằng Notepad++ Portable1. Các thành phần và màu sắc
Để hiểu rõ hơn về các thành phầntrong file Application Portable Template (Fixed
By PAV).nsi, các bạn có thể tham khảo thêm ở file help NSIS
Portable\App\NSIS\NSIS.chmcó chứa những hướng dẫn chi tiết, đầy đủ về code NSIS.
1.1. Phần giải thích (được Notepad++ Portable gán màu xanh lá) quy định bắt đầu
bằng dấu ; hoặc /* giúp bạn hiểu rõ hơn nội dung của những
dòng code. Vídụ
; # Change the following constants depending on the application you want to
make portable
1.2. Phần hằng (được Notepad++ Portable gán màu cam). Hằng trong code cũng
tương tự như trong toán.
1.2.1. Loại 1 làhằng đã được khai báo đồng thời đã được gán sẵn 1 giá trị mặc
định, khi cần sử dụng ngay. Ví dụ muốn dùng hằng $EXEDIR thì chỉ
việc đặtnó vào nơi bạn muốn dùng, không cần khai báo và gán trị nào hết. Mặc
định đường dẫn của hằng
$EXEDIR là nơi thư mục chứa file chạy ứng dụng đó. Mỗi hằng trong danh sách
dưới đây đã được gán 1 đường dẫn mặc định trên HĐH, để biết
thêm chi tiết về
các đường dẫn này, các bạn có thể tham khảo thêm trong NSIS Manual
$PROGRAMFILES, $PROGRAMFILES32, $PROGRAMFILES64, $COMMONFILES, $COMMONFILES32,
$DESKTOP,
$EXEDIR, $EXEFILE, $EXEPATH, ${NSISDIR}, $WINDIR, $SYSDIR, $TEMP, $STARTMENU,
$SMPROGRAMS,
$SMSTARTUP, $QUICKLAUNCH, $DOCUMENTS, $SENDTO, $RECENT, $FAVORITES, $MUSIC,
$PICTURES,
$VIDEOS, $NETHOOD, $FONTS, $TEMPLATES, $APPDATA, $LOCALAPPDATA, $PRINTHOOD,
$INTERNET_CACHE,
$COOKIES, $HISTORY, $PROFILE, $ADMINTOOLS, $RESOURCES, $RESOURCES_LOCALIZED,
$CDBURN_AREA,
$PLUGINSDIR, $HWNDPARENT
1.2.1.1. ${APP} là hằng chỉ định tên ứng dụng được làm Portable ví dụ như
TreeSize Free
!define LONGAPP "${APP}" ; long name of your application used for
desriptive fields (if the exe should not contain a space, but the
description could)1.2.1.2. ${PNAME} là hằng chỉ định tên ứng dụng Portable (lưu
giá trị là chuỗi ${APP}
Portable) ví dụ như TreeSize Free Portable
!define SPLASHIMAGE "${PNAME}.jpg"
1.2.1.3. $APPDATA là hằng chỉ định đường dẫn mặc định đến folder chứa các cấu
hình chính của những ứng dụng được cài đặt trực tiếp trên
máy tính 1.2.1.3.1. Cấp Users
Với Win XP: C:\Documents and Settings\{Tên người dùng}\Application Data
Với Win 7: C:\Users\{Tên người dùng}\AppData\Roaming
!define SETTINGSFOLDERSUSERS "$APPDATA\JAM Software"
1.2.1.3.2. Cấp All Users
Với Win XP: C:\Documents and Settings\All Users
Với Win 7: C:\ProgramData
!define SETTINGSFOLDERALLSUSERS "$APPDATA\MARTAU"
1.2.1.4. $EXEDIR là hằng chỉ định đường dẫn mặc định đến folder chứa file quản
lý .exe
của ứng dụng Portable ví dụ như TreeSize Free Portable.exe
1.2.1.5. ${APP} là hằng chỉ định đường dẫn mặc định đến folder chứa file thực
thi gốc
.exe của ứng dụng được làm Portable ví dụ như TreeSize Free.exe.
1.2.1.6. $WINDIR là hằng chỉ định đường dẫn mặc định đến folder C:\Windows
1.2.1.7. $SYSDIR là hằng chỉ định đường dẫn mặc định đến folder
C:\Windows\System32
1.2.2. Loại 2 là những hằng số mà các bạn phải tự khai báo và gán giá trị cho
nó nên thường đứng sau chữ !define. Ví dụ khi sử dụng hằng số
${EXE},đây
là hằng loại 2 nên phải khai báo cho nó trước khi sử dụng nghĩa là gán cho hằng
số ${EXE} giá trị rỗng, biểu thị bằng 2 dấu ngoặc kép liên tiếp.
!define EXE ""
1.3. Phầnbiến (được Notepad++ Portable gán màu đen). Ví dụ $PROGRAMDIR. Biến
trong code cũng tương tự như trong toán. Bạn có thể đặt tên
cho một vấn đề
nào đó chưa biết là biến, sau đó dựa trên những thứ liên quan đến nó để lập hàm
hay phương trình tìm lời giải. Trong code thì biến phải được khai
báo trước
khi thực hiện bất kỳ một hàm nào, và nó tuân theo nguyên tắc “mỗi biến chỉ có 1
ô nhớ”, nếu trước đó bạn đã gán giá trị cho biến nhưng sau này
lại tiếp
tục gán cho biến đó 1 giá trị khác thì cuối cùng biến sẽ nhận giá trị mới bạn
vừa gán, không có nghĩa là nó không nhận giá trị cũ, nhưng kể từ thời
điểm
bạn gán lần nữa thì nó sẽ nhận trị mới. Điều này vô cùng hữu ích nếu ai đó
không muốn code của họ chứa quá nhiều biến. Thay vào đó, họ sẽ
chỉ khai báo
1 biến rồi dùng biến đó cho nhiều công đoạn khác nhau, cứ mỗi lần sử dụng biến
xong có thể họ lại gán trị rỗng cho biến này hoặc gán 1 trị mới
cho 1 công
đoạn mới, kiểu như reset lại mặc định của biến ấy mà. Trong NSIS, biến gồm 2
loại.
1.3.1. Loại 1 là những biến đã được khai báo sẵn trong code NSIS, và do đó khi
sử dụng không cần đến công đoạn khai báo nữa, chỉ cần nêu tên
biến và sử
dụng ngay. Ví dụ nếu muốn dùng biến $INSTDIR thì đem ra dùng luôn, không khai
báo gì hết. Danh sách các tên biến loại 1 này gồm
$0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $R0, $R1, $R2, $R3, $R4, $R5, $R6, $R7,
$R8, $R9, $INSTDIR, $OUTDIR, $CMDLINE, $LANGUAGE
1.3.2. Loại 2 là những biến bạn phải tự khai báo, nếu chưa khai báo mà sử dụng
ngay như biến loại 1 thì NSIS báo có lỗi. Ví dụ khi muốn sử dụng
biến $PROGRAMDIR
thì trước đó phải khai báo biến này như sau
Var PROGRAMDIR ; holds the path to the above EXE file
1.4. Phần hàm (được Notepad++ Portable gán màu đen hoặc màu xanh dương).
1.4.1. Ở dòng 400 hàm StrCpy thực hiện lệnh copy đường dẫn chứa file thực thi
gốc
.exe của ứng dụng đến biến số $PROGRAMDIR
StrCpy "$PROGRAMDIR" "$EXEDIR\App\${APP}"
1.4.2. Các hàm InitFilesAllUsers, InitFoldersAllUsers và CleanFoldersAllUsers,
CleanFilesAllUsers thực chất như hàm InitFilesUsers, InitFoldersUsers hay
CleanFoldersUsers, CleanFilesUsers nhưng được chỉnh sửa lại hằng số và thêm vào
hàm:
SetShellVarContext all1.4.3. Hai hàm chính: ValuesToStack và RegFileToStack
giúp nhận biết các đường dẫn được ngăn cách bởi || trong một số
hằng như DOREG (nếu bật REGKEYS),DOFILESUSERS (nếu bật SETTINGSFILESUSERS),
DOFOLDERSUSERS (nếu bật
SETTINGSFOLDERSUSERS),…!ifdef DOREG | DOFILESUSERS | DOFILESALLUSERS |
DOFOLDERSUSERS | DOFOLDERSALLUSERS |
DOPATH2. Nguyên lý hoạt động của Portable được thể hiện trong những dòng từ 271
đến
286Call InitINI ; apply INI settings
Call InitVars ; set default variable values when no INI is used
Call InitInstall ; installs additional files, e.g. sources or INI-files
Call Init ; other initalizations before any registry, folder, or fileoperations
are done
Call InitReg ; backup current reg, apply portable reg
Call InitFilesUsers ; rename current files, apply portable files
Call InitFoldersUsers ; rename current folders, apply portable folders
Call InitFilesAllUsers ; can be used for custom settings like e.g. file
manipulations, empty by default
Call InitFoldersAllUsers ; can be used for custom settings like e.g. file
manipulations, empty by default
Call RunApp ; run app
Call CleanFoldersAllUsers ; can be used for custom cleanup like e.g. file
manipulations, empty by default
Call CleanFilesAllUsers ; can be used for custom cleanup like e.g. file
manipulations, empty by default
Call CleanFoldersUsers ; copy portable folders, delete portable folders,
restore original folders
Call CleanFilesUsers ; copy portable files, delete portable files, restore
original files
Call CleanReg ; copy reg, restore original reg
Call Clean ; Absolute last things to do, cleanup
Tạiđây bạn sẽ thấy cách trình bày “đệ quy” tên danh sách các tiến trình chính –
được thực thi bởi file quản lý ${APP} Portable.exe. Từ dòng 271
đến279,
công việc chính mà file quản lý sẽ làm là chuẩn bị trước môi trường cần thiết
cho ứng dụng hoạt động như backup,…Dòng 280, hàm RunApp sẽ
thực hiện việc
gọifile thực thi chính của ứng dụng cần làm portable. Từ dòng 281 đến 286, file
quản lý sẽ cập nhập mới cho files, folders cấu hình và .reg file của
ứng
dụng, sau đó khôi phục lại môi trường như trước khi khởi chạy ứng dụng
portable. Trình tự thực hiện của nó theo đúng thứ tự từ trên xuống dưới.
Cụthể
từng hàm như thế nào, các bạn xem từ dòng 288 trở xuống.
3. Những phần cần bổ sung vào file Application Portable Template (Fixed By
PAV).nsi
Cácbạn thêm vào giữa " " hoặc vào bổ sung thêm các hàm
3.1. Với hằng APP: thêm vào giữa " " tên thư mục của ứng dụng ở cấp thấp nhất
(tên thư mục không theo tên nhà sản xuất ví dụ như JAM
Software mà là TreeSize
Free) trong thư mục cài đặt Program Files.
!define APP "" ; insert application name, e.g. "TestApp"; this one is used for
the final executable an in the directory structure
3.2. Với hằng VER: thay 0.0.0.0 thành phiên bản ứng dụng Portable bằng cách
click phải vào file thực thi .exe của ứng dụng, chọn
Properties\Details và
xemở dòng File version hoặc Product version để biết số version của ứng dụng.
!define VER "0.0.0.0" ; insert version of launcher,first two digits are
version numbers, last digit is packet revision
3.3. Với hằng EXE: thêm vào giữa " " tên file thực thi chính của ứng dụng được
làm Portable kèm định dạng .exe. Vì portable yêu cầu quyền admin
nênnếu
có 2 file
Program.exe và Program(Admin).exe bạn có thể chọn file Program(Admin).exe
khai báo cho hằng EXE.
!define EXE "" ; insert program exe name, e.g. "testapp.exe"
3.4. Với hằng REGKEYS: thêm vào giữa " " tên file .reg của ứng dụng, quy ước
tên trùng với giá trị của hằng ${APP}, ví dụ TreeSize Free.reg (nếu
ứng dụng
không có file
.reg, hãy thêm dấu ; trước !define REGKEYS). Nếu Portable của bạn có sử dụng
file
.reg và có bật hàm REGKEYS thì bắt buộc bạn phải đặt file .reg đó vào folder
Data của ứng dụng Portable, nếu không file quản lý sẽ không thể
thực hiện tính
năng copy – update – restore file .reg và dẫn đến tình trạng ứng dụng không
nhận phiên bản PRO (với những ứng dụng lưu khóa PRO VERSION
trong Registry),
cũng như để lại rác trong Registry sau khi sử dụng.
!define REGKEYS ""3.5. Theo NSIS, nó chỉ định nghĩa chính xác hằng $EXEDIR khi
trước nó có đặt hàm
OutFile. Tuy nhiên trong khai báo cho hàm OutFile có thêm hằng ${PNAME} nên
phải đặt OutFile sau !define PNAME nên sẽ có trình tự code
như sau:!define PNAME "${APP} Portable"
OutFile "..\..\${PNAME}.exe"
!define SETTINGSFILESUSERS
"$EXEDIR\App\${APP}\RegWorkshop.ini||$EXEDIR\App\${APP}\undo.dat||$EXEDIR
\App\${APP}\undo.idx"
Lưu ý:
3.5.1. Trong lập trình, chỉ cần khai báo 1 lần cho 1 hằng (không bao giờ có
khai báo 2 lần cho 1 hằng) nên dòng !define PNAME chỉ có một và nó
phải được
đặt trước khi nó được sử dụng (trong ví dụ là dùng nó ngay trước hàm OutFile).
3.5.2. Chỉ có một hằng $EXEDIR là ngoại lệ phải đặt thêm hàm OutFile trước nó.
Còn những hằng khác như $WINDIR thì nó đã gán sẵn đường
dẫn đến folder Windows
của ổ cài hệ điều hành.3.6. Bạn phải thêm vào đoạn code khai báo trị all cho
hàm SetShellVarContext trước khi sử dụng hằng
SETTINGSFILESALLUSERS hay SETTINGSFOLDERSALLUSERS
nếu muốn sử dụng ở cấp All Users, đoạn code khai báo trị current cho hàm
SetShellVarContext trước khi sử dụng hằng SETTINGSFILESUSERS hay
SETTINGSFOLDERSUSERS nếu muốn sử dụng ở cấp Users.
SetShellVarContext allStrCpy "$R0" "${SETTINGSFOLDERSALLUSERS}" ; copy constant
to working variable
SetShellVarContext current
StrCpy "$R0" "${SETTINGSFOLDERSUSERS}" ; copy constant to working variable
3.7. Với hằng SETTINGSFILESUSERS: thêm vào giữa " " đường dẫn đến file cấu hình
của ứng dụng (thuộc cấp Users). Dùng để lưu những file
cấu hình đơn lẻ
và phải khai báo đầy đủ đường dẫn đến file cấu hình đó kèm định dạng file. Ví
dụ RegWorkshop.ini
sẽ tương ứng với File1.dat, undo.dat sẽ tương ứng với File2.dat, và undo.idx sẽ
tương ứng với File3.dat. Chỉ việc copy 3 file đó vào folder
SettingsFiles
Users và đổi lại
tên.định dạng tương ứng như trên là xong (nhưng nhớ là trước tiên bạn phải
thiết lập hiển thị đuôi cho file, rồi click vào file cần đổi, nhấn F2, bôi
đen
luôn cả định dạng file rồi đổi tên thành File1.dat, File2.dat, File3.dat,…).
Chú ý rằng nếu bạn sử dụng 2 đường dẫn trở lên (tức có sử dụng dấu ||
để phân
cách cho việc khai báo các file…) trong chuỗi nằm giữa " " trong file .nsi thì
thứ tự 1, 2, 3…sẽ được quy ước cho các file theo thứ tự từ trái qua
phải
trong chuỗi nằm giữa " " trong file .nsi tương ứng với File1.dat,
File2.dat, File3.dat,…ở thư mục SettingsFiles Users.
!define SETTINGSFILESUSERS
"$EXEDIR\App\${APP}\RegWorkshop.ini||$EXEDIR\App\${APP}\undo.dat||$EXEDIR
\App\${APP}\undo.idx"
3.8. Với hằng SETTINGSFILESALLUSERS: thêm vào giữa " " đường dẫn đến file cấu
hình của ứng dụng (thuộc cấp All Users). Cách thiết lập
tương tự hằng
SETTINGSFILESUSERS.
!define SETTINGSFILESALLUSERS ""
3.9. Với hằng SETTINGSFOLDERSUSERS: thêm vào giữa " " đường dẫn đến folder cấu
hình của ứng dụng (thuộc cấp Users) có tên có thể theo
tên nhà sản xuất(như JAM Software) trong thư mục Application Data. Nếu phần mềm
lưu thư mục cấu hình trong
%APPDATA%,lưu folder chứa project trong My Documents (hoặc Documents) thì bạn
hãy Copy những thư mục này (nếu có) vào thư mục
SettingsFolders Users rồi
đổi tên những thư mục này thành các tên Folder1.dat, Folder2.dat,
Folder3.dat,…Chú ý rằng nếu bạn sử dụng 2 đường dẫn trở lên (tức có sử
dụng dấu || để
phân cách cho việc khai báo các folder…) trong chuỗi nằm giữa " " trong file
.nsi thì thứ tự 1, 2, 3…sẽ được quy ước cho các folder theo thứ tự từ
trái
qua phải trong chuỗi nằm giữa " " trong file .nsi
tương ứng với Folder1.dat, Folder2.dat, Folder3.dat,…ở thư mục SettingsFolders
Users.
!define SETTINGSFOLDERSUSERS ""
3.10. Với hằng SETTINGSFOLDERSALLUSERS: thêm vào giữa " " đường dẫn đến folder
cấu hình của ứng dụng (thuộc cấp All Users). Cách thiết
lập tương tự hằng
SETTINGSFOLDERSUSERS.
!define SETTINGSFOLDERSALLUSERS ""
3.11. Với hằng USEREGKEYSFILE: giá trị “TRUE” đồng nghĩa với việc nếu tồn tại
file
.reg trong folder Data của ứng dụng portable, nó sẽ sử dụng file .reg đó thay
vì file .reg
được định nghĩa trong !define REGKEYS.
!define USEREGKEYSFILE "TRUE"
3.12. Với hằng DELETEREGKEYS: giá trị “TRUE” đồng nghĩa với việc nếu bạn có
file
.reg và hệ thống Registry của bạn cũng tồn tại các key trong file .reg đó, sau
khi file quản lý tiến hành backup registry, nó sẽ xóa đi các key đang
tồntại trong Registry và tiến hành Merge những key trong file .reg được bạn
định nghĩa ở !define REGKEYS.
!define DELETEREGKEYS "TRUE"
3.13. Với hằng INSTALLSOURCES: giá trị “TRUE” đồng nghĩa với việc khi bạn khởi
động file quản lý ${APP} Portable.exe, nó sẽ add vào folder
Other\${PNAME}
Source
các file như ${PNAME}.ico, ${PNAME}.jpg, Readme.txt.
!define INSTALLSOURCES "TRUE"
3.14. Với hằng INSTALLDEFAULTS: giá trị “TRUE” đồng nghĩa với việc khi khởi
động file quản lý ${APP} Portable.exe, nó sẽ add file .reg mặc
định vào folder
Data (nếu như trên bạn có sử dụng hằng REGKEYS). Tuy nhiên nó không cần thiết
do đó các bạn nên để như mặc định là "FALSE".
!define INSTALLDEFAULTS "FALSE"
3.15. Thêm dấu ; ngay trước hàm để vô hiệu hóa hàm (hay biến hàm thành phần
giải thích). Ví dụ nếu hằng SPLASHIMAGE được định nghĩa thì
nósẽ khởi động
một file ảnh có tên ${APP} Portable.jpg trước khi bắt đầu launch file thực thi
chính và bạn phải chuẩn bị một file ảnh ${APP} Portable.jpg đặt
trong folder
${PNAME} Source của ứng dụng portable. Hãy thêm dấu ; trước !define SPLASHIMAGE
nếu bạn muốn hủy bỏ đi hằng này
; !define SPLASHIMAGE "${PNAME}.jpg"
4. Khi mở file ${APP}.reg (ví dụ Office Tab.reg) bằng Notepad++ Portable nếu có
4.1. Chứa đường dẫn C:\\Windows\\System32 (hoặc C:\\Windows) thì bạn vẫn để
nguyên bởi khi kích hoạt file quản lý ${PNAME}.exe (ví dụ
như Office Tab Portable.exe)
nó sẽ đổi ngược lại chính xác tên của những file File1.dat, File2.dat,... (bạn
đã đổi tên ở phần 2.7 trên) thành tên nguyên gốc (lúc chưa đổi tên
trong
file
${PNAME}.nsi) rồi cho vào thư mục C:\Windows\System32 (hoặc C:\Windows). Sau đó
file thực thi chính ${APP}.exe sẽ truy xuất file
${APP}.reg và lúc này thì
những file với tên nguyên gốc đã tồn tại trong C:\Windows\System32 (hoặc
C:\Windows).
4.2. Chứa đường dẫn C:\\Program Files\\Tên phần mềm\\Tên file thực thi .exe
(nếu không có tên nhà sản xuất) hoặc
C:\\Program Files\\Tên nhà sản xuất\\Tên phần mềm\\Tên file thực thi .exe thì
phải đổi thành Tên đường dẫn thư mục Portable (có thêm dấu \
)\\Tên file quản
lý Portable.exe (Xem bước 7 ở các bước tạo TreeSize Free Portable).
4.3. Chứa đường dẫn C:\\Program Files\\Tên phần mềm (nếu không có tên nhà sản
xuất) hoặc C:\\Program Files\\Tên nhà sản xuất\\Tên phần mềm
thì phải đổi
thành
Tên đường dẫn thư mục Portable (có thêm dấu \ )\\App\\Tên phần mềm (Xem bước 7
ở các bước tạo Office Tab Portable).
================================================== ======
F. Các bước tạo Portable cho những phần mềm
F.A. TreeSize Free Portable
Các bạn có thể xem Clip minh họa quá trình làm TreeSize Free Portable (link
video
http://www.youtube.com/watch?v=ZFIy00vWe8Q)Và tham khảo bản Portable tại Những
ứng dụng hỗ trợ tăng tốc truy xuất thông tin
(download link mediafire.com/?dx7jbljhar0u9f0, sau khi tải về thực hiện bước 7
dưới đây để chỉnh lại đường dẫn của Portable trong file TreeSize
Free.reg)
Mình xin viết lại hướng dẫn từ video trên
1. Monitor quá trình cài đặt của TreeSize Free bằng TU: Vào menu File ->
Install new... -> Next -> Chọn TreeSizeFreeSetup.exe trong mục Setup
program path
->
Launch setup program -> Program is installed -> Complete the monitoring process
later.
2. Trong cửa sổ TU -> Vào thư mục Program Files\JAM Software -> Click phải vào
tên thư mục TreeSize Free chọn Copy
3. Download Application Portable Template (Fixed By PAV).nsi, giải nén và đặt
thư mục Application Portable Template (Fixed By PAV) trong ổ
đĩa liên kết-> Đổi tên thư mục Application Portable Template (Fixed By PAV)
thành TreeSize Free Portable
3.1. Mở thư mục App -> Paste thư mục TreeSize Free (đã Copy) vào -> Xóa thư mục
${APP} -> Mở thư mục TreeSize Free -> Xóa 3 tập tin thừa unins000.*.
3.2. Vào thư mục Other -> Đổi tên thư mục ${APP} Portable Source thành TreeSize
Free Portable Source -> Tiếp tục vào thư mục TreeSize Free
Portable Source
-> Đổi tên file Application Portable Template (Fixed By PAV).nsi thành TreeSize
Free Portable.nsi
3.3. Vào thư mục Data -> Xóa 3 thư mục không cần thiết SettingsFiles AllUsers,
SettingsFolders AllUsers, SettingsFiles Users (tác giả clip nhầm thư mục này là
SettingsFolders Users) -> Vào thư mục SettingsFolders Users -> Tạo thư mục
Folder1.dat và nó sẽ tượng trưng cho thư mục JAM Software.
4. Trong cửa sổ TU -> Vào thư mục Application Data\JAM Software -> Click phải
vào tên thư mục TreeSize Free chọn Copy -> Paste thư mục
TreeSize Free (đã
Copy) vào thư mục Folder1.dat.
5. Tạo file TreeSize Free.reg: Trong cửa sổ TU -> Vào menu File -> Export ->
Registry Changes... -> Đặt Filename là TreeSize Free và chọn lưu trong thư mục
Data -> Click Save.
6. Mở file TreeSize Free Portable.nsi bằng Notepad++ Portable (click phải chọn
Edit with Notepad++) -> Điền thông tin vào giữa dấu " " để trở
thành các dòng sau (có thể nhấn Ctrl F để tìm dễ hơn):
!define APP "TreeSize Free" ; insert application name, e.g. "TestApp"; this
one is used for the final executable an in the directory structure
!define VER "2.6.0.159" ; insert version of launcher,first two digits
are version numbers, last digit is packet revision
!define EXE "TreeSizeFree.exe" ; insert program exe name, e.g.
"testapp.exe"
!define REGKEYS "TreeSize Free.reg"
!define SETTINGSFOLDERSUSERS "$APPDATA\JAM Software"
Vì trong thư mục $EXEDIR\App không có thư mục Folder1.dat (khác với thư mục
$EXEDIR\Data) nên không có chữ \JAM Software ở dòng thứ 400
StrCpy "$PROGRAMDIR" "$EXEDIR\App\${APP}"
7. Mở thư mục TreeSize Free Portable -> Tô đen Copy tên đường dẫn thư mục
TreeSize Free Portable ở thanh địa chỉ (Address Bar) -> Mở file TreeSize
Free.reg
bằng Notepad++ Portable (click phải chọn Edit with Notepad++) -> Nhấn Ctrl H để
hiện cửa sổ Replace -> Điền ở ô Find what là C:\\Program
Files\\JAM Software\\TreeSize
Free\\TreeSize Free.exe -> Paste phần Tên đường dẫn thư mục TreeSize Free
Portable vừa Copy vào và thêm dấu \ để trở thành Tên đường dẫn
thư mục TreeSize
Free Portable (có thêm dấu \ )\\TreeSize Free Portable.exe ở ô Replace with ->
Replace All -> OK -> Close và Save file TreeSize Free.reg lại.
8. Tính năng Context menu (menu ngữ cảnh) là chức năng khá phổ biến của nhiều
ứng dụng vì tính tiện lợi cuả nó khi muốn mở 1 tập tin bất kỳ
bằng việc đơn
giản chọn tên phần mềm trong danh sách hiển thị khi click chuột phải vào tập
tin đó. Tính năng Context menu của phần mềm sẽ xuất hiện khi có
phần key tương
ứng với tính năng này của phần mềm đó tồn tại trong Registry hay nói cách khác
là chúng tồn tại đồng thời. Vì những Portable tạo theo
Portableapps.com
Format có đặc điểm là xóa sạch key của Portable sau khi exit (tham khảo những
Portable của trang Portableapps.com) nên nếu muốn vẫn còn tính
năng Context
menu sau khi exit ứng dụng thì sẽ có 2 trường hợp sau (bước 8 này là tùy ý
thích):
8.1. Trường hợp bạn sợ mất công nên chấp nhận để lại toàn bộ key (bao gồm cả
những key không chứa tính năng Context menu) "rác" của
Portable trong Registry
sau khi exit Portable: Vào thư mục Data -> Mở file TreeSize Free.reg thủ công
bằng phần mềm Registry Editor có sẵn trong máy để Import key vào
Registry
của Windows.
8.2. Trường hợp bạn chỉ muốn để lại key rác tối thiểu của chức năng Context
menu trong Registry và xóa những key còn lại không liên quan đến
tính năng
này sau khi exit Portable: bạn tách file TreeSize Free.reg ra làm 2 file
Context.reg và TreeSize Free.reg
8.2.1. Vào thư mục Data -> Click chuột phải chọn New\Text Document -> Mở file
New Text Document.txt này bằng Notepad của Windows.
8.2.2. Mở file TreeSize Free.reg bằng Notepad++ Portable -> Tô đen, Copy và
Paste
dòng đầu tiên Windows Registry Editor Version 5.00 trong file TreeSize Free.reg
vào dòng đầu tiên của file New Text Document.txt -> Nhấn Ctrl
F để tìm theo từ khóa Context -> Tô đen, Cut và Paste lần lượt những dòng chứa
từ Context và cả dòng
[HKEY_...] đứng ngay trước trong file TreeSize Free.reg vào file New Text
Document.txt.
8.2.3. Close và Save file New Text Document.txt lại -> Đổi tên thành
Context.reg -> Cut và Paste file Context.reg vào thư mục TreeSize Free
Portable ->Mở file
Context.regthủ công bằng phần mềm Registry Editor có sẵn trong máy để Import
key vào Registry của Windows.
Lưu ý: nếu bạn không thực hiện bước 7mà thực hiện bước 8.2.3. này thì tính năng
Context menu tuy có xuất hiện nhưng khi bạn click vào thì nó sẽ báo lỗi ngay
lập tức vì không tìm thấy ứng dụng theo đường dẫn
mà bạn khai báo trong Registry. Vậy nên tốt nhất là bạn chỉnh sửa đường dẫn cho
phù hợp trước khi load file quản lý hay để những portableapps sử dụng context
menu được hoạt động chính xác.
8.2.4. Close và Save file TreeSize Free.reg (đã chỉnh sửa) và vẫn để ở thư mục
Data.
9. Sử dụng IcoFX Portable để tạo icon (biểu tượng) cho Portable
9.1. Vào File -> Open... -> Mục Files of type chọn Windows Binary
(*.exe;*.dll;*ocx;*.icl) -> Mục File name chọn file thực thi TreeSizeFree.exe
để
lấy icon của file này -> Click Open -> Click Extract.
9.2. Click vào biểu tượng Start của Windows trong chương trình IcoFX Portable
(Create Windows Icon From Image) -> Tích chọn toàn bộ -> Click OK -> Vào File
->
Save -> Lưu lại với tên TreeSize Free Portable trong thư mục TreeSize Free
Portable Source.
10. Cuối cùng là mở file TreeSize Free Portable.nsi bằng NSIS Portable. Chạy
file
NSISPortable\NSISPortable.exe. Trong cột Compiler click vào tùy chọn Compile
NSI scripts rồi kéo thả file TreeSize Free Portable.nsi vào cửa sổ
hiện ra, nếu mọi chuyện tốt đẹp thì bạn sẽ thấy cửa sổ như hình, nếu không thì
chương trình sẽ báo lỗi và thông báo lỗi chỗ nào và bạn có thể chỉnh sửa
cho đúng.
File thực thi TreeSize Free Portable.exe sẽ được tạo ra và lưu ở thư mục
TreeSize Free Portable.
F.B. Office Tab Portable
Các bạn có thể tham khảo bản Portable tại download link
mediafire.com/?258dzdufnfping5, sau khi tải về thực hiện bước 7 dưới đây để
chỉnh lại đường dẫn của Portable trong file Office Tab.reg
Các bước hướng dẫn tương tự trên
1. Monitor quá trình cài đặt của Office Tab bằng TU: Vào menu File -> Install
new... ->
Next -> Chọn SetupOfficeTabEnterprise.exe trong mục Setup program path ->
Launch setup program -> Cài đặt phần mềm -> Copy file
Crack\OfficeTabFunction.dll -> Paste đè vào thư mục C:\Windows\System32 -> Đăng
ký phần mềm với key, name cung cấp trong file
Crack\Cara Registrasi + Serial.txt -> OK -> Vào lại TU chọn Program is
installed -> Complete the monitoring process later.
2. Trong cửa sổ TU -> Vào thư mục Program Files\Detong -> Click phải vào tên
thư mục Office Tab chọn Copy
3. Download Application Portable Template (Fixed By PAV).nsi, giải nén và đặt
thư mục Application Portable Template (Fixed By PAV) trong ổ
đĩa liên kết
-> Đổi tên thư mục Application Portable Template (Fixed By PAV) thành Office
Tab Portable
3.1. Mở thư mục App -> Paste thư mục Office Tab (đã Copy) vào -> Xóa thư mục
${APP} -> Mở thư mục Office Tab -> Xóa 2 tập tin thừa unins000.*.
3.2. Vào thư mục Other -> Đổi tên thư mục ${APP} Portable Source thành Office
Tab Portable Source -> Tiếp tục vào thư mục Office Tab Portable
Source ->
Đổi tên file
Application Portable Template (Fixed By PAV).nsi thành Office Tab Portable.nsi
3.3. Vào thư mục Data -> Xóa 3 thư mục không cần thiết SettingsFiles AllUsers,
SettingsFolders AllUsers, SettingsFolders Users.
4. Trong cửa sổ TU -> Vào thư mục C:\Windows\system32 -> Click chọn tập tin đầu
là
ArmAccess.dll -> Nhấn Shift click chọn vào tập tin cuối là OTB_Loader.dll để
chọn 4 tập tin -> Click phải chọn Copy -> Paste vào thư mục
SettingsFiles Users
-> Đổi tên các tập tin theo thứ tự tên A,B thành File1.dat,..., File4.dat.
5. Tạo file Office Tab.reg: Trong cửa sổ TU -> Vào menu File -> Export ->
Registry Changes... -> Đặt Filename là Office Tab và chọn lưu trong thư
mục Data-> Click
Save.
6. Mở file Office Tab Portable.nsi bằng Notepad++ Portable (click phải chọn
Edit with Notepad++) -> Điền thông tin vào giữa dấu " " để trở thành
các dòng
sau (có thể nhấn Ctrl F để tìm dễ hơn):
!define APP "Office Tab" ; insert application name, e.g. "TestApp";
this one is used for the final executable an in the directory structure
!define VER "7.5.0.0" ; insert version of launcher,first two digits are
version numbers, last digit is packet revision
!define EXE "OfficeTabCenter(Admin).exe" ; insert program exe name, e.g.
"testapp.exe"
!define REGKEYS "Office Tab.reg"
!define SETTINGSFILESUSERS
"$WINDIR\system32\ArmAccess.dll||$WINDIR\system32\Officetab_Detong.ocx||$WINDIR\system32\OfficeTabFunction.dll||$WINDIR\system32
\OTB_Loader.dll"
7. Mở thư mục Office Tab Portable\App\Office Tab -> Tô đen Copy tên đường dẫn
thư mục Office Tab Portable\App ở thanh địa chỉ (Address
Bar) -> Mở file
Office Tab.reg bằng Notepad++ Portable (click phải chọn Edit with Notepad++) ->
Nhấn Ctrl H để hiện cửa sổ Replace -> Điền ở ô Find what là
C:\\Program
Files\\Detong\\Office Tab -> Paste phần Tên đường dẫn thư mục Office Tab
Portable\App\Office Tab
vừa Copy vào và thêm dấu \ để trở thành Tên đường dẫn thư mục Office Tab
Portable (có thêm dấu \ )\\App\\Office Tab ở ô Replace with ->
Replace All ->
OK -> Close và Save file Office Tab.reg lại.
8. Tính năng mở theo thẻ Tab của Office Tab trong Office sẽ xuất hiện khi có
key của phần mềm tồn tại trong Registry, file của phần mềm tồn tại
trong C:\Windows\System32
(nói cách khác là tính năng mở theo thẻ Tab phải tồn tại đồng thời với key,
file của Office Tab trong máy). Tuy nhiên những Portable tạo theo
Portableapps.com
Format có đặc điểm là xóa sạch key, file của Portable sau khi exit (tham khảo
những Portable của trang Portableapps.com) nên nếu muốn vẫn còn
tính năng
mở theo thẻ Tab sau khi exit Portable (bước 8 này là tùy ý thích) thì bạn hãy
8.1. Vào thư mục Office Tab Portable -> Tạo thư mục Backup -> Mở cửa sổ TU ->
Vào thư mục C:\Windows\system32 -> Click chọn tập tin đầu là
ArmAccess.dll-> Nhấn Shift click chọn vào tập tin cuối là OTB_Loader.dll để
chọn 4 tập tin -> Click phải chọn Copy -> Paste vào thư mục
Backup.8.2. Vào thư mục Office Tab Portable -> Click phải -> New -> Text
Document -> Đổi tên thành Set.bat -> Click phải vào Set.bat -> Edit ->
Paste vào nội
dung sau
@echo off
reg import "%cd%\Data\Office Tab.reg"
copy "%cd%\Backup\ArmAccess.dll" "C:\Windows\system32"
copy "%cd%\Backup\Officetab_Detong.ocx" "C:\Windows\system32"
copy "%cd%\Backup\OfficeTabFunction.dll" "C:\Windows\system32"
copy "%cd%\Backup\OTB_Loader.dll" "C:\Windows\system32"
exit8.3. Close và Save Set.bat lại -> Mở file Set.bat (Enter hoặc Double
click), file này sẽ có chức năng nhập key trong file Office Tab.reg vào
Registry và
copy 4 file trong thư mục Backup vào thư mục C:\Windows\system32.
9. Sử dụng IcoFX Portable để tạo icon (biểu tượng) cho Portable
9.1. Vào File -> Open... -> Mục Files of type chọn Windows Binary
(*.exe;*.dll;*ocx;*.icl) -> Mục File name chọn file thực thi TreeSizeFree.exe
để
lấy
icon của file này -> Click Open -> Click Extract.
9.2. Click vào biểu tượng Start của Windows trong chương trình IcoFX Portable
(Create Windows Icon From Image) -> Tích chọn toàn bộ -> Click OK -> Vào File
->
Save -> Lưu lại với tên Office Tab Portable trong thư mục Office Tab Portable
Source.
10. Cuối cùng là mở file Office Tab Portable.nsi bằng NSIS Portable. Chạy file
NSISPortable\NSISPortable.exe. Trong cột Compiler click vào tùy chọn Compile
NSI scripts rồi kéo thả file Office Tab Portable.nsi vào cửa sổ
hiện ra, nếu
mọi chuyện tốt đẹp thì bạn sẽ thấy của số như hình, nếu không thì chương trình
sẽ báo lỗi và thông báo lỗi chỗ nào và bạn có thể chỉnh sửa cho
đúng. File
thực thi
Office Tab Portable.exe sẽ được tạo ra và lưu ở thư mục Office Tab Portable.
Khi kiên trì đến bước này là bạn có thể tận hưởng thành quả của mình rồi đấy!đá
lông nheo
Nếu các bạn muốn đơn giản hơn nữa, có thể dùng phần mềm tạo Portable "thật" có
tên gọi là
Portable App Creator (xem video hướng dẫn trong Youtube
http://www.youtube.com/watch?v=sYdi9XsrXwY hoặc
http://www.youtube.com/watch?v=itqzdCJKWUc).
Lưu ý: Phần mềm này có thể tạo ra file, key rác trong máy như Winrar nên cũng
không lý tưởng để tạo Portable "thật" lắm!
Mình đã xem và viết lại hướng dẫn từ các Video trên:
1. Tải Portable App Creator tại link Rapid (0.63MB) (nước ngoài thích upload
lên host này) https://rapidshare.com/files/2673249...nglish.paf.exe và
AutoIt
(file nén 7-zip)
http://www.autoitscript.com/files/au...oit-v3-sfx.exe
2. Chạy file PortableAppCreator_0__99_beta_English.paf.exe để chọn nơi bung nén
(việc làm này không tạo file, key rác) ra thư mục
PortableAppCreator
3. Giải nén (Extract) autoit-v3-sfx.exe ra thư mục install. Trong thư mục này,
bạn copy file AutoIt3.exe paste vào thư mục
PortableAppCreator\App
4. Mở (enter hoặc double click) file Portable App Creator.exe
4.1. Trong thư mục PortableAppCreator, xuất hiện thông báo "Searching for
the..." -> Click Done
4.2. Xuất hiện thông báo Portable device located at drive -> Chọn tên ổ đĩa
muốn lưu Portable -> Click Next -> Click Browse -> Chọn tên file Setup
của
chương trình cần tạo Portable -> Click Open -> Click Next
5. Ở bước đầu tiên là tùy chọn Take 1st Shot -> Click Next
6. Ở bước thứ hai là tùy chọn Install/Application -> Click Next -> Xuất hiện
thông báo
Please install the application to your PortableApps Drive -> Click OK -> Chỉnh
các tùy chọn khi cài đặt phần mềm như bình thường (như chọn
Destination Folder,...)
-> Click Done
7. Ở bước thứ ba là tùy chọn Get Shortcut Info (lấy thông tin Shortcut như
Icon) -> Click Next -> Xuất hiện 2 tùy chọn
7.1. Ở tùy chọn Type the location of the application to run -> Click Browse ->
Chọn tên file thực thi ".exe" của chương trình đã cài đặt -> Click
Open
7.2. Ở tùy chọn Type a name for the PortableApp and choose an icon -> Đặt tên
Portable theo ý muốn bản thân -> Click Icon -> Chọn lại tên file
thực thi
".exe" ở trên hoặc file ".ico" đã tạo ra trước đó bằng phần mềm IcoFX Portable
-> Click Open -> Click Next
8. Ở bước thứ tư là tùy chọn Open/Close -> Click Next -> Xuất hiện bảng thông
báo
Please make all modifications... (hãy chỉnh sửa phần mềm theo ý muốn bản thân)
-> Close phần mềm để tiếp tục -> Click OK
9. Quan sát ở góc phải của Taskbar nếu thấy xuất hiện biểu tượng của chương
trình vừa cài đặt thì click phải chọn Exit để thoát (mục đích không
cho chương
trình chạy và công đoạn tạo Portable dưới đây mới có thể tiếp tục được)
10. Ở bước thứ năm là tùy chọn Take 2nd Shot -> Click Next11. Ở bước thứ sáu là
tùy chọn Process Shots -> Click Next -> Click Next lần nữa ->
Xuất hiện bảng thông báo Creating the folder... -> Click Done và tận
hưởng thành quả!
================================================== ======
Mời các bạn đóng góp thêm nhiều kinh nghiệm sử dụng cũng như phần mềm tạo
Portable khác nữa!ôm một cái
Chúc các bạn vui vẻ, mạnh khỏe và thành công trong cuộc sống!
Lưu ý: Đây là những hướng dẫn dựa trên những bài viết ở trang
Portableappsviet.com của tác giả NGOCHUY1991
Other related posts: