Trang 1 trên 2

Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: CN 20/04/2008 10:38 am
gửi bởi anhtuyenbk
Tên bài viết: Sử dụng Inno Setup tạo File Setup cho phần mềm viết bằng VB6
Tác giả: Nguyễn Anh Tuyên
Cấp độ bài viết: Nâng cao
Tóm tắt: Sử dụng Inno Setup tạo File Setup cho phần mềm viết bằng VB6



Sử dụng Inno Setup tạo File Setup cho phần mềm viết bằng VB6


Inno Setup là một phần mềm tạo file setup nhỏ gọn nhất, nhanh nhất và dễ sử dụng. Nó ngày càng được sử dụng rộng rãi , được dùng để đóng gói ngay cả với các phần mềm mang tính thương mại.
Download tại đây

isetup-5.2.3.rar
Inno Setup 5.2.3
(1.33 MiB) Đã tải 10958 lần


I - Dùng Wizard để tạo Script cho File setup:
- Khởi động phần mềm Inno Setup--> Nhấn vào menu New --> Mở ra cửa sổ Inno Setup Script Wizard.

wizard 1.jpg


- Sau đó chọn Next qua bước kế tiếp.

wizard 2.jpg


- Tiếp tục nhấn Next cho bước kế tiếp

wizard 3.jpg


wizard 4.jpg


wizard 5.jpg


- Bỏ qua mục License và Languages (nếu có bạn theo hướng dẫn mà nạp vô).
- Ở mục Complier setting

wizard 6.jpg


- Qua cửa sổ kế tiếp nhấn Finish để hoàn tất.
- Khi đã xuất hiện cửa sổ Script--> nó hỏi bạn có muốn “compiler New Script “ không? Bạn hãy chọn No nhé
- Sau đó nhớ Save lại file script mới tạo bằng menu File--> Save as

wizard 7.jpg


II - Chỉnh sửa file Script vừa mới tạo xong
1. Thiết lập mức nén cao nhất để tạo ra file setup nhỏ nhất

- Trong cửa sổ script bạn tìm đến dòng
Compression=lzma
- Chỉnh Sửa lại như sau để đạt mức nén cao nhất
Compression=lzma/max

II 1.jpg


2. Thiết lập các thông số quan trọng nhất cho phần cài đặt
- Những thiết lập quan trọng nhất đều nằm ở Task “[Files]”

II 2.jpg


Những đoạn mã script trong task “[Files]” bao gồm 3 thành phần chính
- Source: Nơi lưu trữ các file mà mình cần cho vào files setup.
- DestDir: Nơi mà các files này sẽ được cài đặt lên máy tính.
- Flags : các thông số thiết lập quan trọng khác.

a. Source:
*******Files

Mã: Chọn hết

  1. Source: "D:\CHUONG TRINH\Lap trinh\Download Truyen tranh tai Comic Phuong Hong\Download Truyen Tranh Vuilen.exe"
  2. Source: "C:\WINDOWS\system32\UniTextBoxXP.ocx"
  3.  

*******Folder

Mã: Chọn hết

  1. Source: "D:\CHUONG TRINH\Lap trinh\YIM Smileys New\Data\*": dấu * có nghĩa là Copy tất cả các FoldersFiles trong thư mục Data này vào nơi mình sẽ cài đặt.


b. DestDir:
- Các thông số thường dùng để thiết lập DestDir
{app} : thư mục cài đặt chương trình
{win} : thư mục Windows
{sys} : thư mục System32
{pf} : Program Files
{tmp} : C:\WINDOWS\TEMP
{fonts} : thư mục Fonts

Ví dụ:
*******Files

Mã: Chọn hết

  1. Source: "D:\CHUONG TRINH\Lap trinh\Download Truyen tranh tai Comic Phuong Hong\Download Truyen Tranh Vuilen.exe"; DestDir: "{app}"
  2. Source: "C:\WINDOWS\system32\UniTextBoxXP.ocx"; DestDir: "{app}"
  3. Source: "C:\WINDOWS\system32\HTTPDownload.ocx"; DestDir: "{sys}"
  4.  

