1. Trang chủ
  2. » Công Nghệ Thông Tin

Ebook Portable Softwares part 59 ppsx

6 429 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 6
Dung lượng 80,6 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trang 1

;

******************************************************************

********

;

******************************************************************

********

; * Định nghĩa các hằng số (Define constants)

;

******************************************************************

********

!define AUTHOR "" ; tên bạn

!define APP "" ; chèn tên ứng dụng, Ví dụ "TestApp"

!define VER "0.0.0.0" ; chèn phiên bản của chương trình

!define EXE "" ; chèn tên file EXE, Ví dụ "testapp.exe"

!define PNAME "${App}Portable" ; định dạng tên portable (các thư mục và tên file)

!define ICON "${PNAME}.ico" ; chú thích dòng này khi sử dụng icon mặc định

!define SPLASHIMAGE "${PNAME}.jpg" ; chú thích dòng này khi không dùng ảnh splashscreen

!define REGKEYS "" ; chèn các khóa registry sử dụng, phân cách bởi "||", chú thích khi không dùng

!define SETTINGSFILES "" ; chèn các file thiết lập dùng đến, phân cách bởi "||" được lưu trữ trong máy host, Ví dụ "$WINDIR\TEST.INI", chú thích ra khi không dùng

!define SETTINGSDIRS "" ; chèn các thư mục thiết lập dùng đến, phân cách bởi

"||" được lưu trữ trong máy host, Ví dụ "$PROFILE\TEST", chú thích ra khi không dùng

!define INI "${PNAME}.ini" ; có thể thay đổi khi thiết lập của nhiều chương trình được lưu trong 1 file INI

;

******************************************************************

********

; * Includes (Bao gồm)

;

******************************************************************

********

!include "Registry.nsh" ; thêm các macro thao tác registry, không được bao gồm mặc định trong NSIS

Trang 2

!include "WordFunc.nsh" ; thêm header cho thao tác với word

!insertmacro "WordFind" ; thêm chức năng chia tách chuỗi

!include "FileFunc.nsh" ; thêm header cho thao tác với file

!insertmacro "GetParameters" ; thêm chức năng tìm lại các tham số dòng lệnh

;

******************************************************************

********

; * Runtime Switches (chuyển đổi thời gian thực)

;

******************************************************************

********

CRCCheck On ; tiến hành CRC (cycle redundancy check) check của launcher trước khi bắt đầu("Off" cho việc nén EXE sau này)

WindowIcon Off ; không hiển thị icon của launcher

SilentInstall Silent ; bắt đầu như launcher, không phải installer

AutoCloseWindow True ; tự động đóng khi kết thúc

;

******************************************************************

********

; * Định nghĩa các biến (Define variables)

;

******************************************************************

********

Var ACTION

Var ACTIONDIRECTORY

Var ACTIONPARAMETERS

Var SPLASHSCREEN ; thông tin splash screen có được hiện ra không, mặc định

là có

Var PROGRAMEXE ; tên của file EXE cần chạy

Var PROGRAMDIR ; đường dẫn của file EXE ở trên

Var PROGRAMPARMS ; các tham số thêm vào khi chạy file EXE

Var DATADIR ; đường dẫn tới thư mục nơi lưu tất cả các thiết lập

Var INIFILE ; đường dẫn đầy đủ tới file INI tìm được

Var SECONDLAUNCH ; file EXE có được chạy lần thứ 2 hay không

;

******************************************************************

********

Trang 3

; * Set basic information ( thiết lập các thông tin cơ bản)

;

******************************************************************

********

Name "${APP} Portable"

!ifdef ICON

Icon "${ICON}"

!endif

Caption "${APP} Portable - ${VER}"

OutFile "${PNAME}.exe"

;

******************************************************************

********

; * Set version information (Thiết lập thông tin phiên bản)

;

******************************************************************

********

LoadLanguageFile "${NSISDIR}\Contrib\Language files\English.nlf"

VIProductVersion "${Ver}"

VIAddVersionKey /LANG=${LANG_ENGLISH} "Tên sản phẩm" "${APP} Portable"

VIAddVersionKey /LANG=${LANG_ENGLISH} "Chú thích" "Cho phép

${APP} chạy trên 1 ổ cứng lưu động."

VIAddVersionKey /LANG=${LANG_ENGLISH} "Bản quyền hợp pháp" "©