*******Folders

Mã: Chọn hết

  1. Source: "D:\CHUONG TRINH\Lap trinh\YIM Smileys New\Data\*"; DestDir: "{app}" (Chép Source vào thư mục cài đặt chương trình)
  2. Source: "D:\CHUONG TRINH\Lap trinh\YIM Smileys New\Data\*"; DestDir: "{app}\Data" (Tự động tạo một thư mục Data trong thư mục cài đặt chương trình và Copy tất cả các FoldersFiles trong source vào thư mục Data mới được tạo này).


c. Flags:
Các chế độ copy Files thường dùng
Promptifolder : sao chép bình thường
Không thiết lập Flags: bỏ qua khi một file có tên giống vậy đang tồn tại
onlyifdoesntexist : chỉ sao chép khi files đó không tồn tại
ignoreversion : chép đè lên khi 1 files có tên giống vậy đang tồn tại
dontcopy : không sao chép

Ví dụ

Mã: Chọn hết

  1. Source: "D:\CHUONG TRINH\Lap trinh\Download Truyen tranh tai Comic Phuong Hong\Download Truyen Tranh Vuilen.exe"; DestDir: "{app}"; Flags: ignoreversion


Đối với các files OCX, DLL nên dùng Flags sau để đăng ký các files này với hệ thống
regserver : đăng ký các activex control với hệ thống
regtypelib : đăng ký file .tlb

Ví dụ

Mã: Chọn hết

  1. Source: "C:\WINDOWS\system32\TreeViewFolderXP.ocx"; DestDir: "{app}"; Flags: ignoreversion regserver
  2. Source: "C:\WINDOWS\system32\vbProgressBarXP.ocx"; DestDir: "{app}"; Flags: ignoreversion regserver
  3.  


Copy thư mục
ignoreversion recursesubdirs createallsubdirs : có nghĩa là chép đè lên thư mục có tên giống vậy, chép tất cả các thư mục con và files ở trong thư mục đó. Đối với thư mục nên dùng Flags này

Ví dụ

Mã: Chọn hết

  1. Source: "D:\CHUONG TRINH\Lap trinh\YIM Smileys New\Data\*"; DestDir: "{app}\Data"; Flags: ignoreversion recursesubdirs createallsubdirs


III - Build File setup:


III 1.jpg

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: CN 20/04/2008 8:49 pm
gửi bởi anhtuyenbk
IV - Inno Setup Support - Hỗ trợ viết scipt cho Inno Setup dễ dàng hơn

Download chương trình tại đây
Inno Setup Support.rar
NewNewNewNewNewNew
(129.79 KiB) Đã tải 4216 lần


Bước 1:
Mở file project VB6 để chương trình dò tìm tất cả các file được sử dụng trong project.
hinh 1.jpg

hinh 2.jpg

Script dành cho Inno Setup được sinh ra ở cửa sổ bên dưới.

Bước 2:
Add thêm các tập tin khác
hinh 3.jpg


Bước 3:
Add thêm các thư mục khác
hinh 4.jpg


Bước 4:
Copy tất cả các files sử dụng trong project vào một thư mục xác định.
hinh 5.jpg

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Tư 23/04/2008 9:03 pm
gửi bởi vinhphuoc91
Úp sản phẩm lên đi anhtuyenbk ơi !

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Sáu 25/04/2008 8:59 am
gửi bởi QuangHoa
Tip nhỏ thui, thiết kế một cái Logo thật oách sau đó chép đè vào mấy cái logo có sẳn trong thu mục cài Inno Setup, thì khi Complete sẻ có một file set up có cái logo vừa thiết kế thay vì cái có sẳn.

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Sáu 25/04/2008 11:20 am
gửi bởi VBNewbie
:D Cái này có ebook hướng dẫn mà.
Đây nè pác (bên diễn đàn cũ có mà) . ;))

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Sáu 25/04/2008 11:37 am
gửi bởi anhtuyenbk
VBNewbie đã viết::D Cái này có ebook hướng dẫn mà.
Đây nè pác (bên diễn đàn cũ có mà) . ;))