${AUTHOR}"

VIAddVersionKey /LANG=${LANG_ENGLISH} "Tên công ty" "by

${AUTHOR}"

VIAddVersionKey /LANG=${LANG_ENGLISH} "Mô tả file" "${APP}

Portable"

VIAddVersionKey /LANG=${LANG_ENGLISH} "Phiên bản của file" "${VER}" VIAddVersionKey /LANG=${LANG_ENGLISH} "Tên file gốc"

"${PNAME}.exe"

;

******************************************************************

********

; * Hàm: Các khởi chạy khác trước khi chạy chương trình

Trang 4

;

******************************************************************

********

Function Init

FunctionEnd

;

******************************************************************

********

; * Hàm: Các thứ cần dọn sạch trước khi kết thúc chương trình

;

******************************************************************

********

Function CleanUp

FunctionEnd

;

******************************************************************

********

; * Function: Initialize working variables (Hàm chạy các biến làm việc)

;

******************************************************************

********

Function InitVariables

; -

; Kiểm tra xem file INI có tồn tại không, thiết lập biến trỏ đến nó

; -

IfFileExists "$EXEDIR\${INI}" "" CheckPortableINI

StrCpy "$INIFILE" "$EXEDIR\${INI}"

Goto ReadINIFile CheckPortableINI:

IfFileExists "$EXEDIR\${PNAME}\${INI}" ""

CheckPortableAppsINI

StrCpy "$INIFILE" "$EXEDIR\${PNAME}\${INI}"

Goto ReadINIFile CheckPortableAppsINI:

IfFileExists "$EXEDIR\PortableApps\${PNAME}\${INI}" ""

CheckAppsINI

StrCpy "$INIFILE"

"$EXEDIR\PortableApps\${PNAME}\${INI}"

Trang 5

Goto ReadINIFile CheckAppsINI:

IfFileExists "$EXEDIR\Apps\${PNAME}\${INI}" "" CheckDataINI

StrCpy "$INIFILE" "$EXEDIR\Apps\${PNAME}\${INI}" Goto ReadINIFile

CheckDataINI:

IfFileExists "$EXEDIR\Data\${PNAME}\${INI}" "" NoINIFile

StrCpy "$INIFILE" "$EXEDIR\Data\${PNAME}\${INI}" Goto ReadINIFile

Goto NoINIFile

; -

; Read content of the INI file (Đọc nội dung file INI)

; -

ReadINIFile:

ReadINIStr $0 "$INIFILE" "${PNAME}" "Thư mục chương trình" StrCmp $0 "" NoINIFile ; nếu trống rỗng lấy lại thiết lập đúng StrCpy "$PROGRAMDIR" "$EXEDIR\$0" ; lưu thư mục chương trình

ReadINIStr $0 "$INIFILE" "${PNAME}" "Thư mục dữ liệu"

StrCmp $0 "" NoINIFile ; nếu trống rỗng lấy lại thiết lập đúng StrCpy "$DATADIR" "$EXEDIR\$0" ; lưu thư mục dữ liệu ReadINIStr $0 "$INIFILE" "${PNAME}" "file EXE của chương trình"

StrCpy "$PROGRAMEXE" "$0" ; lưu tên file exe StrCmp $0 "" "" Splash ; nếu trống rỗng dùng tên mặc định StrCpy "$PROGRAMEXE" "${EXE}" ; cho giá trị mặc định Splash:

ReadINIStr $0 "$INIFILE" "${PNAME}" "SplashScreen" StrCpy "$SPLASHSCREEN" "$0" ; lưu trạng thái của màn hình Splashscreen

StrCmp "$SPLASHSCREEN" "" "" Các tham số chương trình ; kiểm tra xem biết splashscreen có trống rỗng không

StrCpy "$SPLASHSCREEN" "enabled" ; cho giá trị mặc định ProgramParameters:

ReadINIStr $0 "$INIFILE" "${PNAME}" "Tham số chương trình"

StrCpy "$PROGRAMPARMS" "$0" ; lưu các tham số bổ sung Goto InitVarEnd ; kết thúc việc đọc file INI

NoINIFile: ; thiết lập mặc định cho tất cả các biến

; -

Ngày đăng: 03/07/2014, 00:21

TỪ KHÓA LIÊN QUAN