He he, mở ra coi thử xem ai là tác giả :)) :))

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Sáu 25/04/2008 12:28 pm
gửi bởi VBNewbie
Ủa pác là tác giả hả làm em đâu có để ý. I am sorry !
Hình như có cái Inno Setup Tool thì phải.

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Sáu 25/04/2008 12:34 pm
gửi bởi QuangHoa
anhtuyenbk đã viết:
VBNewbie đã viết::D Cái này có ebook hướng dẫn mà.
Đây nè pác (bên diễn đàn cũ có mà) . ;))

He he, mở ra coi thử xem ai là tác giả :)) :))



GOOD JOB anhtuyenbk =D>

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Hai 28/04/2008 5:58 pm
gửi bởi VBNewbie
Cái này để Design form Setup nè các pác . :D

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Năm 01/05/2008 2:19 pm
gửi bởi vinhphuoc91
^:)^ anhtuyenbk up lên sản phẩm luôn đi nào, đỡ phải search :d

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Năm 01/05/2008 3:38 pm
gửi bởi anhtuyenbk
vinhphuoc91 đã viết:^:)^ anhtuyenbk up lên sản phẩm luôn đi nào, đỡ phải search :d

Tên vinhphuoc91 này nhiều chuyện quá làm mình tốn sức up cái Inno Setup lên ;)) ;))

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Năm 01/05/2008 8:36 pm
gửi bởi VBNewbie
:D Pác vinhphuoc91 chịu khó search trên Google đi, cái gì upload lên diễn đàn làm diễn đàn nặng thêm, mắc công chuyển sang diễn đàn mới lần nữa thì khốn . :D

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: CN 15/06/2008 8:56 am
gửi bởi sinhlh1977
Chào bạn anhtuyenbk.
Bạn kiểm tra lại tệp tin Inno Setup Support.rar đính kèm.
Tại sao khi mình tải về máy giải nén chạy file Inno Setup Support.exe thì máy lại báo lỗi.

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: CN 15/06/2008 4:17 pm
gửi bởi anhtuyenbk
Mình đã update lại cái Inno Setup Support tại vị trí cũ của bài viết và kèm theo đủ các thư viện cần thiét để chạy nó
Bạn tải lại xem.

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Tư 16/07/2008 4:37 pm
gửi bởi giaiphap
Bác nào biết cách tạo biểu tượng chương trình trong StartUp khi đóng gói bằng Inno Setup chỉ mình với cám ơn !

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Tư 16/07/2008 4:44 pm
gửi bởi clarkkent
giaiphap đã viết:Bác nào biết cách tạo biểu tượng chương trình trong StartUp khi đóng gói bằng Inno Setup chỉ mình với cám ơn !

Cái đó hình như không có sẳn, phải tự làm lúc form_load thôi :D

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Sáu 25/07/2008 8:04 am
gửi bởi VBNewbie
Thêm khóa Registry vào là xong !

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Sáu 14/11/2008 1:22 am
gửi bởi hoanganqn
Anh ơi Phần mềm này có đóng gói dữ liệu cho VB.net k anh nhỉ :-?

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Năm 15/01/2009 9:46 pm
gửi bởi qnnewcode
E làm thử mà nó báo lỗi này là gì vậy anh
Component 'MSDATGRD.OCX' or one of its depenciesnot correctly register a file is missing or invalid

Re: Sử dụng Inno Setup để đóng gói phần mềm viết bằng VB6

Đã gửi: T.Năm 15/01/2009 10:12 pm
gửi bởi CoffeeShop
ủa cái file MSDATGRD.OCX có sẵn khi cài vb6 mà. hoặc là bạn đóng gói thiếu cái file này, hoặc là file bị lỗi nên không đăng ký (hoặc chưa đăng ký) vào win. nếu chưa có thì dùng cái này đi