hướng dẫn sử dụng thinapp

122
ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1 Biên dịch: NgocHuyPAV – PortableAppsViet.com Trang 1 HƯỚNG DẪN SỬ DỤNG THINAPP ThinApp 5.1 Tài liệu này hỗ trợ phiên bản của từng sản phẩm được liệt kê và hỗ trợ tất cả các phiên bản tiếp theo cho đến khi tài liệu được thay thế bằng một phiên bản mới. Để kiểm tra để biết thêm các phiên bản gần đây của tài liệu này, xem https://www.vmware.com/support/pubs/thinapp_pubs.html EN-000400-02 Trang 2 VMware, Inc. 3401 Hillview Ave. Palo Alto, CA 94304 www.vmware.com VMware, Inc. Bạn có thể tìm thấy các tài liệu cập nhật mới nhất trên trang Web VMware tại: http://www.vmware.com/support/ Các trang Web VMware cũng cung cấp các thông tin cập nhật sản phẩm mới nhất. Nếu bạn có ý kiến về tài liệu này, gửi phản hồi của bạn: [email protected] Copyright © 2014 VMware, Inc. Tất cả quyền được bảo lưu. Bản quyền và thương hiệu, thông tin Trang 3 NỘI DUNG Về cuốn sách này .................................................................................................. 7 1. Installing ThinApp .......................................................................................... 9 - Các yêu cầu của ThinApp ...................................................................................................... 9 + Các hệ điều hành, ứng dụng, và hệ thống mà ThinApp hỗ trợ .................................... 9 + Những ứng dụng mà ThinApp không thể ảo hóa ...................................................... 10 - Khuyến nghị cho việc cài đặt ThinApp .............................................................................. 11 + Sử dụng một máy tính sạch ....................................................................................... 11 + Sử dụng hệ điều hành mới cần thiết cho người dùng ................................................ 11 - Cài đặt phần mềm ThinApp ................................................................................................ 11 - Kiểm tra các file cài đặt ThinApp ....................................................................................... 12 + Vô hiệu hoá Entry Point Shortcuts ............................................................................ 12 2. Capturing Applications ................................................................................. 15 - Các giai đoạn của quá trình Capture .................................................................................. 15

Upload: nguyen-ngoc-huy

Post on 09-Feb-2016

273 views

Category:

Documents


14 download

DESCRIPTION

Dành cho phiên bản ThinApp 5 trở lên!

TRANSCRIPT

Page 1: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 1

HƯỚNG DẪN SỬ DỤNG THINAPP ThinApp 5.1

Tài liệu này hỗ trợ phiên bản của từng sản phẩm được liệt kê và hỗ trợ tất cả các phiên bản

tiếp theo cho đến khi tài liệu được thay thế bằng một phiên bản mới. Để kiểm tra để biết thêm

các phiên bản gần đây của tài liệu này, xem

https://www.vmware.com/support/pubs/thinapp_pubs.html

EN-000400-02

Trang 2

VMware, Inc.

3401 Hillview Ave.

Palo Alto, CA 94304

www.vmware.com

VMware, Inc.

Bạn có thể tìm thấy các tài liệu cập nhật mới nhất trên trang Web VMware tại:

http://www.vmware.com/support/

Các trang Web VMware cũng cung cấp các thông tin cập nhật sản phẩm mới nhất.

Nếu bạn có ý kiến về tài liệu này, gửi phản hồi của bạn: [email protected]

Copyright © 2014 VMware, Inc. Tất cả quyền được bảo lưu. Bản quyền và thương hiệu,

thông tin

Trang 3

NỘI DUNG Về cuốn sách này .................................................................................................. 7

1. Installing ThinApp .......................................................................................... 9 - Các yêu cầu của ThinApp ...................................................................................................... 9

+ Các hệ điều hành, ứng dụng, và hệ thống mà ThinApp hỗ trợ .................................... 9

+ Những ứng dụng mà ThinApp không thể ảo hóa ...................................................... 10

- Khuyến nghị cho việc cài đặt ThinApp .............................................................................. 11

+ Sử dụng một máy tính sạch ....................................................................................... 11

+ Sử dụng hệ điều hành mới cần thiết cho người dùng ................................................ 11

- Cài đặt phần mềm ThinApp ................................................................................................ 11

- Kiểm tra các file cài đặt ThinApp ....................................................................................... 12

+ Vô hiệu hoá Entry Point Shortcuts ............................................................................ 12

2. Capturing Applications ................................................................................. 15

- Các giai đoạn của quá trình Capture .................................................................................. 15

Page 2: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

- Chuẩn bị Capture ứng dụng ................................................................................................. 15

- Capture ứng dụng với Setup Capture Wizard ..................................................................... 16

+ Tạo một ảnh hệ thống trước khi cài đặt ứng dụng ..................................................... 16

+ Quét lại hệ thống với các ứng dụng đã được cài đặt ................................................. 16

+ Định nghĩa các Entry Point như những shortcut vào môi trường ảo ......................... 17

+ Thiết lập các Entry Point ........................................................................................... 17

+ Quản lý với VMware Horizon Application Manager ................................................ 17

+ Thiết lập User Groups ............................................................................................... 18

+ Định nghĩa chế độ cách ly cho các file hệ thống vật lý ............................................. 18

+ Thiết lập chế độ cách ly cho file hệ thống ................................................................. 19

+ Lưu trữ các thay đổi ứng dụng trong Sandbox .......................................................... 20

+ Tùy chỉnh vị trí đặt Sandbox ...................................................................................... 20

+ Gửi thống kê ẩn danh đến VMware ........................................................................... 20

+ Tùy chỉnh cấu hình cho dự án ThinApp .................................................................... 20

+ Định nghĩa cấu hình gói cài đặt ................................................................................. 21

+ Tùy chỉnh cấu hình cho gói ....................................................................................... 21

+ Mở dự án và các file tham số ..................................................................................... 22

+ Xây dựng các ứng dụng ảo ........................................................................................ 22

- Cấu hình nâng cao cho gói cài đặt ...................................................................................... 23

+ Sửa đổi các thiết lập trong file Package.ini ............................................................... 23

+ Sửa đổi các thiết lập trong file ##Attributes.ini ......................................................... 24

- Capture trình duyệt ............................................................................................................... 24

+ Capture Internet Explorer 6 trên Windows XP ......................................................... 24

+ Capture trình duyệt khác ........................................................................................... 25

- Quản lý các gói cài đặt ThinApp ......................................................................................... 26

+ Lựa chọn chính sách ưu tiên ...................................................................................... 26

+ Mẫu Group Policy Administrative ............................................................................ 26

+ Hướng dẫn cấu hình các thiết lập Group Policy ........................................................ 27

3. Deploying Applications ................................................................................. 29 - Các tùy chọn triển khai ThinApp ....................................................................................... 29

+ Triển khai ThinApp với Deployment Tools ............................................................... 29

+ Triển khai ThinApp trong môi trường VMware View .............................................. 29

Trang 4

+ Triển khai ThinApp trên Network Shares ................................................................. 30

+ Triển khai ThinApp bằng cách sử dụng file thực thi ................................................. 30

- Thiết lập File Type Asociations với công cụ thinreg.exe .................................................... 30

+ Hiệu ứng Application Sync trên công cụ thinreg.exe ................................................ 30

+ Chạy công cụ thinreg.exe .......................................................................................... 31

Page 3: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ Tùy chỉnh các tham số thinreg.exe ............................................................................ 31

- Xây dựng một cơ sở dữ liệu MSI ......................................................................................... 33

+ Tùy chỉnh file MSI với các tham số Package.ini ...................................................... 33

+ Sửa đổi file Package.ini để tạo file MSI.................................................................... 33

- Kiểm soát khả năng truy cập ứng dụng với Active Directory ........................................... 35

+ Các tham số Package.ini cho việc kiểm soát khả năng truy cập ứng dụng Active

Directory ................................................................................................................................... 35

- Bắt đầu và dừng dịch vụ ảo ................................................................................................. 36

+ Tự động khởi động dịch vụ ảo ................................................................................... 36

- Sử dụng gói ThinApp được Stream từ mạng ..................................................................... 37

+ Làm thế nào một ứng dụng ThinApp Streaming hoạt động ...................................... 37

+ Yêu cầu và kiến nghị cho các gói Streaming ............................................................. 38

+ Stream các gói ThinApp từ mạng .............................................................................. 39

- Sử dụng Captured Applications với những thành phần hệ thống khác ............................ 39

+ Thực hiện hoạt động Paste ........................................................................................ 39

+ Truy cập máy in ......................................................................................................... 39

+ Truy cập Drivers ........................................................................................................ 39

+ Truy cập vào Local Disk, Disk Removable, và Network Shares ............................... 39

+ Truy cập vào Registry ................................................................................................ 40

+ Truy cập Networking và Sockets ............................................................................... 40

+ Sử dụng Shared Memory và Named Pipes ................................................................ 40

+ Sử dụng COM, DCOM, và Out-of-Process COM Components ................................ 40

+ Khởi động dịch vụ ..................................................................................................... 40

+ Sử dụng File Type Associations ................................................................................ 40

- Ví dụ cấu hình cho chế độ cách ly phụ thuộc vào bối cảnh triển khai ............................ 41

+ Xem các ảnh hưởng của các chế độ cách ly trên Registry của Windows.................. 41

- ThinDirect ............................................................................................................................. 42

+ Giải nén và đăng ký ThinDirect ................................................................................ 42

+ Sử dụng ThinDirect ................................................................................................... 42

4. Updating and Linking Applications ............................................................ 45 - Cập nhật ứng dụng cho người sử dụng .............................................................................. 45

+ Application Sync Updates .......................................................................................... 45

+ Application Link Updates .......................................................................................... 48

- Cập nhật ứng dụng cho người quản trị .............................................................................. 52

+ Ép buộc Application Sync Updates trên máy khách hàng ......................................... 52

+ Liên kết ứng dụng bằng Group Policy Object ........................................................... 53

+ Cập nhập ứng dụng theo thay đổi thời gian thực ....................................................... 54

- Tự động cập nhật ứng dụng ................................................................................................. 55

+ Cập nhật linh động khi không có quyền quản trị ....................................................... 55

Page 4: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

- Nâng cấp ứng dụng đang chạy trên một mạng chia sẻ...................................................... 56

+ Khóa file .................................................................................................................... 56

+ Nâng cấp một ứng dụng đang chạy ........................................................................... 56

- Đồng bộ ứng dụng bằng Group Policy Object..................................................................... 57

- Cân nhắc Sandbox cho các ứng dụng nâng cấp ................................................................. 58

- Cập nhật phiên bản ThinApp của gói ................................................................................. 58

+ Ví dụ về relink ........................................................................................................... 58

5. Locating the ThinApp Sandbox ................................................................... 61 - Thứ tự tìm kiếm Sandbox .................................................................................................... 61

- Kiểm soát vị trí đặt Sandbox ............................................................................................... 62

Trang 5

+ Lưu trữ Sandbox trên mạng ....................................................................................... 62

+ Lưu trữ Sandbox trên một thiết bị di động ................................................................ 63

- Cấu trúc Sandbox ................................................................................................................. 63

+ Những thay đổi được gửi đến Sandbox ..................................................................... 64

6. Create ThinApp Snapshots and Projects from the Command Line ........ 65 - Phương pháp sử dụng công cụ snapshot.exe ...................................................................... 65

+ Tạo Snapshot của trạng thái máy ............................................................................... 65

+ Tạo file mẫu Package.ini từ hai file Snapshot ........................................................... 66

+ Tạo dự án ThinApp từ file mẫu Package.ini ............................................................. 66

+ Hiển thị các nội dung của một file Snapshot ............................................................. 66

- Ví dụ về lệnh của snapshot.exe ............................................................................................ 67

- Tạo một dự án không sử dụng Setup Capture Wizard ....................................................... 67

- Tuỳ chỉnh file snapshot.ini ................................................................................................... 68

- Sử dụng công cụ snapshot.exe để giải nén một dự án ThinApp ....................................... 68

7. ThinApp File System Formats and Macros ................................................ 71 - Định dạng Virtual File System ............................................................................................. 71

- Macros thư mục ThinApp .................................................................................................... 71

+ Danh sách các macro ThinApp ................................................................................. 72

+ Truy xuất %SystemRoot% trong một môi trường Terminal Services ....................... 73

8. Creating ThinApp Scripts ............................................................................ 75 - Callback Functions ............................................................................................................... 75

- Thực hiện Scripts trong một môi trường ThinApp ........................................................... 76

+ Ví dụ về file .bat ........................................................................................................ 76

+ Ví dụ về Timeout ....................................................................................................... 76

+ Sửa đổi Virtual Registry ............................................................................................ 77

+ Ví dụ về file .reg ........................................................................................................ 77

Page 5: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ Ví dụ về ngừng một dịch vụ ...................................................................................... 77

+ Ví dụ về sao chép một file ......................................................................................... 77

+ Thêm một giá trị vào hệ thống Registry .................................................................... 78

- Các hàm API ......................................................................................................................... 79

+ AddForcedVirtualLoadPath ....................................................................................... 79

+ ExitProcess ................................................................................................................ 79

+ ExpandPath ................................................................................................................ 80

+ ExecuteExternalProcess ............................................................................................. 80

+ ExecuteVirtualProcess ............................................................................................... 81

+ GetBuildOption ......................................................................................................... 81

+ GetFileVersionValue ................................................................................................. 81

+ GetCommandLine ..................................................................................................... 82

+ GetCurrentProcessName ........................................................................................... 82

+ GetOSVersion ............................................................................................................ 83

+ GetEnvironmentVariable ........................................................................................... 84

+ RemoveSandboxOnExit ............................................................................................ 84

+ SetEnvironmentVariable ........................................................................................... 84

+ SetfileSystemIsolation ............................................................................................... 85

+ SetRegistryIsolation ................................................................................................... 85

+ WaitForProcess .......................................................................................................... 85

9. Monitoring and Troubleshooting ThinApp ................................................ 87 - Cung cấp thông tin đến bộ phân hỗ trợ kỹ thuật .............................................................. 87

- Log Monitor Operations ........................................................................................................ 87

+ Khắc phục sự cố hoạt động với Log Monitor ............................................................ 88

Trang 6

+ Các tác vụ nâng cao trong Log Monitor Operations ................................................. 88

+ Định dạng Log ........................................................................................................... 90

- Khắc phục sự cố các ứng dụng cụ thể ................................................................................. 94

+ Khắc phục sự cố thiết lâp Registry cho Microsoft Outlook ...................................... 94

+ Xem đính kèm trong Microsoft Outlook ................................................................... 94

+ Bắt đầu tiến trình Explorer.exe trong môi trường ảo ................................................. 95

+ Xử lý sự cố xung đột phiên bản Java Runtime Environment .................................... 95

Thuật ngữ ........................................................................................................... 97

Tìm kiến theo chỉ mục ..................................................................................... 101

Page 6: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 7

0. Về cuốn sách này Hướng dẫn sử dụng ThinApp cung cấp thông tin về cách cài đặt ThinApp™, capture

ứng dụng, triển khai các ứng dụng, và nâng cấp các ứng dụng. Bạn có thể tham khảo

hướng dẫn này để tùy chỉnh các tham số và thực hiện viết mã.

Đối tượng Cuốn sách này là dành cho bất cứ ai cài đặt và triển khai các ứng dụng tạo bởi

ThinApp. Những người sử dụng điển hình là các quản trị hệ thống có trách nhiệm

phân phối và bảo trì các gói phần mềm của công ty.

Tài liệu VMware ThinApp Các tài liệu hoàn chỉnh thiết cho VMware ThinApp gồm các tài liệu sau đây.

+ Hướng dẫn sử dụng ThinApp. Thông tin về khái niệm và thủ tục để giúp bạn

hoàn thành một nhiệm vụ.

+ ThinApp 4.6 Release Notes. Những nâng cấp mới giá trị và chi tiết về các

vấn đề đã biết và cách giải quyết.

+ Chuyển ứng dụng với ThinApp trong một nâng cấp từ Microsoft Windows

XP sang Windows 7.

Thông tin về thủ tục cho sử dụng ThinApp để chuyển các ứng dụng từ

Windows XP sang Windows 7.

Tài liệu phản hồi VMware hoan nghênh đề xuất của bạn để cải thiện tài liệu của chúng tôi. Nếu bạn có ý

kiến, gửi của bạn phản hồi tới [email protected].

Hỗ trợ kỹ thuật và Tài nguyên Giáo dục Các phần sau đây mô tả các nguồn lực hỗ trợ kỹ thuật có sẵn cho bạn. Để truy cập vào

phiên bản hiện tại của cuốn sách này và các cuốn sách khác, hãy vào địa chỉ

http://www.vmware.com/support/pubs

Hỗ trợ trực tuyến và điện thoại

Để sử dụng hỗ trợ trực tuyến, gửi yêu cầu hỗ trợ kỹ thuật, xem các sản phẩm

của bạn và thông tin bản quyền, và đăng ký sản phẩm của bạn, hãy vào địa chỉ

http://www.vmware.com/support

Khách hàng có bản quyền nên sử dụng điện thoại hỗ trợ cho các phản hồi

nhanh nhất trên ưu tiên 1 vấn đề. Hãy vào địa chỉ

http://www.vmware.com/support/phone_support

Dịch vụ hỗ trợ

Để tìm hiểu làm thế nào các dịch vụ hỗ trợ VMware có thể giúp đáp ứng nhu

cầu kinh doanh của bạn, hãy vào địa chỉ

http://www.vmware.com/support/services

Page 7: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 8

Dịch vụ VMware chuyên nghiệp

Các khóa học VMware Education Services cung cấp cơ hội cọ xát tại phòng thí

nghiệm, các chương trình nghiên cứu, và các tài liệu học tập được thiết kế để

được sử dụng như là công cụ tham khảo về quá trình làm việc. Khóa học có

sẵn tại chỗ, trong lớp học, và trực tuyến. Đối với chương trình thí điểm tại chỗ

và thi hành bài tập tốt nhất, VMware Consulting Services cung cấp

dịch vụ giúp bạn đánh giá, kế hoạch, xây dựng và quản lý môi trường ảo của

bạn. Để truy cập thông tin về các lớp học giáo dục, chương trình chứng nhận,

và các dịch vụ tư vấn, hãy vào địa chỉ http://www.vmware.com/services

Thông báo pháp lý ThinApp sử dụng thư viện gốc về diễn đạt thông thường được viết bởi Henry Spencer.

Copyright (c) 1986, 1993, 1995 bởi Trường Đại học Toronto.

Viết bởi Henry Spencer. Không bắt nguồn từ phần mềm được cấp phép.

Giấy phép được cấp cho bất cứ ai sử dụng phần mềm này cho các mục đích nào trên

bất kỳ hệ thống máy tính, và để phân phối lại trong bất kỳ cách nào, tùy thuộc vào các

hạn chế sau đây:

1. Tác giả không chịu trách nhiệm về hậu quả của việc sử dụng phần mềm này, không

có vấn đề như thế nào khủng khiếp, thậm chí nếu phát sinh từ các khuyết tật trong đó.

2. Nguồn gốc của phần mềm này không được trình bày sai, hoặc bằng cách tuyên bố

rõ ràng hoặc thiếu sót.

3. Phiên bản bị thay đổi phải được đánh dấu rõ ràng như vậy, và không được trình bày

sai (bằng tuyên bố rõ ràng hay thiếu sót) như là phần mềm gốc.

4. Thông báo này phải không được gỡ bỏ hoặc thay đổi.

Trang 9

1. Installing ThinApp Bạn có thể sử dụng ThinApp để cách ly các ứng dụng, đơn giản hóa việc sửa đổi các ứng

dụng, triển khai ứng dụng trên các hệ điều hành khác nhau, và tránh xung đột ứng dụng.

Chương này bao gồm các chủ đề sau:

+ "Các yêu cầu của ThinApp" trên trang 9

+ "Khuyến nghị cho việc cài đặt ThinApp" trên trang 11

+ "Cài đặt phần mềm ThinApp" trên trang 11

+ "Kiểm tra các file cài đặt ThinApp" trên trang 12

Các yêu cầu của ThinApp Xem lại các yêu cầu cho hệ điều hành và ứng dụng được ảo hóa trước khi cài đặt

ThinApp.

Các hệ điều hành, ứng dụng, và hệ thống mà ThinApp hỗ trợ

Page 8: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

ThinApp hỗ trợ các hệ thống khác nhau điều hành, các ứng dụng và hệ thống.

+ Nền tảng 32-bit bao gồm Windows 8, Windows 8.1, Windows 2012,

Windows 2000, Windows XP, Windows XPE, Windows 2003 Server,

Windows Vista, Windows Server 2008, Windows 7

+ Nền tảng 64-bit bao gồm Windows 8, Windows 8.1, Windows 2012,

Windows XP 64 bit, Windows 2003 64 bit, Windows Vista 64 bit, Windows

Server 2008 64 bit, Windows Server 2008 R2 64 bit, Windows 7 64 bit

+ Các ứng dụng 16-bit chạy trên hệ điều hành 32-bit Windows

+ Các ứng dụng 32-bit chạy trên hệ điều hành 32-bit và 64-bit Windows

+ Terminal Server và Citrix XenApp

ThinApp hỗ trợ các ứng dụng được ảo hóa của Nhật Bản và chạy trên hệ điều

hành Nhật Bản.

Một số hệ điều hành và các ứng dụng không được hỗ trợ bởi ThinApp.

+ 16-bit hay không x86 nền tảng như Windows CE

+ Các ứng dụng 64-bit chạy trên hệ điều hành 32-bit hoặc Windows 64-bit

+ Các ứng dụng 16-bit chạy trên hệ điều hành Windows 64-bit

Trang 10

Những ứng dụng mà ThinApp không thể ảo hóa

ThinApp không thể chuyển một số ứng dụng vào các ứng dụng ảo và có thể

ngăn chặn các chức năng ứng dụng nhất định.

Bạn phải sử dụng các công nghệ cài đặt truyền thống để triển khai một số loại

ứng dụng.

+ Các ứng dụng không được sự hỗ trợ thông thường của hệ điều hành triển

khai.

Nếu một hệ điều hành không hỗ trợ cài đặt gốc của một ứng dụng, hệ điều

hành đó là không phải là một nền tảng triển khai được ThinApp hỗ trợ cho ứng

dụng đó.

+ Các ứng dụng đòi hỏi phải cài đặt kernel-mode device drivers.

ODBC drivers làm việc bởi vì chúng là user mode drivers.

+ Antivirus và tường lửa cá nhân.

+ Drivers máy quét và drivers máy in

+ Một số VPN clients.

Drivers của thiết bị

Ứng dụng yêu cầu drivers thiết bị không hoạt động khi được đóng gói với

ThinApp. Bạn phải cài đặt những driver thiết bị trong định dạng ban đầu của

họ trên máy tính chủ. Bởi vì ThinApp không hỗ trợ ảo hóa drivers thiết bị, bạn

không thể sử dụng ThinApp để ảo hóa antivirus, các VPN clients, tường lửa cá

nhân, và các công cụ liên quan đến truy xuất ổ đĩa.

Page 9: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Nếu bạn capture Adobe Acrobat, bạn có thể chỉnh sửa và lưu các file PDF,

nhưng bạn không thể sử dụng drivers máy in PDF cho phép bạn lưu tài liệu

sang định dạng PDF.

Tích hợp Shell

Một số ứng dụng cung cấp tích hợp Shell đã bị giảm chức năng khi chúng tồn

tại trong một gói ThinApp. Ví dụ, một ứng dụng ảo tích hợp với Windows

Explorer không thể thêm các mục cụ thể vào menu ngữ cảnh của Windows

Explorer.

Dịch vụ DCOM có thể truy cập trên mạng

ThinApp cách ly dịch vụ COM và DCOM. Các ứng dụng cài đặt các dịch vụ

DCOM có thể truy cập trên máy tính địa phương chỉ bởi các ứng dụng ảo hóa

khác đang chạy trong cùng một sandbox của ThinApp. ThinApp hỗ trợ ảo hóa

DCOM và COM trên cùng một máy tính nhưng không hỗ trợ mạng DCOM.

Thư viện liên kết động

Một số ứng dụng sử dụng các hàm API SetWindowsHookEx để thêm một file

DLL với tất cả các quy trình trên máy chủ máy tính. Các DLL chặn thông điệp

của Windows trong việc tương tác với đầu vào bàn phím và chuột từ những

ứng dụng khác. ThinApp bỏ qua các yêu cầu từ các ứng dụng sử dụng hàm

SetWindowsHookEx để cố gắng cài đặt các file hook DLL. ThinApp có thể

làm giảm các chức năng ứng dụng.

Hỗ trợ cho Messaging Application Programming Interface

ThinApp 5.1 hỗ trợ các tính năng Messaging Application Programming

Interface (MAPI) trên các nền tảng Microsoft Windows sau:

+ Windows 7

+ Windows 8 32-bit

+ Windows 8 64-bit

+ Windows 8.1 32-bit

+ Windows 8.1 64-bit

NOTE: Messaging Application Programming Interface (MAPI) không được

hỗ trợ trên hệ điều hành Windows XP x86.

Trang 11

Khuyến nghị cho việc cài đặt ThinApp Khi bạn cài đặt ThinApp, hãy xem xét các khuyến nghị và thực hành tốt nhất cho phần

mềm.

Sử dụng một máy tính sạch

VMware khuyến cáo sử dụng một máy tính sạch để cài đặt ThinApp vì môi

trường ảnh hưởng đến ứng dụng quá trình capture. Một máy tính sạch sẽ là một

máy vật lý hay ảo chỉ với một hệ điều hành Windows được cài đặt. Trong một

Page 10: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

môi trường doanh nghiệp, nơi bạn có một hình ảnh desktop cơ sở, hình ảnh

desktop cơ sở là máy tính sạch của bạn. Máy tính để bàn có thể đã có một số

thành phần và các thư viện được cài đặt.

Trình cài đặt ứng dụng bỏ qua các file đã tồn tại trên máy tính. Nếu trình cài

đặt bỏ qua các file, gói ThinApp không bao gồm chúng trong suốt quá trình

capture ứng dụng. Ứng dụng có thể không chạy trên các máy tính khác, nơi các

file không tồn tại. Một máy tính sạch cho phép việc quét hệ thống file và

registry một cách nhanh chóng.

Nếu bạn cài đặt ThinApp và capture một ứng dụng trên một máy tính có

Microsoft.NET 2.0 đã được cài đặt, NET 2.0 không được bao gồm trong gói

ThinApp. Ứng dụng đã capture chỉ chạy trên máy tính có NET 2.0 đã được cài

đặt.

Sử dụng máy ảo để tạo máy tính sạch

Cách dễ nhất để thiết lập một máy tính sạch là tạo một máy ảo. Bạn có thể cài

đặt Windows trên máy ảo và tạo một bản chụp của toàn bộ máy ảo trong trạng

thái sạch của nó. Sau khi bạn capture một ứng dụng, bạn có thể khôi phục lại

các ảnh chụp (snapshot) và đưa nó trở lại trạng thái máy ảo sạch sẵn sàng cho

lần capture ứng dụng tiếp theo.

Bạn có thể sử dụng VMware Workstation hoặc các sản phẩm VMware khác để

tạo ra các máy ảo. Để biết thông tin về các sản phẩm VMware, xem trang Web

VMware.

Sử dụng hệ điều hành mới cần thiết cho người dùng

Cài đặt ThinApp trên một máy tính sạch với các phiên bản mới nhất của hệ

điều hành bạn có kế hoạch hỗ trợ. Trong hầu hết các trường hợp, nền tảng tốt

nhất là Windows 2000 hoặc Windows XP. Hầu hết các gói đã capture trên

Windows XP làm việc trên Windows 2000. Trong một số trường hợp,

Windows XP bao gồm một số DLL mà Windows 2000 không có. ThinApp

không bao gồm các DLL từ gói ứng dụng đã capture nếu ứng dụng thường cài

đặt các file DLL.

Sau khi bạn tạo ra một gói phần mềm ứng dụng ThinApp, bạn có thể ghi đè lên

file trong gói với các phiên bản cập nhật và xây dựng lại ứng dụng mà không

cần quá trình capture.

Cài đặt phần mềm ThinApp Sử dụng các file thực thi để cài đặt ThinApp.

Cài đặt phần mềm ThinApp

1. Tải ThinApp để vào một máy tính Windows sạch, vật lý hay ảo.

2. Double-click vào file thực thi ThinApp.

3. Trong hộp thoại Patent Lists, nhấn Next.

Page 11: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

4. Chấp nhận giấy phép, nạp số serial, và gõ một tên hiển thị giấy phép xuất hiện khi

bạn mở ứng dụng mà ThinApp capture.

5. Nhấp vào Install.

ThinApp được cài đặt.

Trang 12

Kiểm tra các file cài đặt ThinApp Việc cài đặt ThinApp tạo ra thư mục VMware ThinApp trong C:\Program

Files\VMware. Bạn có thể kiểm tra các file trong thư mục này để thực hiện các hoạt

động như bắt đầu các công cụ Log Monitor để xem hoạt động gần đây.

Các file quan trọng sau đây trong thư mục VMware ThinApp ảnh hưởng đến hoạt

động ThinApp:

+ AppSync.exe - Giữ các ứng dụng đã capture được cập nhật với phiên bản mới nhất

hiện có.

+ logging.dll - Tạo file .trace.

+ dll_dump.exe - Danh sách tất cả các ứng dụng đã capture hiện đang chạy trên hệ

thống.

+ log_monitor.exe - Hiển thị lịch sử thực hiện và các lỗi của ứng dụng.

+ relink.exe - Cập nhật gói hiện có lên phiên bản mới nhất của ThinApp được cài đặt

trên hệ thống hiện có.

+ sbmerge.exe - Kết nối các thay đổi theo thời gian thực được lưu vào sandbox của

ứng dụng với dự án ThinApp và cập nhật ứng dụng đã capture.

+ Setup Capture.exe - Capture và cấu hình các ứng dụng thông qua một wizard.

+ snapshot.exe - So sánh các môi trường trước và sau khi cài đặt trong quá trình

capture. ThinApp khởi động công cụ này trong quá trình setup capture.

+ snapshot64.exe - So sánh các môi trường trước và sau khi cài đặt trong quá trình

capture trên một hệ điều hành 64-bit.

+ snapshot.ini - Lưu trữ các tham số cho registry ảo và file hệ thống ảo mà ThinApp

bỏ qua trong quá trình capture một ứng dụng.

File snapshot.exe tham chiếu đến file snapshot.ini. Người dùng nâng cao có thể sửa

đổi file snapshot.ini để đảm bảo rằng ThinApp không capture những mục được chỉ

định khi tạo một gói ứng dụng.

+ template.msi - Xây dựng các file MSI.

Bạn có thể tùy chỉnh các mẫu này để đảm bảo rằng các file .msi tạo ra bởi ThinApp

tuân theo thủ tục triển khai và chuẩn mực của công ty. Ví dụ, bạn có thể thêm các thiết

lập registry mà bạn muốn ThinApp thêm vào máy tính của khách hàng như là một

phần của quá trình cài đặt.

+ thinreg.exe - Đăng ký các ứng dụng đã capture trên một máy tính.

Page 12: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Việc đăng ký này bao gồm việc thiết lập các shortcut, menu Start và thiết lập file type

associations mà cho phép bạn mở các ứng dụng.

+ tlink.exe - Liên kết các module quan trọng trong quá trình xây dựng của ứng dụng

đã capture.

+ vftool.exe - Biên dịch hệ thống file ảo trong quá trình xây dựng của các ứng dụng đã

capture.

Vô hiệu hoá Entry Point Shortcuts

Bạn có thể tạo ra một chính sách nhóm để cấu hình lại và vô hiệu hóa các entry

points shortcuts được liên kết với một ứng dụng. Ví dụ sau đây cho thấy làm

thế nào để cấu hình lại ứng dụng 7-zip và vô hiệu hóa 7-zip help shortcut được

liên kết với nó. Để biết thêm về chính sách nhóm, hãy vào mục "Group Policy

Administrative Template" trên trang 26.

1. Chạy gpmc.msc để mở Management Console Group Policy.

2. Mở Group Policy Management > Default Domain Controller Policy.

3. Theo tên miền của bạn, nhấn chuột phải vào Group Policy Objects và chọn

New.

4. Gõ tên cho các đối tượng GPO (7zip).

5. Kích chuột phải vào 7zip và chọn Edit.

6. Nếu bạn đã nhắm mục tiêu chính sách GPO của bạn cho các máy, mở rộng

mục Computer Configuration.

7. Nếu bạn đã nhắm mục tiêu chính sách GPO của bạn vào người sử dụng hoặc

cả hai, mở rộng mục User Configuration.

Trang 13

8. Điều hướng đến Policies > Administrative Templates > VMware

ThinApp Management.

9. Nhấp vào nút 7zip để hiển thị tính năng các thiết lập chính sách cụ thể về

bên phải cửa sổ.

10. Mở thiết lập chính sách và làm theo các hướng dẫn trong hộp trợ giúp để

cấu hình các thiết lập chính sách.

NOTE: Nếu bạn tạo ra các file thực thi thay vì file MSI bạn phải chạy công cụ

thinreg.exe để mở các file đó như một tài liệu .doc hay một trang .html.

Cấu hình các GPO của ứng dụng 7-zip để hủy bỏ một Entry Point

Bạn có thể cấu hình AppLink để vô hiệu hóa các file trợ giúp của 7zip.

1. Trong thư mục Policies của ứng dụng, điều hướng đến 7zip và click Disable

entry-point shortcuts for 7zip.

2. Trong hộp thoại Disable entry-points shortcuts for 7zip, chọn Enabled.

3. Nhấp vào Show, bên cạnh Show entry-points để vô hiệu hóa hộp văn bản.

Page 13: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

4. Sao chép giá trị 7zip help.exe và dán nó vào hộp văn bản Shortcut entry-

points disable.

5. Nhấn Ok và nhấn Apply.

6. Kích chuột phải vào Domain Controller và chọn Link an Existing GPO từ

menu pop-up.

7. Chọn 7zip và nhấn OK.

Cấu hình máy khách

Trước khi bạn cấu hình máy khách, bạn phải chạy lệnh 'gpupdate

/force' trong server Active Directory.

1. Đăng nhập vào máy khách như là Administrator.

2. Click vào Start > Run > cmd.

3. Điều hướng đến thư mục ThinApp và chạy gpupdate /force.

4. Điều hướng đến HKEY_CURRENT_USER > Software > ThinApp >

Management > 7zip> Diableshortcuts.

5. Xác minh rằng 7zip có một mục trong Disableshortcuts.

6. Khởi động ứng dụng 7zip.

Khi bạn khởi động ứng dụng 7zip, ứng dụng 7zip sẽ có hai mục: một cho 7zip

và một cho 7zip Help. Tuy nhiên, 7-Zip help sẽ không được hiển thị vào lần

sau khi bạn khởi động ứng dụng.

Trang 14

Trang 15

2. Caturing Applications Bạn có thể capture các ứng dụng để đóng gói một ứng dụng vào một môi trường ảo.

Setup Capture Wizard là phương pháp chính để capture các ứng dụng và thiết lập các tham số

ban đầu cho ứng dụng. Những người dùng nâng cao có thể capture các ứng dụng từ dòng lệnh

bằng công cụ snapshot.exe thay vì Setup Capture Wizard.

Chương này bao gồm các chủ đề sau:

+ "Các giai đoạn của quá trình Capture" trên trang 15

+ "Chuẩn bị Capture ứng dụng" trên trang 15

+ "Capture ứng dụng với Setup Capture Wizard" trên trang 16

+ "Cấu hình nâng cao cho gói cài đặt" trên trang 23

+ "Capture trình duyệt" trên trang 24

+ "Quản lý các gói cài đặt ThinApp" trên trang 26

Các giai đoạn của quá trình Capture Capture một ứng dụng liên quan đến việc quét hệ thống, cấu hình ứng dụng, cấu hình

gói, và tạo ra ứng dụng ảo để phân phối.

Page 14: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Setup Capture wizard đặt tham số ban đầu cho ứng dụng. Bạn có thể tùy chỉnh đầy đủ

các thiết lập về những tham số bên ngoài của wizard.

Chuẩn bị Capture ứng dụng Chuẩn bị cho quá trình capture liên quan đến sự hiểu biết về nhu cầu và sự phụ thuộc

của ứng dụng.

Đối với các ứng dụng đích mà mục tiêu có sự phụ thuộc vào các ứng dụng khác, thư

viện, hoặc frameworks, bạn có thể capture sự phụ thuộc hay sử dụng công cụ

Application Link để liên kết các ứng dụng ảo riêng biệt tại thời điểm chạy. Thông tin

về công cụ Application Link, xem "Application Link Updates" trên trang 48.

Đối với các ứng dụng đích đòi hỏi định dạng địa phương, chẳng hạn như một định

dạng ngày tháng cụ thể, bạn có thể capture chúng trong một môi trường với các thiết

lập miền địa phương được yêu cầu. ThinApp chạy các ứng dụng ảo theo các cài đặt

khu vực và ngôn ngữ trên các hệ thống capture chứ không phải là các cài đặt trên hệ

thống chạy các ứng dụng. Mặc dù bạn có thể sửa đổi các thiết lập miền địa phương

mặc định bằng các thêm vào các tham số LocaleIdentifier trong file

Package.ini và xây dựng lại ứng dụng, bạn có thể tránh được các biến chứng trong môi

trường capture. Thông tin về tham số LocaleIdentifier, xem "LocaleIdentifier"

trên trang 83.

Trang 16

Capture ứng dụng với Setup Capture Wizard Quá trình capture đóng gói một ứng dụng và thiết lập các tham số ban đầu cho ứng

dụng. Nếu bạn sử dụng một máy ảo, hãy xem xét việc tạo một snapshot trước khi bạn

chạy wizard. Một ảnh chụp của trạng thái máy sạch ban đầu cho phép bạn quay trở về

snapshot khi bạn muốn capture một ứng dụng khác.

Thông tin này sử dụng Mozilla Firefox là một ví dụ điển hình cho ứng dụng capture.

Tạo một ảnh hệ thống trước khi cài đặt ứng dụng

Setup Capture wizard bắt đầu quá trình capture bằng cách quét hệ thống để

đánh giá môi trường và tạo ra một hình ảnh hệ thống làm cơ sở.

Tạo một ảnh hệ thống trước khi cài đặt ứng dụng

1. Tải về các ứng dụng để capture.

Ví dụ, tải Firefox Setup 2.0.0.3.exe và sao chép nó vào máy tính sạch chuẩn bị

để capture.

2. Đóng tất cả các ứng dụng, chẳng hạn như các trình quét virus, vì chúng có

thể thay đổi các file hệ thống trong quá trình capture.

3. Từ Desktop, chọn Start > Programs > Vmware > ThinApp Setup

Capture.

Page 15: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

4. (Tùy chọn) Trong hộp thoại Ready to Prescan, bạn nhấn Advanced Scan

Location để chọn một nhánh các ổ đĩa và registry khi quét.

Bạn có thể muốn quét một địa điểm cụ thể khác hơn là ổ đĩa C:\ nếu bạn cài

đặt các ứng dụng vào ổ đĩa khác nhau. Trong các trường hợp hiếm hoi, bạn có

thể muốn tránh quét một số nhánh registry nếu bạn biết rằng trình cài đặt ứng

dụng không sửa đổi registry.

5. Nhấn vào Prescan để thiết lập một hệ thống hình ảnh ban đầu của các file

trong ổ đĩa và registry.

Quá trình quét mất khoảng 10 giây cho Windows XP.

Quét lại hệ thống với các ứng dụng đã được cài đặt

Bạn có thể cài đặt ứng dụng cần ảo hóa trước khi trình Setup Capture wizard

quét lại hệ thống và đánh giá thay đổi từ hệ thống hình ảnh ban đầu.

Cài đặt ứng dụng và quét lại hệ thống

1. Khi trang Install Application xuất hiện, thu nhỏ cửa sổ Setup Capture

wizard và cài đặt ứng dụng cần capture.

Ví dụ, double-click vào Firefox Setup 2.0.0.3.exe để cài đặt Firefox. Nếu ứng

dụng cần khởi động lại sau cài đặt, khởi động lại hệ thống. Tiến trình này sẽ

khởi động lại trình Setup Capture wizard sau khi đăng nhập Windows.

2. (Tùy chọn) Nếu bạn đang capture Internet Explorer, trong trang Install

Application, nhấp vào Internet Explorer, để hoàn thành các bước bổ sung

trước khi cài đặt trình duyệt.

Nếu bạn đang capture Internet Explorer 6 trên Windows XP, xem "Capture

trình duyệt" trên trang 24.

Để biết thêm thông tin về các entry point, xem "Định nghĩa các Entry Point

như những shortcut vào môi trường ảo" trên trang 17.

3. (Tùy chọn) Thực hiện bất kỳ thay đổi cấu hình cần thiết để thực hiện theo

chính sách công ty của bạn, chẳng hạn như sử dụng các thiết lập bảo mật cụ

thể hoặc một trang cụ thể.

Nếu bạn không làm thay đổi cấu hình tại thời điểm này, mỗi người dùng phải

thực hiện thay đổi sau này.

4. (Tùy chọn) Khởi động ứng dụng và xử lý với bất kỳ tin nhắn để biết thông

tin trước khi tiếp tục với Setup wizard Capture.

Nếu bạn không xử lý với bất kỳ tin nhắn tại thời điểm này, mỗi người dùng sử

dụng ứng dụng phải làm như vậy trong suốt các lần khởi động ban đầu.

5. Đóng ứng dụng.

Trang 17

6. Phóng to cửa sổ Setup Capture wizard, nhấn Postscan để tiến hành quét

máy tính lần cuối, và nhấn OK để xác nhận hoạt động postscan.

Page 16: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

ThinApp phát hiện tất cả sự khác biệt so với hình ảnh cơ sở đầu tiên và lưu vào

một hệ thống file ảo và registry ảo.

Định nghĩa các Entry Point như những shortcut vào môi trường ảo

Entry Points là các file thực thi hoạt động như các phím tắt để truy cập vào môi

trường ảo và bắt đầu ứng dụng ảo. Các entry point, bạn có thể lựa chọn phụ

thuộc vào các file thực thi được tạo ra mà bạn đã capture ứng dụng trong quá

trình cài đặt.

Ví dụ, nếu bạn cài đặt Microsoft Office, bạn có thể chọn các entry point cho

Microsoft Word, Microsoft Excel, và các ứng dụng khác được cài đặt trong khi

cài đặt Microsoft Office. Nếu bạn cài đặt Firefox, bạn có thể chọn Mozilla

Firefox.exe và Mozilla Firefox (SafeMode).exe nếu người dùng cần truy cập

chế độ an toàn.

Trong quá trình xây dựng diễn ra vào giai đoạn cuối của trình Setup Capture

wizard, ThinApp tạo ra một file thực thi cho mỗi entry point được lựa chọn.

Nếu bạn triển khai ứng dụng như là một file MSI hoặc sử dụng công cụ

thinreg.exe, các shortcut trên Desktop và Start Menu được tạo ra trên máy

tính của người dùng sẽ được trỏ đến các entry point.

Những Entry Point sử dụng cho việc gỡ lỗi

ThinApp cung cấp các entry point để khắc phục sự cố môi trường của bạn.

Gỡ lỗi một ứng dụng có thể bao gồm các entry point sau đây:

+ cmd.exe - Bắt đầu một dấu nhắc lệnh trong một bối cảnh ảo cho phép bạn

xem các file hệ thống ảo.

+ regedit.exe - Bắt đầu trình biên tập registry trong một bối cảnh ảo cho phép

bạn xem các registry ảo.

+ iexplore.exe - Bắt đầu iexplore.exe trong một bối cảnh ảo cho phép bạn kiểm

tra các điều khiển ActiveX được ảo hóa.

Các entry point này sẽ bắt đầu như là các file thực thi trong một bối cảnh ảo.

Chúng không tạo ra các gói ảo của cmd.exe, regedit.exe, hoặc iexplore.exe.

Nếu bạn không biết khi nào nên gỡ lỗi hoặc khắc phục sự cố môi trường, bạn

có thể sử dụng tham số Disable trong file Package.ini sau đó để kích hoạt

các entry point này.

Thiết lập các Entry Point

Bạn có thể chỉ định các file thực thi để tạo nên danh sách các entry point.

ThinApp cài đặt các file thực thi trong quá trình capture.

Thiết lập các Entry Point trong Setup Capture wizard

1. Trên trang Entry Points, click chọn các entry point cho người dùng có thể

truy cập.

Trình wizard hiển thị các file thực thi có thể truy cập trực tiếp được thông qua

các shortcut trên Desktop hoặc Start Menu.

Page 17: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

2. (Tùy chọn) Để gỡ lỗi môi trường của bạn, chọn mục Show entry points

used for debugging để hiển thị các tùy chọn xử lý sự cố: iexplore.exe,

regedit.exe, và cmd.exe.

Quản lý với VMware Horizon Application Manager

Bạn có thể sử dụng VMware Horizon Application Manager để quản lý việc

triển khai và quyền lợi của các gói ThinApp. Xem Using VMware Horizon

Application Manager to Manage the Deployment and Entitlement of ThinApp

Packages, có sẵn từ các trang web download ThinApp.

Trang 18

Thiết lập User Groups

ThinApp có thể sử dụng các nhóm Active Directory cho phép truy cập vào ứng

dụng ảo. Bạn có thể hạn chế truy cập một ứng dụng để đảm bảo rằng người

dùng không vượt qua nó để sử dụng trái phép.

Active Directory Domain Services xác định các nhóm an ninh và nhóm phân

phối. ThinApp chỉ có thể hỗ trợ nhóm an ninh lồng nhau.

Thiết lập user groups trong Setup Capture wizard

1. Trên trang Groups, hạn chế người dùng truy cập vào ứng dụng.

a. Chọn Only the following Active Directory groups.

b. Nhấn Add để xác định đối tượng và vị trí thông tin Active Directory.

Tùy chỉnh Miêu tả

Object Types Xác định đối tượng.

Locations Chỉ định một vị trí bên trong nhóm.

Check Names Xác nhận tên đối tượng.

Advanced Định vị tên người dùng trong nhóm Active Directory.

Common Queries

(dưới Advanced)

Tìm kiếm một nhóm dựa theo tên, miêu tả, tài khoản

bị vô hiệu hóa, mật mã, ngày đăng nhập gần nhất.

2. (Tùy chọn) Thay đổi tin nhắn xuất hiện cho người dùng rằng ThinApp

không thể ủy quyền.

Định nghĩa chế độ cách ly cho các file hệ thống vật lý

Chế độ cách ly (Isolation) xác định mức độ truy cập đọc và viết vào hệ thống

file gốc bên ngoài của môi trường ảo. Bạn có thể điều chỉnh cài đặt chế độ

cách ly Isolation tùy thuộc vào ứng dụng và các yêu cầu để bảo vệ các hệ

thống vật lý từ những thay đổi.

Việc lựa chọn các chế độ cách ly trong quá trình capture quyết định giá trị của

tham số DirectoryIsolationMode trong file Package.ini. Tham số này

điều khiển chế độ cách ly mặc định cho các file được tạo bởi ứng dụng ảo trừ

Page 18: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

khi bạn chỉ định một chế độ cách ly khác trong file ##Attributes.ini cho một

thư mục cá nhân.

Việc lựa chọn một chế độ cách ly thư mục không ảnh hưởng đến các lĩnh vực

sau:

+ ThinApp xử lý hoạt động ghi đến các ổ đĩa mạng theo tham số

SandboxNetworkDrives trong file Package.ini. Tham số này có một giá

trị mặc định chỉ đạo các hoạt động ghi vào ổ đĩa vật lý. ThinApp xử lý hoạt

động ghi đến các ổ đĩa di động theo tham số SandboxRemovableDisk

trong file Package.ini. Tham số này có một giá trị mặc định chỉ đạo các hoạt

động ghi vào ổ đĩa vật lý.

+ Nếu bạn lưu tài liệu vào Desktop hoặc thư mục My Documents, ThinApp

lưu các tài liệu đến hệ thống vật lý. ThinApp đặt chế độ cách ly trong file

##Attributes.ini, trong đó thư mục %Personal% và %Desktop% đến Merged

thậm chí khi bạn chọn chế độ cách ly WriteCopy.

Áp dụng chế độ cách ly Merged cho những thay đổi bên ngoài của gói

Với chế độ cách ly Merged, các ứng dụng có thể đọc và chỉnh sửa các yếu tố

trên file hệ thống vật lý bên ngoài của gói ảo. Một số các ứng dụng dựa trên

việc đọc các file DLL và thông tin registry trong trạng thái hệ thống địa

phương.

Lợi thế của việc sử dụng chế độ Merged là những tài liệu mà người dùng lưu

xuất hiện trên các hệ thống vật lý ở vị trí mà người dùng mong đợi, thay vì

trong sandbox. Điểm bất lợi là chế độ này có thể gây lộn xộn trạng thái hệ

thống. Một ví dụ về sự lộn xộn có thể là dấu hiệu đầu tiên thực hiện bởi các

ứng dụng phần mềm chia sẻ văn bản đến các địa điểm máy tính ngẫu nhiên

như là một phần của quá trình cấp phép.

Khi bạn chọn cách ly Merged, ThinApp hoàn thành các hoạt động sau đây:

+ Thiết lập các tham số DirectoryIsolationMode trong file Package.ini

đến Merged.

Trang 19

+ Thiết lập ngoại lệ về việc áp dụng chế độ cách ly WriteCopy đến các thư

mục và thư mục con của họ sau đây:

• %AppData%

• %Common AppData%

• %Local AppData%

• %Program Files Common%

• %ProgramFilesDir%

• %SystemRoot%

Page 19: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

• %SystemSystem%

ThinApp vẫn giữ chế độ cách ly Merged cho thư mục con

%SystemSystem%\spool bằng cách tạo ra một ngoại lệ chế độ cách ly đối

với thư mục mẹ %SystemSystem%.

+ Giữa các hoạt động capture: prescan và postscan, gán chế độ cách ly Full với

bất kỳ thư mục được tạo ra trong quá trình cài đặt. Quá trình này không liên

quan đến chế độ cách ly của bất kỳ thư mục mới nào mà các ứng dụng ảo đang

chạy tạo ra.

Chế độ cách ly Merged trong Setup Capture wizard có tác dụng tương tự như

chế độ cách ly Merged trong file Package.ini, bao gồm cả các trường hợp

ngoại lệ thư mục mà nó chỉ định chế độ cách ly WriteCopy. Trình Setup

Capture wizard và quá trình capture thủ công với công cụ snapshot.exe cấu

hình các trường hợp ngoại lệ thư mục cho bạn với file ##Attributes.ini bên

trong các thư mục.

Áp dụng chế độ cách ly WriteCopy để ngăn chặn những thay đổi của gói

Với chế độ cách ly WriteCopy, ThinApp có thể chặn các hoạt động ghi và

chuyển hướng chúng vào sandbox.

Bạn có thể sử dụng chế độ cách ly WriteCopy cho các ứng dụng thuộc tài sản

riêng hoặc các ứng dụng không đáng tin cậy. Mặc dù chế độ này có thể gây

khó khăn trong việc truy tìm các file dữ liệu người dùng vì nó cư trú trong

sandbox thay vì các hệ thống vật lý, chế độ này rất hữu ích trong việc khóa

máy tính nơi bạn muốn ngăn chặn người dùng tác động đến hệ thống file địa

phương.

Khi bạn chọn chế độ WriteCopy trong Setup Capture wizard, ThinApp hoàn

thành một số hoạt động:

+ Thiết lập tham số DirectoryIsolationMode trong file Package.ini đến

WriteCopy.

+ Thiết lập ngoại lệ áp dụng cách ly Merged đến các thư mục:

• %Personal%

• %Desktop%

• %SystemSystem%\spool

+ Giữa các hoạt động capture: prescan và postscan, gán chế độ cách ly Full với

bất kỳ thư mục được tạo ra trong quá trình cài đặt. Quá trình này không liên

quan đến chế độ cách ly của bất kỳ thư mục mới nào mà các ứng dụng ảo đang

chạy tạo ra.

Chế độ cách ly WriteCopy trong Setup Capture wizard có tác dụng tương tự

như chế độ cách ly WriteCopy trong file Package.ini, bao gồm cả các trường

hợp ngoại lệ thư mục mà nó chỉ định chế độ cách ly Merged. Trình Setup

Capture wizard và quá trình capture thủ công với công cụ snapshot.exe cấu

Page 20: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

hình các trường hợp ngoại lệ thư mục cho bạn với file ##Attributes.ini bên

trong các thư mục.

Thiết lập chế độ cách ly cho file hệ thống

Quá trình capture thiết lập mức độ của việc truy cập (đọc và viết) vào file hệ

thống vật lý để xác định thư mục được hiển thị và có thể ghi bởi ứng dụng ảo.

Để biết thông tin về chế độ cách ly Full và cách ly registry mà chỉ có sẵn bên

ngoài của trình Setup Capture wizard, tìm đọc "DirectoryIsolationMode" trên

trang 64 và "RegistryIsolationMode" trên trang 65.

Trang 20

Thiết lập chế độ cách ly cho các file hệ thống trong Setup Capture wizard

Trên trang Isolation, chọn chế độ cách ly cho các file hệ thống vật lý.

Tùy chọn Miêu tả

Full write access to non system directories

(Merged isolation mode)

Cho phép các ứng dụng đọc các tài nguyên và

ghi vào máy cục bộ.

Restricted write access (WriteCopy

isolation mode)

Cho phép các ứng dụng đọc các tài nguyên

trên máy tính cục bộ và hạn chế nhất các sửa

đổi, lưu vào sandbox.

ThinApp sao chép những file hệ thống thay

đổi vào sandbox để đảm bảo rằng ThinApp

chỉ làm thay đổi bản sao của file thay vì các

file vật lý thực tế.

Lưu trữ các thay đổi ứng dụng trong Sandbox

Sandbox là một thư mục mà tất cả những thay đổi trong quá trình capture ứng

dụng được lưu trữ. Sandbox là thư mục chỉnh sửa theo thời gian thực và không

phải là một bộ nhớ cache. Lần sau khi bạn mở ứng dụng, những thay đổi được

sát nhập từ sandbox.

Khi bạn xóa thư mục sandbox, ứng dụng sẽ trở về trạng thái của nó khi

capture. Bạn có thể xóa một sandbox khi một ứng dụng có vấn đề và bạn muốn

phục hồi nó trở lại làm việc ở trạng thái ban đầu.

Tùy chỉnh vị trí đặt Sandbox

Bạn có thể triển khai sandbox trên một máy tính người dùng địa phương, mang

theo nó trên một thiết bị di động USB, hoặc lưu trữ nó trên mạng.

Nếu bạn triển khai sandbox trên một máy tính địa phương, sử dụng profile của

người dùng như là vị trí sandbox. Mặc định vị trí của các sandbox cho Firefox

có thể là %AppData%\Thinstall\Mozilla Firefox 3.0. Vị trí thông thường của

%AppData% là

Page 21: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

C:\Documents and Settings\<user_name>\Application Data. Profile của người dùng

là vị trí mặc định bởi vì khả năng ghi dữ liệu của nó.

Một vị trí trên mạng là hữu ích cho việc sao lưu sandbox và cho những người

dùng đăng nhập vào máy tính bất kỳ và giữ các cài đặt ứng dụng của họ. Sử

dụng các đường dẫn tuyệt đối đến vị trí, chẳng hạn như

\\thinapp\sandbox\Firefox. Bạn có thể chọn một vị trí mạng ngay cả khi một

ứng dụng được cài đặt trên một máy tính địa phương.

Một vị trí trên thiết bị di động là hữu ích để bảo quản dữ liệu sandbox trên thiết

bị mà ứng dụng cư trú.

Tùy chỉnh vị trí đặt sandbox trong Setup Capture wizard

Trên trang Sandbox, chọn profile của người dùng, thư mục ứng dụng, hoặc tùy

chỉnh vị trí đặt sandbox.

Gửi thống kê ẩn danh đến VMware

Để cải thiện ThinApp hỗ trợ cho các ứng dụng, VMware sử dụng quá trình

capture để xác nhận việc có thu thập dữ liệu ẩn danh về gói ThinApp được

triển khai hay không? Các dữ liệu bao gồm thời gian bắt đầu chạy, tổng số thời

gian chạy, và số lần chạy ứng dụng.

Gửi số liệu thống kê ẩn danh đến VMware

Trên trang Usage Statistics, nhấp vào nút tùy chọn Yes – Send anonymous

usage statistics to VMware để xác nhận tình trạng thu thập dữ liệu.

Tùy chỉnh cấu hình cho dự án ThinApp

Một dự án là các dữ liệu thu được trong quá trình capture. Bạn không thể chạy

hoặc triển khai ứng dụng đã capture cho đến khi bạn xây dựng một gói từ các

file dự án.

Cấu hình cho dự án liên quan đến việc xác định tên hàng tồn kho (inventory)

và địa điểm dự án. Tên hàng tồn kho tạo điều kiện theo dõi nội bộ của ứng

dụng và xác định tên thư mục mặc định dự án.

Trang 21

Tùy chỉnh cấu hình cho dự án trong Setup Capture wizard

1. Trên trang Project Settings, thay đổi tên hàng tồn kho.

Sử dụng công cụ thinreg.exe hoặc triển khai ứng dụng đã capture như một file

MSI làm cho tên hàng tồn kho xuất hiện trong hộp thoại Add or Remove

Programs của Windows.

2. Thay đổi thư mục nơi bạn muốn lưu dự án ThinApp.

Nếu bạn giữ thư mục mặc định và capture Firefox 2.0.0.3, đường dẫn có thể

xuất hiện như là

C:\Program File\VMware\VMware ThinApp\Captures\Mozilla Firefox (2.0.0.3).

Định nghĩa cấu hình gói cài đặt

Page 22: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Một gói là một file thực thi hoặc file MSI với các file thực thi mà bạn sử dụng

để chạy hoặc triển khai một ứng dụng đã capture. Bạn xây dựng một gói từ các

file dự án.

Cấu hình cho gói trong quá trình capture liên quan đến xác định thông tin về

file ứng dụng ảo chính phục vụ như là primary data container (container dữ

liệu chính), việc tạo ra MSI, và nén.

Định nghĩa về Primary Data Container

Primary Data Container (container dữ liệu chính) là file ứng dụng ảo chính bao

gồm ThinApp runtime và hệ thống file ảo và registry ảo ở chế độ read-only.

Primary Data Container là một file .exe hoặc file .dat nằm trong cùng thư mục

/bin với bất kỳ các file thực thi ứng dụng trực thuộc. Các Entry point tham

chiếu thông tin từ Primary Data Container.

Để xác định Primary Data Container sau khi bạn capture một ứng dụng, kiểm

tra tham số ReadOnlyData trong file Package.ini.

Tạo gói MSI trong quá trình Capture

Bạn có thể capture một ứng dụng và triển khai nó như một gói cài đặt MSI

Windows. Việc cài đặt MSI sẽ đặt ứng dụng vào thư mục C:\Program Files.

Thông thường, ứng dụng Firefox không yêu cầu cài đặt MSI. Các ứng dụng

khác, chẳng hạn như Microsoft Office, tích hợp với các công cụ phân phối ứng

dụng, sẽ làm việc tốt hơn nếu ở dạng gói MSI. Việc tạo ra MSI đòi hỏi bạn

phải cài đặt MSI trên thiết bị đích trước khi bạn có thể sử dụng gói ứng dụng.

Gói MSI tự động hóa quá trình đăng ký file-type associations, đăng ký các

shortcut trên Desktop và trên Start Menu, và hiển thị phần mở rộng. Nếu bạn

có kế hoạch triển khai trực tiếp các file thực thi ThinApp trên mỗi máy tính,

bạn có thể thực hiện việc đăng ký tương tự bằng cách sử dụng công cụ

thinreg.exe.

Nén các gói trong quá trình Capture

Nén một gói trong quá trình capture làm giảm kích thước của một gói thực thi

nhưng không có tác dụng đến gói MSI.

Nén có thể làm giảm các yêu cầu lưu trữ trên đĩa đến 50 phần trăm nhưng sẽ

làm chậm hiệu suất ứng dụng khi ThinApp phải giải nén các khối ban đầu để

khởi động ứng dụng. VMware không khuyến cáo nén cho các thử nghiệm được

xây dựng bởi vì nén làm tăng thời gian xây dựng.

Tùy chỉnh cấu hình cho gói

Quá trình capture bao gồm các thiết lập ban đầu cho Primary Data Container,

gói MSI, và việc nén gói thực thi.

Tùy chỉnh cấu hình cho gói trong Setup Capture wizard

1. Trên trang Package Settings, chọn Primay Data Container từ danh sách

được dựa trên các file thực thi Entry Point.

Page 23: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

� Nếu kích thước của Primay Container nhỏ hơn 200 MB, ThinApp tạo

ra một file .exe dùng làm Primay Container. Đối với một ứng dụng nhỏ

như Firefox, bất kỳ file .exe có thể phục vụ như là một data container

chính.

Trang 22

� Nếu kích thước của Primay Container lớn hơn 200 MB, ThinApp tạo ra

một file .dat riêng biệt dùng làm Primay Container vì Windows XP và

Windows 2000 không thể hiển thị các biểu tượng shortcut cho file .exe

kích thước lớn. Tạo ra các file .exe riêng biệt kích thước nhỏ cùng với

file .dat là cách giải quyết vấn đề.

� Nếu kích thước của Primay Container khoảng giữa 200 MB và 1.5GB,

ThinApp tạo ra file .dat mặc định trừ khi bạn chọn một file .exe để ghi

đè lên file .dat mặc định.

2. (Tùy chọn) Nếu bạn chọn một file .exe để ghi đè lên file .dat mặc định khi

kích thước của Primay Container khoảng giữa 200MB và 1.5GB, bỏ qua các

cảnh báo được tạo ra.

Lựa chọn một file .exe cho phép tất cả các ứng dụng làm việc đúng nhưng có

thể ngăn chặn việc hiển thị đúng các biểu tượng.

3. (Tùy chọn) Nếu bạn không thể chọn một Primay Data Container, gõ tên của

Primay Data Container để tạo ra một file .dat.

Nếu bạn có kế hoạch sử dụng công cụ Application Sync để cập nhật một ứng

dụng đã capture, ThinApp sử dụng tên Primary Data Container trong quá trình

này. Bạn phải sử dụng cùng tên xuyên suốt nhiều phiên bản của ứng dụng. Bạn

có thể không có khả năng để lựa chọn tên Primary Data Container từ danh

sách.

Ví dụ, Microsoft Office 2003 và Microsoft Office 2007 không có tên các entry

point phổ biến.

4. (Tùy chọn) Chọn Generate MSI package và thay đổi tên file MSI.

5. (Tùy chọn) Để tạo ra một gói phần mềm thực thi nhỏ cho các vị trí như một

thiết bị USB, chọn Compress virtual package.

6. Nhấn Save.

Mở dự án và các file tham số

Quá trình capture cung cấp một cơ hội xem xét các hồ sơ dự án để cập nhật các

thiết lập trước khi xây dựng gói thực thi hay gói MSI.

Ví dụ, nếu bạn capture Firefox 2.0.0.3, bạn có thể duyệt qua các thư mục

C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla Firefox 2.0.0.3 để

cập nhật một thiết lập, chẳng hạn như một đặc điểm kỹ thuật Active Directory,

trong file Package.ini có chứa các tham số thiết lập trong quá trình capture.

Page 24: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Để biết thông tin về thiết lập cập nhật, xem "Cấu hình nâng cao cho gói cài

đặt" trên trang 23.

Dự án bao gồm các thư mục, chẳng hạn như %AppData%, đại diện cho các

đường dẫn file hệ thống mà có thể thay đổi địa điểm khi chạy trên các hệ điều

hành khác nhau hoặc máy tính. Hầu hết các thư mục đều có file

##Attributes.ini để chỉ định các chế độ cách ly tại các cấp độ thư mục.

Xây dựng các ứng dụng ảo

Bạn có thể điều chỉnh các file dự án và xây dựng các ứng dụng cho việc triển

khai.

Xây dựng các ứng dụng ảo trong Setup Capture wizard

1. (Tùy chọn) Trên trang Ready to Build, quét hoặc thay đổi các file dự án.

Tùy chọn Miêu tả

Edit Package.ini Sửa đổi các tham số ứng dụng cho toàn

bộ gói.

Open project folder Duyệt các file dự án ThinApp trong

Windows Explorer.

2. (Tùy chọn) Để ngăn chặn quá trình xây dựng diễn ra, chọn Skip the build

process.

Bạn có thể xây dựng các gói tại một thời gian sau đó với file build.bat trong

thư mục ứng dụng ảo. Ví dụ, một đường dẫn của Firefox 2.0.0.3 đến file

build.bat có thể là

C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla Firefox

2.0.0.3\build.bat.

3. Nhấp Build để xây dựng một gói thực thi hay gói MSI có chứa các file mà

bạn cài đặt trong quá trình capture.

Trang 23

4. (Tùy chọn) Bỏ chọn Open folder containing project executables after

clicking Finish để xem các file thực thi và các file MSI tại một thời gian sau

đó.

5. Nhấn vào Finish.

Bạn có thể xây dựng lại gói bất cứ lúc nào sau khi bạn nhấp vào Finish để thực

hiện thay đổi.

Cấu hình nâng cao cho gói cài đặt Người dùng nâng cao có thể sửa đổi file cấu hình, chẳng hạn như file Package.ini hoặc

file ##Attributes.ini, trước khi xây dựng gói trong việc capture hoặc sau lần xây dựng

ban đầu của gói.

Sửa đổi các thiết lập trong file Package.ini

Page 25: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Bạn có thể sửa đổi file Package.ini để cập nhật cho tổng thể gói.

File này nằm trong thư mục ứng dụng đã capture. Đường dẫn đến của Firefox

2.0.0.3 có thể là C:\Program File\VMware\VMware ThinApp\Captures\Mozilla

Firefox 2.0.0.3\Package.ini.

Các tham số sau đây là một vài ví dụ về các thiết lập mà bạn có thể sửa đổi:

+ DirectoryIsolationMode - Thiết lập chế độ cách ly đến Merged,

WriteCopy, hoặc Full.

+ PermittedGroups - Hạn chế sử dụng một gói ứng dụng cho một tập hợp

cụ thể của người dùng Active Directory.

+ SandboxName - Nhận dạng sandbox.

Bạn có thể giữ tên các bản cập nhật ứng dụng gia tăng và thay đổi tên cho

những bản cập nhật lớn.

+ SandboxPath - Thiết lập vị trí sandbox.

+ SandboxNetworkDrives - Xác định xem có nên chuyển hướng hoạt

động ghi trên mạng chia sẻ đến sandbox.

+ RequiredAppLinks - Chỉ định một danh sách (bắt buộc) các gói

ThinApp bên ngoài để nạp vào các gói hiện tại ở thời điểm chạy.

+ OptionalAppLinks - Chỉ định một danh sách (tùy chọn) các gói

ThinApp bên ngoài để nạp vào các gói hiện tại ở thời điểm chạy.

Để biết thông tin về tất cả các tham số Package.ini, tải về một bản sao của tài

liệu ThinApp Package.ini Reference từ các trang web ThinApp.

Sửa đổi file Package.ini

Sử dụng một trình soạn thảo văn bản để sửa đổi file Package.ini.

Sửa file Package.ini

1. Mở file Package.ini nằm trong thư mục ứng dụng đã capture.

Ví dụ, đường dẫn đến Firefox 2.0.0.3 có thể là

C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla Firefox

2.0.0.3\Package.ini

2. Kích hoạt tham số để chỉnh sửa bằng cách loại bỏ các dấu chấm phẩy ở đầu

dòng.

Ví dụ, kích hoạt tham số RemoveSandboxOnExit cho Firefox.

RemoveSandboxOnExit = 1

3. Xóa hoặc thay đổi giá trị của tham số và lưu lại file.

4. Double-click vào file build.bat trong thư mục ứng dụng đã capture để xây

dựng lại các gói ứng dụng.

Ví dụ, đường dẫn đến file build.bat của Firefox 2.0.0.3 có thể là

C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla Firefox

2.0.0.3\build.bat

Page 26: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 24

Sửa đổi các thiết lập trong file ##Attributes.ini

File ##Attributes.ini tồn tại trong các thư mục macro của thư mục dự án và áp

dụng các thiết lập cấu hình ở cấp độ thư mục. File Package.ini áp dụng các

thiết lập ở mức ứng dụng tổng thể. Bạn có thể sử dụng các tham số

DirectoryIsolationMode, CompressionType, và

ExcludePattern trong một file ##Attributes.ini để ghi đè lên thiết lập

Package.ini ở cấp thư mục.

Ví dụ, bạn có thể thiết lập chế độ cách ly tại cấp độ các thư mục hay ứng dụng

để xác định những file và registry key có thể nhìn thấy và được viết bởi các

ứng dụng ảo mà bạn tạo ra. Các thiết lập chi tiết trong file ##Attributes.ini ghi

đè lên các thiết lập trong file Package.ini. Các thiết lập Package.ini xác định

chế độ cách ly chỉ khi ThinApp không có thông tin trong file ##Attributes.ini.

File ## Attributes.ini xuất hiện trong hầu hết các thư mục của ứng dụng đã

capture. Ví dụ, file Attributes.ini có thể được đặt trong

C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla Firefox

2.0.0.3\%AppData%\##Attributes.ini

Sửa đổi file ##Attributes.ini

Sử dụng một trình soạn thảo văn bản để sửa đổi file ##Attributes.ini.

Sửa file ## Attributes.ini

1. Trong file ##Attributes.ini, ghi chú, cập nhật, hoặc xóa các tham số.

2. Double-click vào file build.bat trong thư mục ứng dụng đã capture để xây

dựng lại gói ứng dụng.

Capture trình duyệt Trong phần này, bạn có thể tìm thấy phương pháp capture các trình duyệt khác nhau.

Capture Internet Explorer 6 trên Windows XP

Sau khi bạn sử dụng Setup Capture wizard để capture Internet Explorer 6 chạy

trên Windows XP, trên máy test bạn có thể sử dụng một plug-in của ThinApp

là ThinDirect để chuyển hướng các trang web hoặc các trang cụ thể đến trang

tự động mở trong một trình duyệt ảo Internet Explorer 6. Các trang web mà

bạn không thể xem trong phiên bản gốc của Internet Explorer bây giờ có thể

được xem trong Internet Explorer 6 phiên bản ảo hóa. Một danh sách được duy

trì là điều kiện cho một quá trình chuyển hướng các tên miền không tương

thích và các trang chỉ định.

Bạn cũng có thể cài đặt các plug-in Internet Explorer 6 như Java runtime plug-

ins. Các plug-in được đối xử như bất kỳ file khác trong Setup Capture. Các

plug-in được nhúng trong Internet Explorer 6 capture.

Sau khi plug-in ThinDirect được cài đặt thành công trong một trình duyệt bản

địa của bạn, khi người dùng yêu cầu một URL được bao gồm trong danh sách

Page 27: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

chuyển hướng, một thông báo xuất hiện trong một trình duyệt tự để cảnh báo

người dùng rằng trang này là được chuyển hướng đến một trình duyệt ảo

Internet Explorer 6. Trình duyệt ảo sẽ mở ra và URL được yêu cầu sẽ xuất

hiện.

Các yêu cầu đối với Capture Internet Explorer 6 trên Windows XP

Trước khi bạn bắt đầu trình Setup Capture wizard các yêu cầu sau đây phải

được đáp ứng:

+ Bạn phải có một máy ảo sạch với Windows XP được cài đặt.

Đảm bảo rằng Windows XP bao gồm tất cả các gói dịch vụ và thông tin cập

nhật của Microsoft, khi đó Internet Explorer 6 được capture với các bản sửa lỗi

bảo mật mới nhất từ Microsoft.

+ ThinApp phải được cài đặt trên cùng một máy.

Capture Internet Explorer 6 trên Windows XP bằng cách sử dụng Setup

Capture Wizard

Capture Internet Explorer 6 bằng cách sử dụng trình Setup Capture wizard là

cách tương tự như capture các ứng dụng khác. Có hai sự khác biệt quan trọng.

Khi bạn sử dụng Setup Capture wizard để capture Internet Explorer 6 trên

Windows XP, bạn xác định một entry point cho Internet Explorer. Bạn cũng sử

dụng ThinDirect để xác định URL sẽ được chuyển hướng đến trình duyệt ảo

hóa Internet Explorer 6.

Trang 25

Tham khảo "Capture ứng dụng với Setup Capture Wizard" trên trang 16 để có

một cái nhìn tổng quan đầy đủ về các tiêu chuẩn của quá trình Setup Capture.

Chạy Setup Capture trên một máy tính chạy Windows XP với Service Pack 3,

và với .NET framework được cài đặt.

Capture Internet Explorer 6 trên Windows XP

1. Tạo một hình ảnh hệ thống bằng cách sử dụng tiến trình Prescan của Setup

Capture wizard.

2. Trong hộp thoại Install Application, bấm Internet Explorer .

3. Chọn Include entry point for virtualized Internet Explorer 6 in the

virtual package và nhấn OK.

Tùy chọn này capture cả các file đã thay đổi trong khi setup capture và các file

cần thiết khác và các thiết lập trong registry.

4. Cài đặt bất kỳ plug-in nào cho Internet Explorer mà bạn muốn được bao

gồm trong gói phần mềm.

5. Quét lại hệ thống bằng cách sử dụng tiến trình Postscan trong Setup Capture

wizard.

6. Trong hộp thoại Setup Capture – Entry Points, chọn mặc định, VirtIE6.exe.

Page 28: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

7. Thực hiện theo các hướng dẫn cho đến khi hộp thoại Native Browser

Redirect xuất hiện.

8. Tạo một danh sách các site và các trang web mà bạn muốn chuyển hướng

đến gói ảo Internet Explorer 6.

Mỗi mục phải nằm trên một dòng riêng biệt.

+ Bạn có thể sử dụng ký tự đại diện, ví dụ *.example.com.

+ Bạn có thể chỉ định một trang web để tất cả các site trên trang web đó được

chuyển hướng, ví dụ, www.example.com.

+ Bạn có thể chỉ định một tên site được theo sau là một tên trang, do đó mà các

trang cụ thể sẽ được chuyển hướng, ví dụ javatester.org/version.html.

9. (Tùy chọn) Khi bạn đã lưu gói phần mềm, mở file ThinDirect.txt, có chứa

các entry point Internet Explorer 6 và danh sách các địa chỉ chuyển hướng, và

chỉnh sửa file này.

File này chỉ tồn tại sau khi bạn tạo các mục trong hộp thoại Native Browser

Redirect.

Danh sách chuyển hướng được đặt tại %appdata%\roaming\VMware\VMware

ThinApp\Thindirect.

10. Thực hiện theo các hướng dẫn để xây dựng dự án.

File ThinDirect.exe được nhúng vào trong gói phần mềm, với plug-in

ThinDirect.dll và các file plug-in launcher là ThinDirectLauncher.exe.

Capture trình duyệt khác

Phần này mô tả quá trình ảo hóa trình duyệt khác ngoài Internet Explorer 6.

Nền tảng cho việc capture một số các trình duyệt thông dụng như sau:

+ Internet Explorer 7 - Windows XP

+ Internet Explorer 8 - Windows XP

+ Internet Explorer 9 - Windows 7

+ Internet Explorer 10 - Windows 7

+ Internet Explorer 11 - Windows 7

+ Mozilla Firefox - Windows 7

Để capture một trình duyệt bằng cách sử dụng Setup Capture:

1. Tạo một hình ảnh hệ thống bằng cách sử dụng tiến trình Prescan của Setup

Capture wizard.

NOTE: Không chọn Internet Explorer trên ứng dụng Setup Capture. Điều

này chỉ làm việc cho capture Internet Explorer 6.

Trang 26

2. Trong giai đoạn cài đặt ứng dụng của Setup Capture, capture bản nâng cấp

từ Internet Explorer 6 đến phiên bản của Internet Explorer bạn đang ảo hóa

(Internet Explorer 7 hoặc Internet Explorer 8). Các máy chủ có thể cung cấp

Page 29: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

các thiết lập mặc định, do đó đảm bảo rằng bạn có các thiết lập chính xác cho

Setup Capture.

3. Cấu hình các trình duyệt bằng cách mở bản địa phương mới được cài đặt

Internet Explorer.

4. Quét lại hệ thống bằng cách sử dụng quá trình Postscan của Setup Capture

wizard.

5. Trong cửa sổ Native Browser Redirection, nhập URL cần thiết để định

hướng lại.

6. Cấu hình dự án và gói trong các cửa sổ sau đó của Setup Capture.

Quản lý các gói cài đặt ThinApp Trong các phiên bản trước của ThinApp, để thay đổi một số tham số Package.ini,

trước hết bạn phải tạo những thay đổi trong file cấu hình, lưu các file, và xây dựng lại

nó.

Sử dụng tính năng quản lý gói ThinApp, bạn có thể linh động cấu hình lại các thuộc

tính của gói ThinApp đã được triển khai theo thời gian thực.ThinApp Package

management giúp các nhà quản trị CNTT quản lý các gói ThinApp và định nghĩa

chính sách nhóm cho mỗi gói.

Mỗi gói được quản lý phải có một chính sách nhóm có liên quan được xác định bằng

cách sử dụng tên hàng tồn kho của mình.

Lựa chọn chính sách ưu tiên

Trong ThinApp 5.1 bạn có tùy chọn xác định chính sách nhóm cho một tập hợp cụ thể

của các hệ thống khách hàng.

Bảng 2-1. Group Policy Precedence table

Gói Group Policy 1 Group Policy 2 Group Policy 3 Group Policy 4

T1 Yes No No No

T2 No Yes No Yes

T3 No No Yes No

T4 No No No Yes

Trong ví dụ trên, T1, T2, T3 và T4 đại diện cho bốn trường hợp của cùng một gói. Để

xác định nhiều chính sách nhóm cho một gói khi chạy, bạn phải chọn thuộc tính cần

thiết, sửa đổi nó, và thiết lập chính sách nhóm. Các gói ThinApp T2 có hai chính sách

nhóm được định nghĩa cho một gói duy nhất.

ThinApp chọn các ưu tiên chính sách khi bạn xây dựng lại gói và triển khai nó trên hệ

thống. Nếu một gói chứa một chính sách nhóm, ThinApp đặt quyền ưu tiên cho các

chính sách trong cấu hình Package.ini.

Mẫu Group Policy Administrative

ThinApp 5.1, giới thiệu các file mẫu Group Policy Administrative (ADMX /ADML).

Với những file mẫu này, bạn có thể cấu hình lại các thiết lập Group Policy cho các

Page 30: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

ứng dụng đã được đóng gói bằng cách sử dụng ThinApp. Các file GPO (Group Policy

Object) làm việc trên bộ điều khiển tên miền mà chạy trong môi trường sau đây:

+ Windows Server 2008

+ Windows Server 2008 R2

+ Windows Server 2012

Trong ThinApp 5.1, bạn có thể cấu hình lại hoặc quản lý các thuộc tính sau đây của

một gói triển khai:

+ AppSync

+ AppLink

+ Entry-Point Shortcuts

Trang 27

Khi bạn cài đặt ThinApp 5.1, một thư mục mới với tên Policies được tạo ra trong thư

mục cài đặt. Các chính sách thư mục chứa các công cụ và khuôn mẫu cho việc quản lý

các gói ThinApp.

+ AppPolicy.exe

+ README.txt

+ ThinAppBase.adml

+ ThinAppBase.admx

+ ThinAppGeneric.adml

+ ThinAppGeneric.admx

Các file Administrative Template

Các file Administrative Template có chứa ngôn ngữ đánh dấu được sử dụng để mô tả

một Group Policy dựa trên registry. Các file administrative được chia thành ngôn ngữ

trung lập (.admx files) và ngôn ngữ cụ thể (.adml files), có sẵn cho tất cả các quản trị

viên Group Policy. Những yếu tố này cho phép các công cụ Group Policy điều chỉnh

cho người sử dụng giao diện theo ngôn ngữ được cấu hình của administrator.

Bảng 2-2.

File Miêu tả

ThinAppGeneric.admx và

ThinAppGeneric.adml

Những file này cung cấp một khuôn mẫu chung mà các công

cụ AppPolicy sử dụng để tạo mẫu chính sách nhóm cho các

ứng dụng đích.

NOTE: Bạn phải đảm bảo rằng các file mẫu chung

ThinAppGeneric.admx và ThinAppGeneric.adml hiện diện

trong cùng một thư mục làm việc với AppPolicy.exe.

AppPolicy.exe Công cụ này tạo ra và tùy biến các file mẫu chung cho cấu

hình lại hoặc quản lý một ứng dụng.

Page 31: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Apppolicy.exe được sử dụng để tạo ra các file mẫu và truy vấn thuộc tính cụ thể của

gói ThinApp. Chức năng cơ bản của công cụ này là để tạo ra các file mẫu cho một ứng

dụng ảo hóa có tên hàng tồn kho mà bạn biết. Để biết tên hàng tồn kho, chạy các lệnh

sau tại dấu nhắc lệnh.

Appolicy.exe /s <path to PDC>

NOTE: Đối với từng gói ThinApp mà bạn quản lý, bạn phải tạo ra các file mẫu GPO

bằng cách sử dụng Appolicy.exe.

Hướng dẫn cấu hình các thiết lập Group Policy

Cấu hình các thiết lập chính sách nhóm cho gói ThinApp phải được thực hiện trên các

bộ điều khiển miền.

Trong ví dụ sau, bạn cấu hình các thiết lập chính sách cho Mozilla Firefox 28.

Tạo một Group Policy Template cho một gói ảo hóa ThinApp

Bạn có thể tìm thấy tên của ứng dụng, tùy biến nó, và xem các thiết lập chính sách của

mình bằng cách sử dụng file admx. Ví dụ này tạo ra một khuôn mẫu chính sách nhóm

cho một gói FF28.

1. Run > AppPolicy.exe /s <path to the package pdc file>, để

biết tên hàng tồn kho.

2. Run > AppPolicy.exe /c FF28, tùy chỉnh các file

ThinAppGeneric.admx/adml.

3. Các file ThinApp_FF28.adml và ThinApp_FF28.admx được tạo ra trong các thư

mục chính sách ứng dụng ThinApp.

4. Mở file admx cụ thể cho ứng dụng và thay thế tất cả các lần xuất hiện của Class

= "Machine" với Class = "User".

NOTE: Bạn chỉ phải thay đổi thiết lập này một lần.

Trang 28

Đặt các file Administrative Template trên một Domain Controller

Bạn có thể sao chép các file mẫu cơ sở trên đến thư mục Windows cho một phiên bản

cụ thể của bộ điều khiển miền (Domain Controller).

1. Sao chép file ThinAppBase.admx đến %WINDIR%\PolicyDefinitions.

2. Sao chép file ThinAppBase.adml đến %WINDIR%\PolicyDefinitions\en-US.

3. Sao chép ThinApp_FF28.admx đến %WINDIR%\PolicyDefinitions.

4. Sao chép ThinApp_FF28.adml đến %WINDIR%\PolicyDefinitions\en-US.

5. Thực hiện các bước này cho mỗi gói ThinApp mà bạn muốn cấu hình.

Tạo một Group Policy Object cho một ứng dụng cụ thể trên Domain Controller

Bạn sẽ cấu hình các thiết lập chính sách cho một ứng dụng được chọn và bạn sẽ liên

kết ứng dụng đến một Group Policy Object đang tồn tại.

1. Chạy gpmc.msc để mở Group Policy Management Console.

2. Mở Group Policy Management > Default Domain Controller Policy.

Page 32: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

3. Theo tên miền của bạn, nhấn chuột phải vào Group Policy Objects và chọn New .

4. Gõ tên cho các đối tượng GPO (GPO-FF28).

5. Kích chuột phải vào FF28 và chọn Edit.

6. Nếu bạn đã định hướng chính sách GPO của bạn cho Machine, mở rộng mục

Computer Configuration.

7. Nếu bạn đã định hướng chính sách GPO của bạn vào User hoặc Both, mở rộng mục

User Configuration.

8. Điều hướng đến Policies > Administrative Templates > VMware ThinApp

Management.

9. Nhấn vào nút FF28 để hiển thị các thiết lập chính sách tính năng cụ thể trên khung

bên phải.

10. Mở thiết lập chính sách và đọc hộp help để cấu hình các thiết lập chính sách.

Để biết thêm thông tin về ứng dụng Liên kết, tham khảo "Liên kết ứng dụng bằng

Group Policy Object" trên trang 53.

Để biết thêm thông tin về ứng dụng đồng bộ hóa, tham khảo "Đồng bộ ứng dụng bằng

Group Policy Object" trên trang 57.

Để biết thêm thông tin về việc vô hiệu hóa các entry point, tham khảo "Vô hiệu hoá

Entry Point Shortcuts" trên trang 12.

Trang 29

3. Deploying Applications Triển khai các ứng dụng đã capture liên quan đến việc làm việc với các công cụ triển

khai, công cụ thinreg.exe, MSI files, và Active Directory.

Chương này bao gồm các chủ đề sau:

+ "Các tùy chọn triển khai ThinApp" trên trang 29

+ "Thiết lập File Type Asociations với công cụ thinreg.exe" trên trang 30

+ "Xây dựng một cơ sở dữ liệu MSI" trên trang 33

+ "Kiểm soát khả năng truy cập ứng dụng với Active Directory" trên trang 35

+ "Bắt đầu và dừng dịch vụ ảo" trên trang 36

+ "Sử dụng gói ThinApp được Stream từ mạng" trên trang 37

+ "Sử dụng Captured Applications với những thành phần hệ thống khác" trên trang 39

+ "Ví dụ cấu hình cho chế độ cách ly phụ thuộc vào bối cảnh triển khai" trên trang 41

+ "ThinDirect" trên trang 42

Các tùy chọn triển khai ThinApp Bạn có thể triển khai các ứng dụng đã capture với các công cụ triển khai, trong một

môi trường VMware View ™, trên mạng chia sẻ, hoặc đơn giản như là các file thực

thi.

Triển khai ThinApp với Deployment Tools

Page 33: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Doanh nghiệp vừa và lớn thường sử dụng các công cụ triển khai lớn, chẳng

hạn như Symantec, BMC, và các công cụ SMS. ThinApp làm việc với tất cả

các công cụ triển khai lớn.

Khi bạn sử dụng những công cụ này, bạn có thể tạo ra các file MSI cho các

ứng dụng đã capture và theo cùng quá trình khi bạn sử dụng để triển khai các

file MSI bản địa. Xem hướng dẫn triển khai từ các nhà cung cấp công cụ. Để

biết thông tin về các file MSI, xem "Xây dựng một cơ sở dữ liệu MSI" trên

trang 33.

Triển khai ThinApp trong môi trường VMware View

Bạn có thể sử dụng VMware View để phân phối các gói ThinApp.

Quy trình làm việc để triển khai các gói có thể liên quan đến các nhiệm vụ sau

đây:

+ Tạo các file thực thi cho các ứng dụng đã capture.

+ Lưu trữ các file thực thi trên một mạng chia sẻ.

Trang 30

+ Tạo một script đăng nhập truy vấn nhiều ứng dụng được quyền cho người sử

dụng và chạy công cụ thinreg.exe với tùy chọn đăng ký các ứng dụng trên máy

tính địa phương. Script đăng nhập là hữu ích cho nonpersistent desktop. Tham

khảo "Thiết lập File Type Asociations với công cụ thinreg.exe" trên trang 30.

+ Kiểm soát truy cập người dùng vào fileshares. Các quản trị viên IT có thể

kiểm soát truy cập bằng cách tổ chức mạng lưới chia sẻ dựa trên chức năng và

quyền liên kết với mạng chia sẻ dựa trên những ranh giới chức năng này.

Triển khai ThinApp trên Network Shares

Doanh nghiệp vừa và nhỏ có xu hướng sử dụng một mạng chia sẻ. Bạn có thể

tạo ra các file thực thi cho ứng dụng đã capture và lưu trữ chúng trên một

mạng chia sẻ. Mỗi khi bạn triển khai một ứng dụng mới hoặc cập nhật cho một

gói có sẵn, bạn có thể thông báo cho người sử dụng khách hàng để chạy công

cụ thinreg.exe với một lựa chọn thích hợp.

Các quản trị viên IT có thể kiểm soát người sử dụng truy cập vào fileshares

bằng cách tổ chức mạng chia sẻ dựa trên chức năng và quyền hạn liên kết với

mạng chia sẻ dựa trên những ranh giới chức năng này.

Sự khác biệt giữa tùy chọn mạng chia sẻ và tùy chọn VMware View là tùy

chọn mạng chia sẻ giả định một sự kết hợp giữa máy tính để bàn vật lý và máy

tính ảo (kéo dài) và liên quan đến người sử dụng đang chạy công cụ

thinreg.exe trực tiếp thay vì dựa trên script đăng nhập.

Triển khai ThinApp bằng cách sử dụng file thực thi

Bạn có thể sử dụng một tùy chọn triển khai cơ bản với các file thực thi khi việc

sử dụng đĩa có hạn.

Page 34: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Bạn có thể tạo ra các file thực thi cho các ứng dụng đã capture, sao chép chúng

từ một kho lưu trữ trung ương, và chạy công cụ thinreg.exe bằng tay để đăng

ký file type associations, các shortcut desktop, và gói ứng dụng trên hệ thống.

Thiết lập File Type Association với công cụ thinreg.exe Nếu bạn tạo ra các file thực thi thay vì file MSI trong quá trình capture, bạn phải chạy

công cụ thinreg.exe để mở file, chẳng hạn như một tài liệu .doc hay một trang .html.

Ví dụ, nếu bạn bấm vào một URL trong một tin nhắn email, ThinApp phải được thiết

lập để khởi động Firefox. Bạn không cần phải chạy công cụ thinreg.exe cho các file

MSI vì MSI file khởi chạy công cụ trong khi cài đặt ứng dụng.

Công cụ thinreg.exe tạo ra menu Start và các shortcut trên Desktop, thiết lập file type

associations, thêm thông tin gỡ bỏ vào bảng điều khiển hệ thống, và hủy đăng ký các

gói đã đăng ký trước đó. Công cụ cho phép bạn xem các phần mở rộng bảng điều

khiển cho các ứng dụng, chẳng hạn như Quicktime hoặc bảng kiểm soát thư cho

Microsoft Outlook 2007. Khi bạn nhấn chuột phải vào một file, chẳng hạn như một

file .doc, công cụ thinreg.exe cho phép bạn xem các tùy chọn trình đơn tương tự cho

một file .doc trong một môi trường bản địa.

Nếu một ứng dụng chạy SMTP hoặc các giao thức HTTP, như một liên kết email vào

một trang Web mà cần phải mở Microsoft Outlook 2007, công cụ thinreg.exe bắt đầu

các ứng dụng ảo có sẵn mà có thể tự tay xử lý những giao thức này. Nếu các ứng dụng

ảo không có sẵn, công cụ thinreg.exe bắt đầu ứng dụng bản địa, có thể xử lý các giao

thức đó.

Vị trí mặc định của công cụ này là C:\Program Files\VMware\VMware ThinApp.

Hiệu ứng Application Sync trong công cụ thinreg.exe

Công cụ Application Sync ảnh hưởng đến công cụ thinreg.exe trong quá trình

cập nhật.

Nếu bạn thêm, chỉnh sửa, hoặc xóa các file thực thi, công cụ thinreg.exe đăng

ký lại file type associations, các phím tắt, và các biểu tượng.

Nếu bạn cài đặt giao thức, loại MIME, bảng điều khiển applet, và các mẫu

khác hơn các file thực thi, công cụ thinreg.exe đăng ký lại những yếu tố này.

Trang 31

Chạy công cụ thinreg.exe

Ví dụ này về việc chạy công cụ thinreg.exe sẽ cung cấp một số lệnh mẫu.

Tên gói trong các lệnh thinreg.exe có thể xuất hiện trong các cách sau đây:

+ C:\<absolute_path_to_.exe>

+ Đường dẫn tương đối đến file .exe

+ \\<server>\<share>\<path_to_.exe>

Như một sự thay đổi, bạn có thể sử dụng một ký tự đại diện đặc điểm kỹ thuật,

chẳng hạn như *.exe.

Page 35: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Nếu đường dẫn hoặc tên file chứa các khoảng trắng, nhớ kèm theo các đường

dẫn trong dấu ngoặc kép. Lệnh dưới đây cho thấy việc sử dụng dấu ngoặc kép.

thinreg.exe "\\DEPLOYSERVER\ThinApps\Microsoft

Office Word 2007.exe"

Để biết thông tin về các tham số thinreg.exe, xem "Tùy chỉnh các tham số

thinreg.exe" trên trang 31.

Chạy công cụ thinreg.exe

1. Xác định các file thực thi mà ThinApp phải đăng ký với môi trường địa

phương.

2. Từ dòng lệnh, gõ lệnh thinreg.exe.

thinreg.exe [<optional_parameters>] [<package1.exe>]

[<package2.exe>] [<packages_by_wildcard>]

Nếu tên máy chủ là DEPLOYSERVER và chia sẻ là ThinApps, sử dụng các ví

dụ sau đây để đăng ký Microsoft Word cho người sử dụng đăng nhập vào.

ThinReg.exe "\\DEPLOYSERVER\ThinApps\Microsoft

Office 2007 Word.exe"

Sử dụng các ví dụ sau đây để đăng ký tất cả các ứng dụng Microsoft Office

trong thư mục chỉ định cho người sử dụng đăng nhập vào.

ThinReg.exe "\\DEPLOYSERVER\ThinApps\Microsoft

Office *.exe"

Tùy chỉnh các tham số thinreg.exe

Công cụ thinreg.exe giám sát thiết lập PermittedGroups trong file

Package.ini, đăng ký và hủy đăng ký gói khi cần thiết. Khi công cụ thinreg.exe

đăng ký một gói phần mềm cho người sử dụng hiện tại, công cụ này chỉ tạo ra

các shortcut và file type associations mà người dùng hiện đang được ủy quyền

cho các thiết lập trong PermittedGroups. Nếu thiết lập này không tồn tại,

người dùng hiện tại được ủy quyền cho tất cả các file thực thi.

Khi công cụ thinreg.exe đăng ký một gói phần mềm cho tất cả người dùng với

tham số /allusers, ThinApp tạo ra tất cả các shortcut và các file type

associations bất kể các thiết lập PermittedGroups. Khi bạn nhấp đúp vào

một biểu tượng shortcut mà bạn không được uỷ quyền, bạn không thể chạy

ứng dụng.

Nếu tên gói bạn muốn đăng ký hoặc hủy đăng ký có khoảng trống, bạn phải

đặt nó trong dấu ngoặc kép.

Để biết thông tin về các thiết lập PermittedGroups và hỗ trợ cho các

nhóm Active Directory, xem "PermittedGroups" trên trang 69 .

Bảng 3-1 liệt kê các tham số tùy chọn cho công cụ thinreg.exe. Bất kỳ lệnh nào

sử dụng tham số /a đều yêu cầu quyền quản trị.

Page 36: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 32

Bảng 3-1. Optional thinreg.exe Parameters

Tham số Mục đích Ví dụ

/a, /allusers Đăng ký một gói phần mềm cho tất cả

người dùng. Nếu một người sử dụng

trái phép cố gắng để chạy ứng dụng,

một tin nhắn thông báo sử dụng mà

người đó không thể chạy ứng dụng.

thinreg.exe /a

"\\<server>\<share>

\ Microsoft Office

2007 Word.exe"

/q, /quite Ngăn chặn việc hiển thị một thông báo

lỗi cho một dòng lệnh không được

công nhận tham số.

thinreg.exe /q

<unknown_option>

/u,

/unregister,

/uninstall

Hủy đăng ký một gói

Lệnh này loại bỏ các phần mềm từ

Add/Remove Programs bảng điều

khiển applet.

Hủy đăng ký Microsoft

Word cho người dùng hiện

tại.

thinreg.exe /u

"\\<server>\<share>

\Microsoft Office

2007 Word.exe"

Hủy đăng ký tất cả các ứng

dụng Microsoft Office cho

người sử dụng hiện tại và

loại bỏ các mục Add /

Remove Programs.

thinreg.exe /u

"\\server\share\Mic

rosoft Office

*.exe"

Nếu một người sử dụng đăng

ký gói có tham số /a, bạn

phải sử dụng tham số /a khi

hủy đăng ký gói.

thinreg.exe /u/a

*.exe

/r, /register Đăng ký lại một gói.

Trong những trường hợp điển hình,

công cụ thinreg.exe có thể phát hiện

liệu một gói đã được đăng ký và bỏ

qua nó. Tùy chọn /r buộc công cụ

thinreg.exe đăng ký lại gói.

thinreg.exe /r

"\\<server>\<share>

\Microsoft Office

2007 Word.exe"

Nếu một người sử dụng đăng

ký gói có tham số /a, bạn

phải sử dụng tham số /a khi

đăng ký lại gói.

Page 37: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

thinreg.exe /r/a *

.exe

/k,

/keepunauthori

zed, /keep

Ngăn chặn việc loại bỏ đăng ký thông

tin ngay cả khi bạn không còn thẩm

quyền để truy cập vào một gói ứng

dụng.

Nếu không có tùy chọn này, công cụ

thinreg.exe loại bỏ các thông tin đăng

ký gói đó nếu nó phát hiện bạn không

còn được phép truy cập gói.

ThinApp chứa thông tin ủy quyền

trong tham số PermittedGroups

của file Package.ini.

thinreg.exe /k

"\\<server>\<share>

\Microsoft Office

2007 Word.exe"

/noarp Ngăn chặn việc tạo ra một mục trong

bảng điều khiển applet Add/Remove

Programs.

thinreg.exe /q

/noarp

"\\<server>\<share>

\Microsoft Office

2007 Word.exe"

/norelaunch Bắt đầu công cụ thinreg.exe trên

Microsoft Vista không có đặc quyền

nâng cao. Người dùng chuẩn có thể

khởi chạy công cụ mà không có một sự

kiểm soát tài khoản người dùng (UAC)

pop-up window.

Khi công cụ thinreg.exe phát hiện một

nhu cầu cho nhiều đặc quyền, chẳng

hạn như các đặc quyền cần thiết cho

tham số /allusers, công cụ sẽ khởi

động lại chính nó như là một quá trình

đặc quyền và tạo ra một cửa sổ pop-up

UAC.

Tùy chọn /norelaunch khóa quá

trình khởi động lại này và khiến cho sự

đăng ký phải rớt.

thinreg.exe /q

/norelaunch"\\<Serv

er>\<share>\Microso

ft Office 2007

Word.exe"

Trang 33

Xây dựng một cơ sở dữ liệu MSI Nếu bạn không tạo ra các file MSI trong quá trình capture, bạn vẫn có thể tạo ra các

file này sau khi xây dựng một ứng dụng. Một cơ sở dữ liệu MSI là hữu ích cho việc

phân phối các ứng dụng đã capture thông qua hệ thống quản lý máy tính để bàn truyền

thống đến các địa điểm từ xa và tự động tạo ra các shortcut và file type associations.

Page 38: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Các chính sách nhóm cơ bản Active Directory cung cấp nhiều cách để phân phối và

bắt đầu gói MSI.

ThinApp tạo ra một cơ sở dữ liệu MSI có chứa các file thực thi đã capture, cài đặt

logic, và công cụ thinreg.exe.

Tùy chỉnh file MSI với các tham số Package.ini

Bạn có thể tùy chỉnh hành vi của các file MSI bằng cách sửa đổi các tham số

Package.ini và xây dựng lại gói ứng dụng.

Các tham số sau đây có thể ảnh hưởng đến cấu hình MSI:

+ Tham số MSIInstallDirectory thiết đặt thư mục cài đặt của gói.

Ví dụ, bao gồm MSIInstallDirectory=C:\Program Files\ trong

file Package.ini.

+ Tham số MSIDefaultInstallAllUsers đặt xem có cài đặt gói phần

mềm cho tất cả các cá nhân người sử dụng hay người dùng độc lập không.

ThinApp cài đặt các gói phần mềm trong thư mục %AppData% của người

dùng.

Ví dụ, bao gồm MSIDefaultInstallAllUsers=0 trong file Package.ini.

Để biết thêm thông tin về tham số này, xem "Xác định một cài đặt cơ sở dữ

liệu cho người dùng cá nhân và máy móc" trên trang 34.

+ Tham số MSIFileName đặt tên cho gói.

Ví dụ, bao gồm MSIFilename=Firefox30.msi trong file Package.ini.

+ Tham số MSIRequireElevatedPrivileges chỉ ra một trình cài đặt

có cần đặc quyền nâng cao để triển khai trên Microsoft Vista không. Cài đặt

cho người dùng cá nhân thường không cần đặc quyền nâng cao nhưng cài đặt

cho mỗi máy đòi hỏi đặc quyền này.

Ví dụ, bao gồm MSIRequireElevatedPrivileges=1 trong file

Package.ini.

+ Tham số MSIProductCode làm cho nó dễ dàng hơn để cài đặt một phiên

bản mới của ứng dụng. Một cơ sở dữ liệu MSI chứa một mã sản phẩm và một

mã số nâng cấp. Khi bạn cập nhật một gói, giữ giá trị ban đầu của tham số

MSIUpgradeCode.

Nếu giá trị tham số của phiên bản mới cũng giống như giá trị của phiên bản cũ,

cài đặt nhắc bạn loại bỏ phiên bản cũ. Nếu các giá trị cho các tham số khác

nhau, trình cài đặt sẽ gỡ bỏ cài đặt phiên bản cũ và cài đặt phiên bản mới.

VMware khuyến cáo bạn nên tránh chỉ định một giá trị MSIProductCode

và cho phép ThinApp để tạo ra một mã sản phẩm khác nhau cho mỗi lần xây

dựng.

Bất kể các giá trị tham số quy định tại thời điểm xây dựng, bạn có thể ghi đè

lên các thiết lập vào thời điểm triển khai.

Page 39: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Xem "Ép triển khai MSI cho mỗi người dùng hoặc mỗi máy" trên trang 34.

Sửa đổi file Package.ini để tạo file MSI

Để biết thêm thông tin về tham số MSI, xem "Tùy chỉnh file MSI với các tham

số Package.ini" trên trang 33.

Trước khi bạn có thể sửa đổi các tham số MSI, bạn phải thêm một mục cho

tham số MSIFilename để tạo MSI file.

Trang 34

Sửa đổi các tham số của MSI

1. Trong file Package.ini, gõ tên file MSI.

MSIFilename = <filename>.msi

Ví dụ, tên file cho Firefox có thể là Mozilla Firefox 2.0.0.3.msi.

2. (Tùy chọn) Cập nhật các tham số khác của MSI.

3. Double-click vào file build.bat trong thư mục ứng dụng đã capture để xây

dựng lại gói ứng dụng.

Xác định một cài đặt cơ sở dữ liệu cho người dùng cá nhân và máy móc

Bạn có thể sửa đổi các cài đặt của cơ sở dữ liệu MSI cho người dùng và máy

móc.

ThinApp cài đặt cơ sở dữ liệu MSI trên tất cả các máy. Bạn có thể thay đổi cài

đặt mặc định với giá trị các tham số sau:

+ Để tạo ra một cơ sở dữ liệu cài đặt cho người dùng cá nhân, sử dụng giá trị 0

cho tham số MSIDefaultInstallAllUsers trong file Package.ini. Giá

trị này tạo ra tham số msiexec cho mỗi người dùng.

+ Để cho phép các quản trị viên tạo ra một cơ sở dữ liệu cài đặt cho tất cả

người dùng trên máy tính, hoặc để cho phép một người dùng cá nhân mà

không có quyền quản trị để tạo ra một cài đặt duy nhất cho người dùng đó, sử

dụng một giá trị của 2 cho tham số MSIDefaultInstallAllUsers.

Administrators thuộc về nhóm Administrators Active Directory.

Để biết thêm thông tin về các tham số MSIDefaultInstallAllUsers,

tham khảo ThinApp Package.ini Parameters Reference Guide.

Ép triển khai MSI cho mỗi người dùng hoặc mỗi máy

Bất kể các giá trị tham số quy định tại thời điểm xây dựng, bạn có thể ghi đè

lên các thiết lập MSI tại thời gian triển khai.

Ví dụ, nếu bạn tạo ra cơ sở dữ liệu với giá trị là 1 cho các tham số

MSIDefaultInstallAllUsers, bạn vẫn có thể ép triển khai người sử

dụng cá nhân cho Firefox 3.0 với lệnh msiexec /i Firefox30.msi

ALLUSERS=""

Page 40: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Nếu bạn sử dụng đối số ALLUSERS="" cho lệnh msiexec, ThinApp chiết xuất

các file thực thi đã capture vào thư mục người dùng %AppData%.

Ép triển khai MSI cho người dùng cá nhân hoặc cho tất cả người dùng

trên một máy

+ (Tùy chọn) Từ dòng lệnh, gõ lệnh msiexec /i <database>.msi

ALLUSERS="" để ép triển khai cho người dùng cá nhân.

+ (Tùy chọn) Từ dòng lệnh, gõ lệnh msiexec /i <database>.msi

ALLUSERS=1 để ép triển khai cho tất cả người dùng trên một máy.

Ghi đè lên thư mục cài đặt MSI

Bạn có thể sử dụng lệnh msiexec để ghi đè lên thư mục cài đặt mặc định

MSI.

Khi ThinApp thực hiện triển khai MSI trên một máy tính cá nhân, thư mục cài

đặt mặc định là địa chỉ hóa tương đương của

%ProgramFilesDir%\<inventory_name> (VMware ThinApp). Nếu bạn cài đặt

một Firefox gói cho từng máy, gói nằm trong %ProgramFilesDir%\Mozilla

Firefox (VMware ThinApp).

Khi ThinApp thực hiện một triển khai MSI cho người dùng cá nhân, thư mục

cài đặt mặc định là %AppData%\<inventory_name> (VMware ThinApp).

Trong cả hai trường hợp, bạn có thể ghi đè lên thư mục cài đặt bằng cách

thông qua một thuộc tính INSTALLDIR đến lệnh msiexec.

Ghi đè lên thư mục cài đặt MSI

Từ dòng lệnh, gõ lệnh msiexec /i <database>.msi

INSTALLDIR=C:\<my_directory>\<my_package>

Trang 35

Triển khai file MSI trên Microsoft Vista

Khi bạn triển khai các file MSI trên Vista, bạn phải chỉ định trình cài đặt có

cần đặc quyền nâng cao không. Trình cài đặt người dùng cá nhân điển hình

không yêu cầu quyền nâng cao nhưng cài đặt máy tính cá nhân yêu cầu đặc

quyền này.

ThinApp cung cấp tham số MSIRequireElevatedPrivileges trong

file Package.ini quy định sự cần thiết của quyền nâng cao khi giá trị là 1. Xác

định giá trị 1 cho tham số này hay ép buộc một trình cài đặt cá nhân từ dòng

lệnh có thể tạo ra nhắc nhở UAC. Xác định giá trị 0 cho tham số này ngăn nhắc

nhở UAC nhưng sự triển khai sẽ thất bại cho trình cài đặt toàn máy.

Kiểm soát khả năng truy cập ứng dụng với Active Directory Bạn có thể kiểm soát quyền truy cập vào ứng dụng bằng cách sử dụng các nhóm

Active Directory.

Page 41: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Khi bạn xây dựng một gói, ThinApp chuyển đổi tên nhóm Active Directory vào các

giá trị Security Identifier (SID). Một SID là một giá trị nhị phân nhỏ xác định duy nhất

một đối tượng. Giá trị SID là không duy nhất cho một vài nhóm, như nhóm quản trị.

Bởi vì ThinApp chứa các giá trị SID trong gói cho việc xác nhận tương lai, những cân

nhắc sau đây áp dụng cho việc sử dụng Active Directory:

+ Bạn phải kết nối với miền Active Directory của bạn trong quá trình xây dựng và các

nhóm bạn chỉ định phải tồn tại. ThinApp tìm giá trị SID trong lúc xây dựng ứng dụng.

+ Nếu bạn xóa một nhóm và tái tạo nó, SID có thể thay đổi. Trong trường hợp này,

xây dựng lại các gói xác thực đối với các nhóm mới.

+ Khi người sử dụng offline, ThinApp có thể xác thực chúng bằng các thông tin được

lưu trữ. Nếu người dùng có thể đăng nhập vào máy của họ, xác thực vẫn hoạt động. Sử

dụng một chính sách nhóm để thiết lập khoảng thời gian khi lưu trữ thông tin là hợp

lệ.

+ Thông tin lưu trữ có thể không làm mới về khách hàng cho đến khi chu kỳ tiếp theo

Active Directory làm mới. Bạn có thể ép buộc một chính sách nhóm cho khách hàng

bằng cách sử dụng lệnh gpupdate. Lệnh này làm mới chính sách nhóm địa phương,

chính sách nhóm, và các thiết lập bảo mật được lưu trữ trong Active Directory. Bạn có

thể đăng xuất trước khi thông tin Active Directory được recached.

+ Một số nhóm, như nhóm Administrators và nhóm Everyone, có SID giống nhau

trên mỗi miền Active Directory và nhóm làm việc. Các nhóm khác mà bạn tạo ra có

một miền SID cụ thể. Người sử dụng không thể tạo ra các nhóm địa phương của họ

với cùng tên gọi bởi bỏ qua xác thực.

+ Active Directory Domain Services xác định các nhóm an ninh và nhóm phân phối.

Nếu bạn sử dụng nhóm lồng nhau, ThinApp chỉ có thể hỗ trợ các nhóm bảo mật lồng

nhau.

Các tham số Package.ini cho việc kiểm soát khả năng truy cập ứng dụng Active

Directory

ThinApp cung cấp tham số PermittedGroups trong file Package.ini để

kiểm soát truy cập Active Directory.

Khi bạn bắt đầu một ứng dụng đã capture, tham số PermittedGroups kiểm

tra xem một người dùng có là thành viên của một nhóm quy định Active

Directory không. Nếu người sử dụng không phải là một thành viên của nhóm

Active Directory, ThinApp không khởi động ứng dụng. Để biết thông tin về

hạn chế các gói cho các nhóm Active Directory, xem "PermittedGroups" trên

trang 69.

Trong mục Package.ini sau, App1 và App2 kế thừa các giá trị

PermittedGroups. [BuildOptions]

PermittedGroups=Administrators;OfficeUsers

Page 42: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

[App1.exe]

...

..

[App2.exe]

...

...

Trang 36

Trong các mục sau đây, chỉ những người dùng thuộc nhóm App1users có thể

sử dụng các file App1.exe, và các thành viên nhóm Everyone có thể sử dụng

các file App2.exe. Thông điệp mặc định cho người dùng bị từ chối thay đổi

của App1. [BuildOptions]

PermittedGroups=Everyone

[App1.exe]

PermittedGroups=App1Users

AccessDeniedMsg=Sorry, you can’t run this application

..

[App2.exe]

...

Bắt đầu và dừng dịch vụ ảo Khi bạn capture và triển khai một gói có chứa một dịch vụ Windows, chẳng hạn như

dịch vụ máy chủ SQL, bất kỳ người dùng có thể chạy gói phần mềm và bắt đầu và

dừng dịch vụ. Không giống như các ứng dụng bản địa, các ứng dụng ảo không yêu

cầu quyền quản trị cho các hoạt động này.

Tự động khởi động cho các dịch vụ ảo

Bạn có thể cài đặt một dịch vụ ảo như một dịch vụ vật lý, để mà khi nó bắt đầu

thì máy vật lý cũng được bắt đầu. Dịch vụ ảo vẫn còn trong gói dự án

ThinApp, nhưng được đăng ký trên máy vật lý và kiểm soát bằng cách sử dụng

các công cụ quản lý dịch vụ cài đặt bản địa.

Sau khi bạn đóng gói dịch vụ của bạn, ví dụ Apache Server, bạn đăng ký nó

trên máy vật lý, sử dụng ứng dụng ThinReg.exe. Dịch vụ này được tạo ra như

là một dịch vụ bản xứ, sử dụng thông tin từ registry ảo. Dịch vụ này hiện có

sẵn cho tất cả người dùng sử dụng ứng dụng ảo. Dịch vụ này không dành cho

người sử dụng cụ thể.

Quá trình này bao gồm các nhiệm vụ sau đây:

+ Capture các dịch vụ bằng cách sử dụng ThinApp

+ Đăng ký dịch vụ trên máy vật lý bằng cách sử dụng ThinReg

Tạo một dịch vụ ảo để khởi động tự động

Page 43: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

1. Trên một máy tính cục bộ sạch, sử dụng ThinApp để capture các dịch vụ.

2. Sau khi quá trình postscan hoàn tất, trong hộp thoại Setup Capture – Ready

to Bulid, nhấp Edit Package.ini.

Các file Package.ini mở ra trong một trình soạn thảo văn bản.

3. Tìm kiếm các entry dịch vụ.

Mục này sẽ được theo sau bởi tên của dịch vụ mà bạn đã capture.

Theo mặc định, các mục này được loại bỏ (comment out).

4. Hủy bỏ các dấu chấm phẩy (;) từ đầu dòng.

5. Lưu file Package.ini.

6. Xây dựng dự án ThinApp.

Bây giờ bạn có thể đăng ký dịch vụ ảo của bạn để nó có thể được quản lý bằng

cách sử dụng các công cụ quản lý dịch vụ bản địa.

Đăng ký dịch vụ ảo trên một máy

1. Chạy ứng dụng ThinReg.exe.

2. Tại dòng lệnh, gõ C:\Program Files\VMware\VMware

ThinApp\ThinReg /a *.exe.

Bạn phải sử dụng /a để đăng ký dịch vụ. Nếu bạn chạy ThinApp không có tùy

chọn này, dịch vụ sẽ không được đăng ký.

Bạn có thể thay đổi đường dẫn, nếu cần thiết cho hệ thống của bạn.

Trang 37

3. Từ menu Start, chọn Programs > Administrative Tools > Services.

Ứng dụng dịch vụ ảo của bạn xuất hiện trong danh sách các dịch vụ.

Bạn có thể quản lý các dịch vụ theo cách tương tự như bất kỳ dịch vụ cài đặt

bản địa.

Sử dụng gói ThinApp được Stream từ mạng Bất kỳ thiết bị lưu trữ mạng có thể phục vụ như là một máy chủ streaming cho hàng

trăm hoặc hàng ngàn máy tính khách. Xem Hình 3-1.

Hình 3-1. Data Block Streaming over a Network Share

Page 44: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trên desktop của người dùng cuối, bạn có thể tạo các shortcut dẫn đến các gói file

thực thi được đặt ở trung tâm.

Khi người dùng nhấp chuột vào shortcut, ứng dụng bắt đầu truyền vào máy tính của

khách hàng. Trong lần khởi động cấu hình stream ban đầu, thanh trạng thái ThinApp

thông báo cho người dùng về tiến trình.

Làm thế nào một ứng dụng ThinApp Streaming hoạt động

Khi bạn đặt các file thực thi ThinApp đã được nén trên một mạng chia sẻ hoặc

ổ đĩa USB flash, nội dung từ các file thực thi stream đến các máy khách trong

một hình mẫu dựa trên khối. Nếu một ứng dụng yêu cầu cụ thể các phần của

file dữ liệu, ThinApp đọc thông tin này ở định dạng nén qua mạng bằng chuẩn

giao thức chia sẻ file Windows. Để minh họa, xem Hình 3-2.

Sau khi một máy tính khách hàng nhận được dữ liệu, ThinApp giải nén dữ liệu

trực tiếp vào bộ nhớ. Bởi vì ThinApp không ghi dữ liệu vào đĩa, quá trình này

là nhanh chóng. Một gói lớn không nhất thiết phải mất một thời gian dài để

nạp từ mạng và kích thước gói không ảnh hưởng đến thời gian khởi động của

ứng dụng. Nếu bạn thêm một file 20GB vào một gói mà nó không được sử

dụng tại thời điểm ứng dụng chạy, tải gói cùng tốc độ. Nếu ứng dụng sẽ mở ra

và đọc 32KB dữ liệu từ các file 20GB, ThinApp chỉ yêu cầu 32KB dữ liệu.

Các máy khách ThinApp đang hoạt động là một phần nhỏ của gói file thực thi.

Khi ThinApp tải máy khách đang hoạt động, nó cài đặt môi trường và bắt đầu

file thực thi đích. File thực thi đích này truy cập vào các bộ phận khác nhau

của ứng dụng được lưu trữ trong hệ điều hành ảo. Máy khách đang chạy ứng

dụng sẽ chặn các yêu cầu như vậy bằng cách tải các file DLL từ hệ điều hành

ảo.

Page 45: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Thời gian tải của máy khách đang chạy ứng dụng trên một mạng lưới là một

vài mili giây. Sau khi ThinApp tải máy khách ở thời điểm chạy đến bộ nhớ

trên máy tính của khách hàng, máy tính của người dùng cuối sẽ tính toán

những khối dữ liệu được yêu cầu từ máy chủ và đọc chúng dựa trên hoạt động

ứng dụng.

Khi ứng dụng tạo ra các yêu cầu đọc đến cùng một dữ liệu sau đó, bộ nhớ

cache đĩa Windows cung cấp dữ liệu mà không đòi hỏi một mạng lưới hoạt

động đọc. Nếu máy tính của khách hàng sử dụng bộ nhớ, Windows sẽ loại bỏ

một số bộ nhớ cache đĩa của nó và cung cấp các nguồn tài nguyên bộ nhớ cho

các ứng dụng khác.

Trang 38

Hình 3-2. Application Streaming

Yêu cầu và kiến nghị cho các gói Streming

ThinApp không yêu cầu phần mềm máy chủ cụ thể để cung cấp khả năng

streaming. Bất kỳ file chia sẻ Windows. Thiết bị NAS, hoặc chia sẻ SMB có

thể cung cấp khả năng này. Số lượng dữ liệu mà cần phải chuyển trước ứng

dụng có thể bắt đầu hoạt động khác nhau đối với mỗi ứng dụng. Microsoft

Office đòi hỏi mà chỉ có một phần nhỏ của nội dung gói stream trước khi một

ứng dụng có thể chạy.

VMware khuyến cáo bạn sử dụng ThinApp streaming trong một môi trường

dựa trên mạng LAN với tối thiểu 100MB. Đối với WAN và Internet có liên

Page 46: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

quan đến việc triển khai thường xuyên ngắt kết nối hoặc bất ngờ, VMware

khuyến cáo một trong những giải pháp sau đây:

+ Sử dụng một URL để triển khai các ứng dụng.

+ Sử dụng một giải pháp triển khai desktop để đẩy gói đến nền. Cho phép các

ứng dụng chạy chỉ sau khi tải toàn bộ gói.

Những giải pháp này làm giảm việc rớt và loại trừ các tình huống trong đó ứng

dụng đòi hỏi unstreamed một phần trong thời gian mất mạng. Một công ty có

nhiều chi nhánh văn phòng thường chỉ định một ứng dụng kho mà nó trỏ đến

một thư mục chia sẻ trung tâm tại mỗi chi nhánh văn phòng. Thiết lập này sẽ

tối ưu hóa hiệu suất địa phương cho các máy khách nằm tại mỗi văn phòng chi

nhánh.

Kiến nghị bảo mật cho gói streaming

VMware khuyên bạn nên tạo một thư mục chia sẻ trung tâm cho gói chỉ đọc.

Người dùng có thể đọc nội dung gói nhưng không thay đổi các nội dung file

thực thi. Khi một gói stream từ một vị trí được chia sẻ, ThinApp lưu những

thay đổi ứng dụng trong sandbox của người dùng. Vị trí mặc định sandbox là

%AppData%\Thinstall\<application_name>. Bạn có thể cấu hình vị trí

sandbox trong thời gian chạy hoặc ở thời điểm đóng gói.

Một cấu hình thông thường là đặt sandbox của người dùng trên một thiết bị lưu

trữ trung tâm. Người dùng có thể sử dụng máy tính bất kỳ và giữ các thiết lập

ứng dụng cá nhân tại một phần trung tâm. Khi các gói stream từ một trung tâm

chia sẻ, nó vẫn bị khóa cho đến khi tất cả người sử dụng thoát khỏi ứng dụng.

Trang 39

Stream các gói ThinApp từ Mạng

Người dùng có thể truy cập các ứng dụng được đóng gói qua mạng.

Gói Stream từ mạng

1. Đặt gói ThinApp ở một vị trí có thể truy cập vào các máy tính của khách

hàng.

2. Gửi một liên kết để người dùng chạy ứng dụng trực tiếp.

Sử dụng Captured Applications với những thành phần hệ thống khác Các ứng dụng đã capture có thể tương tác với các thành phần khác được cài đặt trên

máy tính để bàn.

Thực hiện hoạt động Paste

Xem lại các thao tác cắt dán sau và hạn chế với ThinApp:

+ Dán nội dung từ các ứng dụng được cài đặt trên hệ thống đến các ứng

dụng đã capture - hoạt động dán này là không giới hạn. Ứng dụng ảo có thể

nhận được bất kỳ định dạng clipboard tiêu chuẩn, chẳng hạn như văn bản, đồ

Page 47: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

họa, và HTML. Các ứng dụng ảo có thể nhận Object Linking and Embedding

(OLE) đối tượng.

+ Dán từ các ứng dụng đã capture đến các ứng dụng hệ thống - ThinApp

chuyển đổi đối tượng OLE tạo trong các ứng dụng ảo đến các đối tượng bản

địa hệ thống khi bạn dán chúng vào các ứng dụng bản địa.

Truy cập máy in

Một ứng dụng đã capture có quyền truy cập vào bất kỳ máy in được cài đặt

trên máy tính mà nó đang chạy. Các ứng dụng đã capture và các ứng dụng

được cài đặt trên các hệ thống vật lý đều có cùng khả năng in ấn.

Bạn không thể sử dụng ThinApp để ảo hóa drivers máy in. Bạn phải tự cài đặt

drivers máy in trên một máy tính.

Truy cập Drivers

Một ứng dụng đã capture có quyền truy cập vào bất kỳ thiết bị drivers được cài

đặt trên máy tính mà nó đang chạy. Các ứng dụng đã capture và các ứng dụng

cài đặt trên các hệ thống vật lý có mối quan hệ tương tự với thiết bị drivers.

Nếu một ứng dụng đòi hỏi phải có một thiết bị drivers, bạn phải cài đặt các

drivers riêng biệt từ gói ThinApp.

Đôi khi, một ứng dụng không cần một sự liên kết driver cũng có thể hoạt động

nhưng với một số hạn chế. Ví dụ, Adobe Acrobat cài đặt một driver máy in cho

phép kích hoạt rộng rãi các ứng dụng hệ thống để render các file PDF bằng

cách sử dụng một cơ chế in. Khi bạn sử dụng một phiên bản của Adobe

Acrobat đã capture, bạn có thể sử dụng nó để tải, chỉnh sửa, và lưu PDF file

mà không cần cài đặt drivers máy in. Các ứng dụng khác không phát hiện một

drivers máy in mới, trừ khi driver được cài đặt.

Truy cập vào Local Disk, Disk Removable, và Network Shares

Khi bạn tạo ra một cấu trúc dự án, ThinApp cấu hình chế độ cách ly cho các

thư mục và registry. Các chế độ cách ly kiểm soát những thư mục mà ứng

dụng có thể đọc và viết lên trên máy tính địa phương.

Xem lại các tùy chọn cấu hình mặc định được mô tả trong Bảng 3-2.

Bảng 3-2. Default Configuration Options

Thành phần Miêu tả

Hard disk Một ví dụ của một đĩa cứng là C:\. Chế độ cách ly được chọn

trong quá trình capture ảnh hưởng đến truy cập. Người dùng

có thể viết đến thư mục Desktop của họ và thư mục My

Documents. Những thay đổi khác mà ứng dụng tạo ra đi vào

sandbox của người dùng. Vị trí mặc định của sandbox là

trong thư mục Application Data.

Removable disk Theo mặc định, bất kỳ người dùng nào có quyền truy cập có

thể đọc hoặc viết thư cho bất kỳ vị trí trên một ổ đĩa di động.

Page 48: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Network mapped

drives

Theo mặc định, bất kỳ người dùng nào có quyền truy cập có

thể đọc hoặc viết thư cho bất kỳ vị trí trên mạng được ánh xạ

ổ đĩa.

UNC network paths Theo mặc định, bất kỳ người dùng nào có quyền truy cập có

thể đọc hoặc viết thư cho bất kỳ vị trí trên một đường dẫn

mạng UNC.

Trang 40

Truy cập vào Registry

Theo mặc định, các ứng dụng đã capture có thể đọc toàn bộ hệ thống registry

khi được cho phép bởi quyền truy cập. Một phần chỉ định của registry được

cách ly khỏi hệ thống trong quá trình tạo gói. Sự cách ly này làm giảm xung

đột giữa các phiên bản khác nhau của ứng dụng ảo và các ứng dụng hệ thống

được cài đặt. Theo mặc định, ThinApp lưu tất cả các sửa đổi trên hệ thống

registry từ các ứng dụng đã capture trong một vùng cách ly và hệ thống vẫn

không thay đổi.

Truy cập Networking và Sockets

Ứng dụng đã capture có quyền truy cập chuẩn vào các tính năng mạng. Ứng

dụng đã capture có thể liên kết với các cổng địa phương và tạo các kết nối từ

xa nếu người dùng có quyền truy cập để thực hiện các hoạt động này.

Sử dụng Shared Memory và Named Pipes

Ứng dụng đã capture có thể tương tác với các ứng dụng khác trên hệ thống

bằng cách sử dụng bộ nhớ chia sẻ, named pipes, các đối tượng mutex, và

semaphores.

ThinApp có thể cách ly các đối tượng chia sẻ bộ nhớ và các đối tượng đồng bộ

hóa. Sự cách ly này làm cho chúng vô hình với các ứng dụng khác, và các đối

tượng ứng dụng khác là vô hình với một ứng dụng đã capture.

Sử dụng COM, DCOM, và Out-of-Process COM Components

Ứng dụng đã capture có thể tạo điều khiển COM từ môi trường ảo và hệ thống.

Nếu một điều khiển COM được cài đặt như là một COM out-of-process, điều

khiển này chạy như một quá trình ảo khi một ứng dụng đã capture sử dụng nó.

Bạn có thể kiểm soát sửa đổi mà các ứng dụng đã capture tạo ra.

Khởi động dịch vụ

Các ứng dụng đã capture có thể bắt đầu và chạy các dịch vụ hệ thống được cài

đặt và các dịch vụ ảo. Dịch vụ hệ thống chạy trong các môi trường ảo để kiểm

soát các sửa đổi mà các dịch vụ có thể tạo ra.

Sử dụng File Type Associations

Các ứng dụng đã capture có thể chạy các ứng dụng hệ thống được cài đặt bằng

cách sử dụng file type associations. Bạn có thể thêm các file type associations

Page 49: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

vào hệ thống registry cục bộ để trỏ đến các file thực thi đã capture cho người

dùng cá nhân và máy móc.

Trang 41

Ví dụ cấu hình cho chế độ cách ly phụ thuộc vào bối cảnh triển khai Chế độ cách ly điều khiển quyền đọc và viết cho các thư mục hệ thống cụ thể và các

khóa registry con.

Bạn có thể điều chỉnh chế độ cách ly để giải quyết các vấn đề trong Bảng 3-3.

Bảng 3-3. Sample Problems and Solutions That Use Isolation Modes

Vấn đề Giải pháp

Một ứng dụng không chạy

được vì các phiên bản trước

đó hoặc tương lai tồn tại

đồng thời hoặc không gỡ bỏ

đúng.

Sử dụng chế độ cách ly Full.

ThinApp ẩn file máy tính chủ và các khóa registry từ ứng

dụng khi các file máy chủ được đặt trong thư mục tương tự

và khoá con mà bộ cài đặt ứng dụng tạo ra.

Đối với các thư mục và các khóa con ở chế độ cách ly Full,

các ứng dụng chỉ phát hiện các file ảo và khóa con ảo. Bất kỳ

giá trị hệ thống đang tồn tại trong cùng một vị trí đều vô hình

với ứng dụng.

Một ứng dụng rớt vì người

dùng không thiết kế hoặc

kiểm tra nó cho một môi

trường nhiều người dùng.

Ứng dụng rớt trong việc sửa

đổi các file và các khóa mà

không ảnh hưởng

người sử dụng khác.

Sử dụng chế độ cách ly WriteCopy.

ThinApp tạo các bản sao của các khóa registry và các file mà

ứng dụng viết và thực hiện tất cả các thay đổi trong một

sandbox của người dùng cụ thể.

Đối với các thư mục và các khóa con có chế độ cách ly

WriteCopy, ứng dụng nhận ra các file máy chủ và các file ảo.

Tất cả các hoạt động viết sẽ chuyển các file máy chủ vào file

ảo trong sandbox.

Một ứng dụng rớt vì nó có

quyền viết đến các địa điểm

toàn cầu và không được thiết

kế cho môi trường một máy

tính để bàn bị khóa xuống

được tìm thấy trong một

thiết lập doanh nghiệp hay

trên Windows Vista.

Sử dụng chế độ cách ly WriteCopy.

ThinApp tạo ra các bản sao của các khóa registry và các file

mà ứng dụng viết và thực hiện tất cả các thay đổi trong một

sandbox người dùng cụ thể.

Đối với các thư mục và các khóa con có chế độ cách ly

WriteCopy, ứng dụng nhận ra các file máy chủ và các file ảo.

Tất cả các hoạt động viết sẽ chuyển các file máy chủ vào file

ảo trong sandbox.

Xem các ảnh hưởng của các chế độ cách ly trên Registry của Windows

Hình 3-3 cho thấy một phần của registry Windows trên một máy tính có ứng

dụng Microsoft Office cũ cài đặt. Microsoft Office 2003 tạo ra các khóa con

registry HKEY_LOCAL_MACHINE\Software\Microsoft\Office\11.0

Hình 3-3. Windows Registry as Seen by Windows Regedit

Page 50: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Khi ThinApp chạy một phiên bản đã capture của Microsoft Visio 2007,

ThinApp thiết lập toàn bộ nhánh registry

HKLM\Software\Microsoft\Office đến chế độ cách ly Full. Thiết lập

này ngăn cản Microsoft Visio 2007 khỏi việc rớt vì các thiết lập registry có thể

đã tồn tại trước đó trên máy tính chủ tại cùng một vị trí.

Trang 42

Hình 3-4. Windows Registry được xem bởi phiên bản capture Microsoft Visio

2007

ThinDirect ThinDirect là một tính năng định hướng lại trình duyệt dựa trên URL. Bạn có thể

nhập một URL trong một cửa sổ trình duyệt và gián tiếp truy cập nó để mở trong trình

duyệt khác. Tính năng này cho phép tự động tái định hướng các URL để chiếm đoạt

trình duyệt (bản địa hay ảo) mà không bị gián đoạn sự liên tục của công việc.

Page 51: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Chức năng ThinDirect hoạt động bằng cách cài đặt một phần mở rộng (plug-in hay

add-on) trong trường hợp của một trình duyệt bản địa nơi mà có thể khởi chạy trình

duyệt ảo hóa bằng cách điều hướng đến các URL cụ thể được xác định trước.

Giải nén và đăng ký ThinDirect

Sau khi bạn đã xây dựng các gói trình duyệt, bạn cần trích xuất và đăng ký

plug-in ThinDirect trên các máy thử nghiệm. Các plug-in ThinDirect phải được

cài đặt như một phần của gói ảo. Các plug-in được cài đặt trong trình duyệt của

mẹ đẻ của bạn trong quá trình đăng ký.

Trích xuất và đăng ký ThinDirect

Nếu bạn đang sử dụng trình duyệt Internet Explorer 6, trong giao diện điều

khiển, chạy lệnh thinreg /a VirtIE6.exe để trích xuất ứng dụng

ThinDirect, chiết xuất và đăng ký các thư viện ThinDirect.

Ứng dụng ThinDirect được cài đặt trong thư mục Program

Files/VMware/VMware ThinApp/ThinDirect.

Bạn có thể có nhiều file văn bản ThinDirect trong thư mục ThinDirect, nếu tất

cả họ đều có tên riêng. Plug-in ThinDirect sẽ đọc tất cả các file đó.

Ngoài việc đăng ký máy tính cá nhân, bạn có thể đăng ký chuyển hướng trang

web trên cơ sở người dùng cá nhân bằng cách bỏ qua chuyển đổi /a. Người sử

dụng cá nhân chuyển hướng yêu cầu plug-in ThinDirect được cài đặt như một

bước riêng biệt từ một tài khoản Administrator. Nếu bạn không cài đặt plug-in

ThinDirect ở một bước riêng biệt, Thinreg sẽ hiển thị một lỗi.

Bạn có thể đẩy trang web thêm chuyển hướng đến người dùng cuối của máy

tính bằng cách sao chép các file với một định dạng cụ thể đến máy tính cá nhân

cụ thể hoặc địa điểm người sử dụng cá nhân.

Sử dụng ThinDirect

+ Plug-in ThinDirect có thể được sử dụng với các trình duyệt Internet

Explorer và Mozilla Firefox: Đối với việc sử dụng ThinDirect ở bất kỳ trình

duyệt nào, sau khi bạn thực hiện các hành động Thinreg, kích hoạt cài đặt /add-

on plug-in ThinDirect.

Trang 43

+ Chuyển hướng trang Web từ trình duyệt ảo: ThinDirect hỗ trợ chuyển

hướng lại các trang web mà nó không tương thích với các trình duyệt ảo. Điều

này là có sẵn cho Internet Explorer và Mozilla Firefox. Một danh sách các

URL được duy trì để hỗ trợ quá trình chuyển hướng các tên miền không tương

thích và các trang chỉ định.

Ví dụ, nếu một URL của một trang Web được nhập vào trong một trình duyệt

Internet Explorer ảo mà không tương thích, danh sách có thể tạo điều kiện để

Page 52: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

mở trang này trong trình duyệt Firefox ảo ThinDirect. Trang Web chuyển

hướng được hỗ trợ trong các trình duyệt bản địa và ảo như sau:

Bảng 3-4.

Internet Exporer Mozilla Firefox Others

Internet Exporer Yes Yes Yes

Mozilla Firefox Yes Yes Yes

Others No No No

+ Ghi đề thiết lập ThinDirect thông qua một Group Policy Object (GPO):

Bạn có thể quản lý các thiết lập cho tính năng ThinDirect bằng cách định nghĩa

một Group Policy Object. Trong thư mục cài đặt ThinApp, bạn có thể tìm thấy

các file ThinDirect.admx và ThinDirect.adml mà có thể được sử dụng để

định nghĩa một GPO. Nếu một tính năng ThinDirect được định nghĩa thông

qua một GPO, các thiết lập này ghi đè hoặc thêm một thiết lập mới lên file văn

bản (ThinDirect.txt) dựa trên các cài đặt chuyển hướng.

Ví dụ, nếu một GPO được định nghĩa như một URL nên mở trong trình duyệt

ảo Mozilla Firefox, mặc cho các trình duyệt Internet Explorer có thể mở nó, nó

sẽ được chuyển hướng tới trình duyệt ảo Mozilla Firefox như là mục GPO ghi

đè lên các file văn bản dựa trên chuyển hướng.

+ Buộc ThinDirect cập nhật định kỳ: Định kỳ ThinDirect có thể thăm dò ý

kiến cho việc thay đổi thiết lập. Bạn có thể nhập URL trang web mà cần phải

được xử lý bởi trình duyệt ảo tại bất kỳ lúc nào trong file ThinDirect.txt.

Những cài đặt ThinDirect lúc này được phát hiện tự động và bạn không cần

phải khởi động lại trình duyệt để xem thay đổi.

Trang 44

Trang 45

4. Updating and Linking Applications Bạn có thể cập nhật các ứng dụng ảo với nhiều công cụ khác nhau tùy thuộc vào mức

độ của sự thay đổi và phụ thuộc vào các ứng dụng khác.

Chương này bao gồm các chủ đề sau:

+ "Cập nhật ứng dụng cho người sử dụng" trên trang 45

+ "Cập nhật ứng dụng cho người quản trị" trên trang 52

+ "Tự động cập nhật ứng dụng" trên trang 55

+ "Nâng cấp ứng dụng đang chạy trên một mạng chia sẻ" trên trang 56

+ "Đồng bộ ứng dụng bằng Group Policy Object" trên trang 57

+ "Cân nhắc Sandbox cho các ứng dụng nâng cấp" trên trang 58

Page 53: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Cập nhật ứng dụng cho người sử dụng ThinApp cung cấp các công cụ Application Sync và Application Link để cập nhật

các ứng dụng với phiên bản mới hoặc các thành phần mới. Công cụ Application Sync

cập nhật toàn bộ gói ứng dụng.

Công cụ Application Link giữ các thành phần chia sẻ hoặc các ứng dụng phụ thuộc

vào những gói riêng biệt.

Application Sync Updates

Công cụ Application Sync giữ các ứng dụng ảo được triển khai cập nhập mới.

Khi một ứng dụng bắt đầu với công cụ này được kích hoạt, ứng dụng truy vấn

một máy chủ Web để quyết định xem một phiên bản cập nhật của file thực thi

có sẵn không. Nếu có bản cập nhật, sự khác biệt giữa gói hiện có và gói phần

mềm mới được tải về và sử dụng để xây dựng một phiên bản cập nhật của gói.

Gói phần mềm cập nhật được sử dụng cho lần khởi động trong tương lai.

Công cụ Application Sync hữu ích cho những bản cập nhật cấu hình lớn của

ứng dụng. Ví dụ, bạn có thể cập nhật Firefox lên phiên bản lớn tiếp theo.

Người dùng từ xa hoặc người dùng không kết nối với các doanh nghiệp mạng

có thể sử dụng công cụ Application Sync bằng cách nhúng các cài đặt bản cập

nhật trong các gói và sử dụng bất kỳ máy chủ Web để lưu trữ các phiên bản

cập nhật của gói.

Sử dụng Application Sync trong một môi trường được quản lý hoặc không

được quản lý

Nếu bạn sử dụng các ứng dụng ảo mà cập nhật tự động trong một môi trường

máy tính được quản lý, đừng sử dụng công cụ Application Sync vì nó có thể

xung đột với khả năng cập nhật khác.

Nếu tính năng cập nhật tự động cập nhật ứng dụng, bản cập nhật sẽ tồn tại

trong sandbox. Nếu công cụ Application Sync cố gắng để cập nhật các ứng

dụng sau khi một bản cập nhật ứng dụng tự động, phiên bản cập nhật được lưu

trữ trong sandbox được ưu tiên hơn các file chứa trong các phiên bản cập nhập

của Application Sync. Thứ tự ưu tiên để cập nhật các file là các file trong

sandbox, hệ điều hành ảo, và các máy vật lý.

Nếu bạn có một môi trường không quản lý mà không cập nhật các ứng dụng tự

động, sử dụng công cụ Application Sync để cập nhật các ứng dụng.

Trang 46

Cập nhật Firefox 2.0.0.3 lên Firefox 3 với Application Sync

Ví dụ này cho thấy quá trình cập nhật với Application Sync cho Firefox.

Quá trình cập nhật liên quan đến việc sửa đổi các file Package.ini. Tham số

AppSyncURL đòi hỏi một đường dẫn URL.

Page 54: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

ThinApp hỗ trợ HTTP, HTTPS, và các giao thức file. Để biết thông tin về tất

cả các tham số Application Sync, tham khảo ThinApp Package.ini Parameters

Reference Guide.

Cập nhật Firefox 2.0.0.3 lên Firefox 3

1. Capture Firefox 2.0.0.3 và Firefox 3 thành các gói riêng biệt.

2. Xác minh rằng tên primay data container là giống nhau cho cả hai gói.

Pimary data container, được xác định trong quá trình Setup Capture, là các file

có chứa các file ảo của hệ thống file và registry ảo. Nếu bạn có một gói Firefox

2.0.0.3 với Mozilla Firefox 2.0.0.3.exe là tên của primay data container, và

bạn có một gói Firefox 3 với Mozilla Firefox 3.dat là tên của primay data

container, thay đổi tên của tham số Shortcut đến một tên chung. Ví dụ, bạn

có thể sử dụng cùng một tên Firefox.exe.

3. Sửa đổi file Package.ini trong mỗi gói.

a. Mở file Package.ini nằm trong thư mục ứng dụng đã capture.

Ví dụ, một đường dẫn Firefox 2.0.0.3 đến file Package.ini có thể là C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla

Firefox 2.0.0.3\Package.ini.

b. Uncomment các tham số Application Sync bạn muốn chỉnh sửa bằng cách

loại bỏ các dấu chấm phẩy ở đầu dòng.

Bạn phải uncomment tham số AppSyncURL để kích hoạt công cụ.

c. Thay đổi giá trị của các tham số và lưu các file.

Ví dụ, bạn có thể sao chép một file thực thi của phiên bản Firefox mới nhất vào

một ổ đĩa mạng được ánh xạ và gõ đường dẫn đến vị trí đó là giá trị của tham

số AppSyncURL. Nếu Z: là ổ đĩa ánh xạ và Firefox là tên của thư mục lưu trữ

file thực thi, một đường dẫn mẫu là file:///Z:/Firefox/Firefox.exe.

Hãy chắc chắn rằng đường dẫn AppSyncURL là như nhau trong cả hai file

Package.ini và trỏ đến phiên bản cập nhập mới.

4. Trong thư mục ứng dụng đã capture, double-click vào file build.bat để xây

dựng lại gói ứng dụng.

Ví dụ, một đường dẫn Firefox 2.0.0.3 đến file build.bat có thể là C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla

Firefox 2.0.0.3\build.bat.

5. Để cập nhật Firefox 2.0.0.3 đến Firefox 3, khởi động file thực thi, ví dụ

Mozilla Firefox 2.0.0.3.exe, trong thư mục \bin.

Khi bạn khởi động ứng dụng trước khi thời gian hết hạn thiết lập ở tham số

AppSyncExpirePeriod trong file Package.ini, ThinApp tải các bản cập

nhật trong background khi bạn đang làm việc với ứng dụng. Lần tiếp theo bạn

khởi động ứng dụng, bạn có thể xem phiên bản cập nhật.

Page 55: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Khi bạn khởi động ứng dụng sau khi gói hết hạn, ThinApp tải các bản cập nhật

trong foreground và ngăn không cho bạn làm việc với ứng dụng. Khi tải về

xong, ThinApp khởi động lại ứng dụng với phiên bản mới.

Sửa chữa một bản cập nhật lỗi với Application Sync

Nếu bạn có nhiều bản cập nhập Application Sync, chẳng hạn như các bản cập

nhật của Microsoft Office, và một bản cập nhật nhất định có ảnh hưởng xấu

hoặc cần phải được rút ra, bạn có thể giải quyết vấn đề.

Sửa chữa một bản cập nhật lỗi

Đặt bản cập nhật đúng trên máy chủ mà ThinApp có thể truy cập.

Cập nhật được áp dụng vào lần sau khi mà ứng dụng được bắt đầu trên một

máy khách.

Trang 47

Hiệu ứng của Application Sync trên các file thực thi Entry Point

Công cụ Application Sync cập nhập các file thực thi Entry Point. Ví dụ, giả sử

bạn triển khai một gói Microsoft Office 2007 không bao gồm Microsoft

PowerPoint. Entry point Microsoft Office PowerPoint 2007.exe không tồn tại

đối với gói ban đầu. Nếu bạn xây dựng lại gói Microsoft Office 2007 bao gồm

Microsoft PowerPoint, và bạn sử dụng công cụ Application Sync để cập nhật

trên các máy khách, người dùng cuối có thể truy cập vào một file thực thi entry

point của Microsoft PowerPoint.

Cập nhật đăng ký thinreg.exe với Application Sync

Nếu bạn đăng ký các ứng dụng ảo trên hệ thống bằng cách sử dụng

thinreg.exe và cập nhật các ứng dụng với công cụ Application Sync, bạn có

thể cập nhật đăng ký bằng cách đặt một bản sao của thinreg.exe, nằm trong

C:\Program File\VMware\VMware ThinApp, cùng với gói cập nhật trên máy

chủ.

Duy trì tên Primay Data Container với Application Sync

Công cụ Application Sync yêu cầu tên của Primary Data Container - file lưu

trữ thông tin file ảo và registry ảo, là như nhau cho các phiên bản cũ và mới

của một ứng dụng. Ví dụ, bạn không thể có một phiên bản cũ với Microsoft

Office Excel 2003.exe là tên Primary Data Container trong khi phiên bản mới

có Microsoft Office 2007.dat là tên Primary Data Container. Để xác minh tên

của Primary Data Container, xem tham số ReadOnlyData trong file

Package.ini. Để biết thêm thông tin về primary data container, xem "Định

nghĩa các Entry Point như những shortcut vào môi trường ảo" trên trang 17.

Hoàn thành tiến trình Application Sync khi ứng dụng tạo ra các tiến trình

con

Page 56: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Khi một ứng dụng đã capture tạo ra các tiến trình con, ThinApp không thể

hoàn tất tiến trình Application Sync.

Ví dụ, bạn có thể tạo ra các gói Microsoft Office 2003 và Microsoft Office

2007, sửa đổi tham số AppSyncURL trong file Package.ini cho cả hai gói, và

sao chép gói Microsoft Office 2007 đến một máy chủ Web và các gói Microsoft

Office 2003 với một máy khách.

Nếu bạn bắt đầu gói Microsoft Office 2003 trước khi thời gian hết hạn thiết lập

trong tham số AppSyncExpirePeriod của file Package.ini, ThinApp có

thể tải về các bản cập nhật trong background khi bạn đang làm việc với ứng

dụng, nhưng là không thể hiển thị các phiên bản cập nhật lần sau khi bạn khởi

động ứng dụng. Nếu bạn bắt đầu ứng dụng sau khi gói hết hạn, ThinApp sẽ

không thể tải về các bản cập nhật trong foreground và khởi động lại các ứng

dụng khi quá trình download đã sẵn sàng.

Microsoft Office 2003 và Microsoft Office 2007 là những ví dụ của các ứng

dụng tạo ra các tiến trình con.

ThinApp có thể không thể hoàn thành cập nhập Application Sync cho đến khi

tất cả các tiến trình con dừng lại. Bạn có thể thực hiện một trong các nhiệm vụ

sau đây để giải quyết vấn đề:

+ Đăng xuất và đăng nhập vào máy tính để ngăn chặn các tiến trình con.

+ Tạo một script để kết thúc các tiến trình con.

Ví dụ, bạn có thể tạo ra một script để kết thúc tiến trình con ctfmon.exe và

mdm.exe được liên kết với Microsoft Office 2003 và Microsoft Office 2007.

+ Ngăn chặn việc khởi động của tiến trình con, chẳng hạn như tiến trình

ctfmon.exe được liên kết với ứng dụng Microsoft Office và Internet Explorer.

Ngăn chặn việc khởi động của tiến trình ctfmon.exe cho Microsoft Office

và Internet Explorer

Ngăn chặn việc khởi động của tiến trình ctfmon.exe đòi hỏi kiến thức về

sandbox ThinApp và công cụ sbmerge.exe. Để biết thông tin về công cụ

sbmerge.exe, xem "Cập nhập ứng dụng theo thay đổi thời gian thực" trên trang

54.

Trang 48

Ngăn chặn việc khởi động tiến trình ctfmon.exe

1. Nếu bạn không kích hoạt entry point cmd.exe trong quá trình capture, hãy

thiết lập 0 cho tham số Disable ở mục cmd.exe trong Package.ini và xây

dựng lại các gói với công cụ build.bat.

Điều này tạo ra một file thực thi cho entry point cmd.exe trong thư mục /bin.

2. Sao chép thư mục /bin trong thư mục ứng dụng đã capture đến một máy ảo

sạch hoặc xóa sandbox cho gói Microsoft Office.

Page 57: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

3. Double-click vào entry point cmd.exe.

4. Trong bộ xử lý lệnh Windows, chạy lệnh INTL.CPL.

5. Trong tab Language của hộp thoại Regional and Languages, bấm vào

Details.

6. Trong tab Advanced của hộp thoại Text Services and Input Languages,

chọn Turn off advanced text service.

7. Nhấn OK trong tất cả các hộp thoại mở và thoát khỏi trình xử lý lệnh

Windows đang mở.

8. Hủy đăng ký file MSIMTF.dll và MSCTF.dll với lệnh RESSRV32.EXE

/U <DLL_file>.

Xem bài viết cơ sở kiến thức 282599 trong trang web Microsoft.

9. Đóng bộ xử lý lệnh Windows.

10. Nếu máy ảo không nằm trên cùng một máy mà ThinApp được cài đặt, sao

chép sandbox từ gói đến hệ thống đóng gói.

Vị trí sandbox mặc định là %APPDATA%\Thinstall.

11. Từ dấu nhắc lệnh tiêu chuẩn về hệ thống đóng gói, sử dụng công cụ

sbmerge.exe để hợp nhất cập nhật sandbox với gói.

Một lệnh mẫu là SBMERGE APPLY -ProjectDir "C:\Program

Files\VMware\VMware ThinApp\Captures\Microsoft

Office Professional 2007" -SandboxDir

"%APPDATA%\Thinstall\Microsoft Office Pro 2007".

12. Xây dựng lại gói và thử nghiệm gói trên một máy ảo sạch để xác nhận

rằng tiến trình ctfmon.exe không còn tồn tại.

Application Link Updates

Công cụ Application Link kết nối các ứng dụng phụ thuộc ở thời điểm chạy.

Bạn có thể đóng gói, triển khai và cập nhật từng mảnh thành phần riêng rẽ chứ

không phải capture tất cả các thành phần trong cùng một gói.

ThinApp có thể liên kết lên đến 250 gói tại một thời điểm. Mỗi gói có thể có

kích thước bất kỳ.

Các công cụ Application Link là hữu ích cho các đối tượng sau đây:

+ Thư viện chia sẻ lớn và các framework - Thành phần liên kết runtime, như

.NET, JRE, hoặc drivers ODBC, với các ứng dụng phụ thuộc.

Ví dụ, bạn có thể liên kết đến một ứng dụng .NET ngay cả khi nếu máy cục bộ

nơi ứng dụng đó chạy ngăn ngừa cài đặt .NET hoặc đã có một phiên bản khác

của .NET.

Nếu bạn có nhiều ứng dụng đòi hỏi .NET, bạn có thể tiết kiệm không gian và

tạo một gói đơn .NET và trỏ các ứng dụng đến gói .NET. Khi bạn cập nhật

.NET với một sửa chữa bảo mật, bạn có thể cập nhật một gói duy nhất thay vì

nhiều gói.

Page 58: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ Thành phần add-on và plug-ins - Đóng gói và triển khai các thành phần

ứng dụng cụ thể và plug-ins riêng biệt từ các ứng dụng cơ sở.

Ví dụ, bạn có thể tách Adobe Flash Player hoặc Adobe Reader khỏi một ứng

dụng Firefox cơ sở và liên kết các thành phần.

Bạn có thể triển khai một gói Microsoft Office duy nhất đến tất cả người dùng

và triển khai các thành phần add-on cá nhân cho mỗi người dùng.

Trang 49

Nếu bạn capture Microsoft Office và cố gắng truy cập vào một file PDF đính

kèm trong môi trường ảo Microsoft Outlook, bạn có thể thiết lập Microsoft

Office để nó dò tìm một gói phần mềm Adobe Reader được liên kết trên mạng

khi Adobe Reader không có sẵn trong môi trường ảo hay vật lý ngay lập tức.

+ Bản sửa lỗi và gói service - Cập nhập liên kết đến một ứng dụng và quay trở

lại với phiên bản trước nếu người dùng gặp vấn đề đáng kể với phiên bản mới.

Bạn có thể triển khai các bản vá lỗi nhỏ cho các ứng dụng như một

file duy nhất và làm giảm nhu cầu quay lại.

Công cụ Application Link cung cấp giải pháp tiết kiệm băng thông. Ví dụ, nếu

bạn có Microsoft Office 2007 Service Pack 1 và bạn muốn cập nhật lên Service

Pack 2 mà không dùng Application Link, bạn sẽ phải chuyển 1.5Gb dữ liệu

trên mỗi máy tính để triển khai một gói mới Office 2007 Service Pack 2. Công

cụ Application Link chỉ chuyển các bản cập nhật và không phải là toàn bộ gói

đến các máy tính.

Xem các ứng dụng bằng cách dùng Application Link

Hình 4-1 cho thấy ứng dụng đang chạy với một cái nhìn hợp nhất của hệ thống,

các ứng dụng cơ sở, và tất cả các thành phần liên quan. Các file, các khóa

registry, các dịch vụ, các đối tượng COM, và các biến môi trường từ các gói

phụ thuộc có thể được nhìn thấy từ ứng dụng cơ sở.

Hình 4-1. View of the System, Base Application, and Linked Components

Using Application Link

Page 59: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Liên kết một ứng dụng cơ sở đến Microsoft .NET Framework

Xem lại quy trình làm việc mẫu này để liên kết một ứng dụng cơ sở,

MyApp.exe, đến một gói riêng biệt có chứa Microsoft .NET 2.0 Framework.

Hãy chắc chắn rằng quá trình capture ứng dụng cơ sở không bao gồm

Microsoft .NET 2.0 Framework. Để biết thông tin về quá trình capture một

ứng dụng, xem Chương 2, "Capturing Applications" trên trang 15.

Để biết thông tin về yêu cầu và tùy chọn các tham số Application Link và định

dạng trong file Package.ini, tham khảo ThinApp Package.ini Parameters

Reference Guide.

Trang 50

Liên kết một ứng dụng đến Microsoft .NET

1. Capture trình cài đặt .NET 2.0 Framework.

Trong quá trình capture, bạn phải chọn ít nhất một entry-point mà người sử

dụng có thể truy cập.

2. Đổi tên file .exe mà ThinApp đã sản xuất thành một file .dat.

Việc thay đổi này ngăn người dùng vô tình chạy ứng dụng.

Page 60: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Tên file .dat mà bạn chọn không quan trọng vì người dùng không chạy file này

trực tiếp. Ví dụ, sử dụng dotnet.dat.

3. Lưu dự án .NET đến C:\Captures\dotnet.

4. Capture ứng dụng cơ sở bằng cách sử dụng cùng hệ thống vật lý hoặc máy

ảo với .NET framework đã được cài đặt.

5. Lưu dự án đến C:\Captures\MyApp.

6. Mở file Package.ini trong thư mục ứng dụng capture của ứng dụng cơ sở.

7. Kích hoạt tham số RequiredAppLinks cho ứng dụng cơ sở bằng cách

thêm các dòng sau bên dưới mục [BuildOptions].

RequiredAppLinks=dotnet.dat

Các tham số Application Link phải tham chiếu đến primary data container của

ứng dụng mà bạn muốn liên kết đến. Bạn không thể tham chiếu đến shortcut

của các file .exe vì những file shortcut này không chứa bất kỳ các ứng dụng,

các file, hoặc các khóa registry.

8. Xây dựng gói ứng dụng .NET 2.0 và gói ứng dụng cơ sở.

a. Double-click vào file build.bat trong C:\Captures\MyApp.

b. Double-click vào file build.bat trong C:\Captures\dotnet.

Chạy các file batch này để xây dựng các gói ThinApp riêng biệt.

9. Triển khai các ứng dụng đến desktop người dùng cuối trong C:\Program

Files\MyApp.

a. Copy C:\Captures\MyApp\bin\MyApp.exe đến

\\<end_user_desktop>\<Program_Files_share>\MyApp\MyApp.exe.

b. Copy C:\Captures\dotnet\bin\cmd.exe đến

\\<end_user_desktop>\<Program_Files_share>\MyApp\dotnet.dat.

Thiết lập các liên kết lồng nhau với Application Link

ThinApp hỗ trợ liên kết lồng nhau với công cụ Application Link. Ví dụ, nếu

Microsoft Office kết nối đến gói dịch vụ và gói dịch vụ liên kết với một bản vá

lỗi, ThinApp hỗ trợ tất cả các sự phụ thuộc đó.

Thủ tục này đề cập đến AppA mà nó đòi hỏi AppB; và AppB mà nó đòi hỏi

AppC. Giả sử thư mục sau bố trí cho các thủ tục:

+ C:\AppFolder\AppA\AppA.exe

+ C:\AppFolder\AppB\AppB.exe

+ C:\AppFolder\AppC\AppC.exe

Để biết thông tin về việc thiết lập được yêu cầu và tùy chọn các tham số

Application Link trong thủ tục này, tham khảo ThinApp Package.ini

Parameters Reference Guide.

Thiết lập các liên kết lồng nhau

1. Capture ứng dụng A.

Page 61: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

2. Trong file Package.ini, chỉ định ứng dụng B như một ứng dụng liên kết yêu

cầu hoặc tùy chọn.

Ví dụ, thêm RequiredLinks=\AppFolder\AppB\AppB.exe đến file.

3. Capture Application B.

Trang 51

4. Trong file Package.ini của ứng dụng B, chỉ định ứng dụng C như là một ứng

dụng liên kết yêu cầu hoặc tùy chọn.

Ví dụ, thêm RequiredLinks=\AppFolder\AppC\AppC.exe đến file.

5. Capture Application C.

Nếu bạn bắt đầu ứng dụng A, nó có thể truy cập các file và khóa registry của

ứng dụng B và ứng dụng B có thể truy cập vào các file và khóa registry của

ứng dụng C.

Ảnh hưởng chế độ cách ly với Application Link

ThinApp tải một lớp Application Link trong quá trình khởi động ứng dụng và

sát nhập các khóa registry và các thư mục file hệ thống. Nếu ThinApp tìm thấy

một subkey registry hoặc thư mục hệ thống file mà trước đây chúng chưa tồn

tại trong gói chính hoặc layer đã được sáp nhập, ThinApp sử dụng chế độ cách

ly được quy định trong lớp đang được nạp. Nếu subkey registry hoặc thư mục

file hệ thống tồn tại trong các gói chính và một lớp mà đã được sáp nhập,

ThinApp sử dụng các chế độ cách ly hạn chế nhất định trong bất kỳ các lớp

hoặc gói chính.

Thứ tự của các hạn chế nhất đến chế độ cách ly hạn chế nhất là Full,

WriteCopy, và Merged.

Hiệu ứng PermittedGroups trên gói được liên kết

Nếu bạn liên kết hai ứng dụng và bạn chỉ định một giá trị cho tham số

PermittedGroups, tài khoản người dùng được sử dụng để bắt đầu ứng dụng

phải là một thành viên của ít nhất một trong các nhóm Active Directory cho

tham số này trong các file Package.ini của cả hai ứng dụng. Để biết thông tin

về các tham số PermittedGroups, tham khảo ThinApp Package.ini Parameters

Reference Guide.

Sự thay đổi Sandbox cho gói độc lập và gói được liên kết

Những thay đổi Sandbox từ gói được liên kết không thể nhìn thấy từ file thực

thi cơ sở. Ví dụ, bạn có thể cài đặt Acrobat Reader như là một gói phần mềm

ảo độc lập và là một gói phần mềm liên quan đến ứng dụng cơ sở Firefox. Khi

nào bạn bắt đầu Acrobat Reader như một ứng dụng độc lập bằng cách chạy

các gói ảo và bạn thay đổi các thuộc tính, ThinApp sẽ lưu trữ những thay đổi

trong sandbox của Acrobat Reader. Khi bạn khởi động Firefox, Firefox không

thể phát hiện những thay đổi vì Firefox có sandbox riêng của mình. Mở một

Page 62: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

file .pdf với Firefox không phản ánh sự thay đổi thuộc tính mà nó đã tồn tại

trong ứng dụng Acrobat Reader độc lập.

Thứ tự nạp cho gói liên kết

ThinApp nạp các ứng dụng liên kết theo thứ tự của các ứng dụng trong tham số

RequiredAppLinks hay OptionalAppLinks. Nếu một trong hai tham

số chỉ định một ký tự đại diện mà gây nên việc nạp nhiều hơn một file, thì khi

đó thứ tự alphabetical sẽ quyết định thứ tự các gói được nạp đầu tiên.

Tham số OptionalAppLinks có thể được xuất hiện như là

OptionalAppLinks=a.exe;b.exe;plugins\*.exe.

Sử dụng a.exe và b.exe như là các file thực thi mẫu, ThinApp sẽ nạp các gói

liên kết theo thứ tự mô tả trong Bảng 4-1.

Bảng 4-1. Imported Linked Packages

Yêu cầu nạp Gói được liên kết

1 Ứng dụng cơ sở

2 a.exe

3 b.exe

4 Plug-ins được tải theo thứ tự alphabetical

5 Plug-ins được lồng vào a.exe

6 Plug-ins được lồng vào b.exe

7 Plug-ín được lồng cho thiết lập đầu tiên của plug-ins trong

danh sách này

Để biết thông tin về các liên kết lồng nhau, xem "Thiết lập các liên kết lồng

nhau với Application Link" trên trang 50.

Trang 52

Sự xung đột File và Registry trong gói được liên kết

Nếu ứng dụng cơ sở và một gói phụ thuộc được liên kết đến ứng dụng cơ sở

chứa file hoặc mục registry tại cùng một vị trí, xung đột sẽ xảy ra. Khi điều

này xảy ra, thứ tự của các hoạt động nạp quyết định gói có ưu tiên. Gói phần

mềm mới nhất được nạp có ưu tiên trong những trường hợp như vậy và file

hoặc những nội dung registry từ gói đó có thể nhìn thấy trong các ứng dụng

đang chạy.

Xung đột VBScript trong gói được liên kết

Xung đột tên VBScript có thể ngăn chặn các script trong các gói được nạp

khác khỏi việc chạy. Nếu bạn liên kết các gói với Application Link và những

gói này có các script cùng tên, ThinApp đặt VBScripts từ các gói được liên kết

Page 63: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

vào một hồ bơi duy nhất. Đối với script cùng tên, ThinApp chạy các script từ

gói được nạp cuối cùng và không quan tâm đến các script khác.

Ví dụ, một gói cơ sở có thể chứa các file a.vbs và b.vbs và một gói phụ thuộc

có thể chứa các file b.vbs và c.vbs. Bởi vì một vụ xung đột tên file tồn tại giữa

các file b.vbs, VBScript trong gói được nạp cuối cùng được chỉ định trong

tham số RequiredAppLinks hoặc OptionalAppLinks sẽ ghi đè lên

các script được nạp với cùng tên. Trong trường hợp này, ThinApp ngưng tụ hồ

bơi chứa bốn file .vbs vào một hồ bơi đơn với file a.vbs từ gói cơ sở và file

b.vbs và c.vbs từ gói phụ thuộc.

Thứ tự hàm VBScript trong gói được liên kết

Trong một hồ bơi VBScripts của gói được liên kết với Application Link, các

hàm trong các phần chính của script chạy theo thứ tự chữ cái của tên script.

Hàm callback ThinApp trong script chạy ngược thứ tự chữ cái của tên script

trong hồ bơi.

Chứa nhiều phiên bản của một ứng dụng được liên kết trong cùng một

thư mục

Nếu thư mục chứa một gói được liên kết, và bạn thêm một phiên bản cập nhật

của gói được liên kết trong cùng một thư mục, công cụ Application Link phát

hiện và sử dụng các phiên bản cập nhật.

Sử dụng Application Sync cho một ứng dụng cơ sở và các gói được liên kết

Nếu bạn sử dụng Application Link để liên kết các gói đến một gói cơ sở, và

bạn bắt đầu gói cơ sở, Application Sync có thể chỉ cập nhật các gói cơ sở. Ví

dụ, nếu bạn xây dựng một gói Microsoft Office 2007 với các mục Application

Sync trong file Package.ini, xây dựng một gói phần mềm Adobe Reader với các

mục Application Sync trong file Package.ini, sử dụng Application Link để liên

kết hai gói, và bắt đầu Microsoft Office 2007, Application Sync chỉ cập nhật

Microsoft Office 2007. Bạn có thể cập nhật cả Microsoft Office 2007 và Adobe

Reader bằng cách bắt đầu từng ứng dụng riêng biệt.

Nếu bạn không cập nhật tất cả các ứng dụng và liên kết một ứng dụng cơ sở

đến một plug-in hết hạn, ứng dụng cơ sở vẫn có thể tải và sử dụng các plug-in.

Cập nhật ứng dụng cho người quản trị ThinApp cung cấp các công cụ AppSync.exe và sbmerge.exe cho các quản trị viên.

Công cụ AppSync.exe buộc một bản cập nhật Application Sync trên máy khách.

Công cụ sbmerge.exe tạo ra các bản cập nhật cộng dồn vào các ứng dụng. Ví dụ, một

quản trị viên có thể sử dụng công cụ để kết hợp một plug-in cho trình duyệt Firefox

hoặc để thay đổi trang chủ của một trang Web để trỏ đến một trang web mặc định

khác.

Ép buộc Application Sync Updates trên máy khách hàng

Page 64: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Bạn có thể sử dụng lệnh AppSync để ép một bản cập nhật Application Sync

trên máy khách. Bạn có thể muốn cập nhật một gói được lưu trữ trong một vị

trí mà người dùng tiêu chuẩn không có quyền ghi. Trong tình huống này, bạn

không thể sử dụng các tham số Application Sync để kiểm tra các bản cập nhật

khi một ứng dụng bắt đầu bởi vì người dùng không có quyền được yêu cầu cập

nhật các gói. Bạn có thể lên lịch một tiến trình AppSync.exe chạy hàng ngày

theo một tài khoản có đủ quyền hạn. Các tham số Application Sync, như

AppSyncUpdateFrequency, trong file Package.ini không ảnh hưởng đến

các lệnh AppSync.

Trang 53

Ép một bản cập nhật Application Sync, sử dụng lệnh AppSync <Application_Sync_URL> <executable_file_path>

Giá trị của URL tương tự như URL của Application Sync trong file

Package.ini và đường dẫn file thực thi là đường dẫn đến file thực thi mà yêu

cầu cập nhật.

Liên kết ứng dụng bằng Group Policy Object

Cấu hình AppLink cho FF28

Bạn sẽ cấu hình AppLink đến QuickTime cho ứng dụng FF28.

1. Trong thư mục Policies, điều hướng đến FF28 và nhấn Configure AppLink

cho FF28.

2. Trong Configure AppLink for FF28, chọn Enabled.

3. Bấm vào Show bên cạnh Require AppLinks.

4. Sao chép giá trị QuickTime7 plug-in, dán nó vào hộp thoại Required

AppLinks rồi nhấn OK.

Ứng dụng FF28 chạy trên tất cả các máy thuộc miền này ngay bây giờ tìm nạp

QuickTime 7.7.dat từ vị trí này.

5. Xác định một số giá trị (một khoảng trống) cho tùy chọn AppLinks và nhấn

Apply.

Liên kết Group Policy chống lại Domain Scope

Bạn sẽ liên kết AppLink được cấu hình đến tên miền yêu cầu.

1. Trong GPMC, điều hướng đến tên miền của bạn và nhấn chuột phải tên

miền của bạn.

2. Từ trình đơn pop-up, chọn link to an existing GPO.

3. Trong cửa sổ Select GPO chọn FF28 và nhấn OK .

4. Sau khi liên kết GPO với miền, chọn một máy ảo có thể hiện FF28 mới.

5. Bắt đầu FF28 và mở một file với nội dung QuickTime. Ứng dụng này sẽ

hiển thị thông báo sau:

Page 65: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

A plug-in is needed to play this content. Install

plug-in…

Xác minh các ứng dụng ảo sau một Cập nhật Group Policy

1. Trên máy ảo khách hàng, đăng nhập như là quản trị viên và chạy

'gpupdate /force' tại dấu nhắc lệnh.

2. Điều này sẽ cập nhật chính sách ngay lập tức, nếu không bạn có thể chờ đợi

cho đến khoảng thời gian cập nhật chính sách tiếp theo kết thúc.

Để xác minh bản cập nhật chính sách, thực hiện các bước sau đây:

1. Trên máy ảo khách hàng, gõ regedit.

2. Điều hướng đến HKEY_LOCAL_MACHINE > SOFTWARE > Policies > ThinApp > Management > FF28 > AppLink > Required AppLink

Bạn có thể thấy rằng AppLink được yêu cầu có một liên kết mà nó trỏ vào con

đường QuickTime.dat được định nghĩa trong GPO. Với tùy chọn này, một ứng

dụng ThinApp ảo đang chạy có thể kiểm tra xem nó có một chính sách nhóm

có liên quan với nó bởi tên hàng tồn kho. Nếu một chính sách tồn tại, chính

sách đó sẽ có ưu tiên hơn những cấu hình Package.ini, tuy nhiên, sự thay đổi

này sẽ chỉ có hiệu lực trên khởi động tiếp theo của ứng dụng.

Tính năng Configure AppLink có các tùy chọn sau đây:

Not Configured. Nếu bạn không cấu hình thiết lập này, sau đó ThinApp sẽ

thực hiện AppLink bằng cách dùng tham số AppLink được định nghĩa trong

gói. Nếu gói không chứa bất kỳ các tham số AppLink, thời gian chạy sẽ không

thực hiện AppLink.

Enable. Nếu bạn kích hoạt thiết lập này, sau đó ThinApp thực hiện AppLink

ngay cả khi gói không chứa bất kỳ tham số AppLink. Khi không có các tham

số AppLink trong gói, sau đó thời gian chạy sử dụng các tham số cấu hình

trong hộp thoại Configure AppLink, điều này sẽ ghi đè các tham số AppLink

thiết lập trong gói.

Trang 54

Disable . Nếu bạn hủy cài đặt này, ThinApp sẽ không thực hiện AppLink,

ngay cả khi gói chứa các tham số AppLink.

Cập nhập ứng dụng theo thay đổi thời gian thực

Công cụ sbmerge.exe sáp nhập thay đổi theo thời gian thực được ghi vào

sandbox của ứng dụng trở lại vào một dự án ThinApp. Một công việc điển hình

cho công cụ này bao gồm các nhiệm vụ sau đây:

+ Capture một ứng dụng.

+ Xây dựng các ứng dụng với file build.bat.

+ Chạy một ứng dụng đã capture và tùy biến các thiết lập và môi trường ảo.

ThinApp chứa những thay đổi trong sandbox.

Page 66: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ Chạy công cụ sbmerge.exe để sáp nhập những thay đổi registry và hệ thống

file từ sandbox vào dự án ThinApp.

+ Xây dựng lại các ứng dụng đã capture với file build.bat

+ Triển khai các ứng dụng cập nhật.

Sát nhập các thay đổi sandbox với Firefox

Thủ tục này cho công cụ sbmerge.exe sử dụng Firefox 2.0.0.3 là một ví dụ về

một ứng dụng capture.

Sát nhập các thay đổi sandbox với Firefox 2.0.0.3

1. Capture Firefox 2.0.0.3.

2. Double-click vào file build.bat trong thư mục ứng dụng đã capture để xây

dựng lại gói ứng dụng.

Ví dụ, đường dẫn đến file build.bat Firefox 2.0.0.3 có thể là

C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla Firefox

2.0.0.3\build.bat.

3. Tạo một thư mục Thinstall trong thư mục bin ở vị trí sandbox.

4. Bắt đầu Firefox và thực hiện thay đổi các thiết lập.

Ví dụ, thay đổi trang chủ.

5. Từ dòng lệnh, chuyển tới thư mục chứa thư mục dự án ThinApp cư trú.

Ví dụ, điều hướng đến

C:\Program Files\VMware\VMware ThinApp\Captures\Mozilla Firefox 2.0.0.3.

6. Từ dòng lệnh, gõ lệnh “C:\Program Files\VMware\VMware

ThinApp\sbmerge" Print

ThinApp in những thay đổi có ảnh hưởng đến thư mục sandbox khi sử dụng

ứng dụng đã capture.

7. Từ dòng lệnh, gõ lệnh "C:\Program Files\VMware\VMware

ThinApp\sbmerge" Apply

ThinApp dọn sạch thư mục Thinstall và hợp nhất các thay đổi sandbox với ứng

dụng.

Lệnh sbmerge.exe

Lệnh sbmerge.exe Print thể hiện sự thay đổi sandbox và không tạo ra

những thay đổi vào sandbox hoặc dự án ban đầu.

Lệnh sbmerge.exe Apply sáp nhập những thay đổi từ sandbox với dự án

ban đầu. Lệnh này cập nhật dự án registry và hệ thống file để phản ánh những

thay đổi và xóa thư mục sandbox.

Cách sử dụng "C:\Program Files\VMware\VMware ThinApp\sbmerge" Print

[<optional_parameters>]

"C:\Program Files\VMware\VMware ThinApp\sbmerge" Apply

[<optional_parameters>]

Page 67: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 55

Các tham số tùy chọn

Các tham số tùy chọn sbmerge.exe chỉ định dự án và các đường dẫn sandbox

và chặn tin nhắn quá trình và sáp nhập các file sandbox.

Bảng 4-2. Optional sbmerge.exe Parameters

Tham số Miêu tả

-ProjectDir

<project_path>

Nếu bạn bắt đầu lệnh sbmerge.exe từ một vị trí khác với thư

mục dự án ứng dụng, sử dụng đường dẫn tuyệt đối hoặc tương

đối so với thư mục dự án bằng cách dùng tham số -

ProjectDir <Project_path>. Một lệnh mẫu là "C:\Program Files\VMware\VMware

ThinApp\sbmerge"Print –ProjectDir

"C:\<project_folder_path>""

-SandboxDir

<sandbox_path>

Khi bạn bắt đầu một ứng dụng đã capture, nó tìm kiếm trong

sandbox theo một trật tự cụ thể. Xem "Thứ tự tìm kiếm

Sandbox" trên trang 61.

Nếu bạn sử dụng một vị trí tùy chỉnh cho sandbox, sử dụng

tham số -SandboxDir <sandbox_path> để xác định vị trí.

-Quiet Khóa tin nhắn in của tiến trình

-Exclude

<excluded_file>.ini

Ngăn chặn việc sáp nhập các file cụ thể hoặc các mục registry

từ sandbox. Bạn có thể chỉ định một file .ini để xác định nội

dung cần loại trừ. File này có chứa những phần riêng biệt để

xác định các file, chẳng hạn như FileSystemIgnoreList và

RegistryIgnoreList.

Công cụ sbmerge.exe sử dụng file snapshot.ini trong thư mục

cài đặt ThinApp theo mặc định để loại trừ nội dung nhất định

từ quá trình sát nhập. Tùy chọn này cho phép bạn chỉ định một

file .ini để đảm bảo nội dung cần loại trừ thêm.

Tự động cập nhật ứng dụng Nếu một ứng dụng có thể tự động cập nhật, chức năng cơ chế cập nhật của nó với

ThinApp. Nếu ứng dụng tải các bản cập nhật và chạy một chương trình cài đặt hoặc

vá, hoạt động này xảy ra bên trong môi trường ảo và ThinApp chứa các thay đổi từ

phần mềm cập nhật trong sandbox. Khi ứng dụng khởi động lại, nó sử dụng các phiên

bản của file thực thi trong sandbox và không phải là file thực thi từ gói gốc.

Ví dụ, nếu bạn capture Firefox 1.5, cơ chế autoupdate của bạn có thể nhắc bạn phải

nâng cấp lên Firefox 2.0. Nếu bạn tiến hành nâng cấp, ứng dụng tải các bản cập

nhật, viết các bản cập nhật vào sandbox, và sẽ nhắc bạn khởi động lại ứng dụng. Khi

bạn chạy các ứng dụng capture một lần nữa, Firefox 2.0 bắt đầu. Nếu bạn xóa các

sandbox, Firefox quay ngược lại phiên bản 1.5.

Page 68: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Để sát nhập các thay đổi mà cơ chế tự động cập nhật tạo ra với gói ban đầu để xây

dựng một file thực thi được cập nhật, sử dụng công cụ sbmerge.exe. Xem "Cập nhật

ứng dụng cho người quản trị" trên trang 52.

Note: Nếu bạn sử dụng công cụ Application Sync để thực hiện cập nhập cho ứng

dụng, hãy hủy khả năng tự động cập nhập của ứng dụng. Xem “Sử dụng Application

Sync trong một môi trường được quản lý hoặc không được quản lý” trên trang 45.

Cập nhật linh động khi không có quyền quản trị

Bạn có thể cập nhật các ứng dụng tự động mà không yêu cầu quyền quản trị.

Ví dụ, các ứng dụng dựa trên nền tảng .NET tải về các file DLL mới từ Internet

như một phần của quá trình cập nhật của họ, phải chạy file ngen.exe để tạo ra

lắp ráp hình ảnh bản địa cho hiệu suất khởi động. Trong những trường hợp

điển hình, file ngen.exe viết đến HKLM và C:\WINDOWS, cả hai đều là chỉ có

thể truy cập với tài khoản quản trị viên. Với ThinApp, file ngen.exe có thể cài

đặt lắp ráp hình ảnh bản địa vào tài khoản người dùng khách nhưng chứa

những thay đổi trong một thư mục người dùng cụ thể.

Bạn có thể cập nhật gói trên một máy tính trung tâm và đẩy những thay đổi đến

các máy khách hoặc đến trung tâm mạng chia sẻ như một file thực thi capture

mới. Sử dụng một trong các tùy chọn sau đây để áp dụng bản cập nhật:

+ Trong quá trình thiết lập chụp.

Trang 56

+ Bên trong môi trường ảo.

Ứng dụng với khả năng tự động cập nhật có thể trải qua các bản cập nhật. Nếu

bản cập nhật là một file patch.exe, các bản vá chương trình có thể chạy trong

môi trường ảo và chạy từ file entry point cmd.exe. Những thay đổi xảy ra

trong sandbox khi cập nhật tự động hoặc cập nhật bằng tay cho phép bạn trở lại

với phiên bản gốc bởi việc xóa sandbox.

Nếu bạn áp dụng bản vá lỗi trong các môi trường ảo trên một máy đóng gói

trung tâm, bạn có thể sử dụng công cụ sbmerge.exe để sát nhập những thay

đổi của sandbox được thực hiện bởi các bản cập nhật với ứng dụng. Xem "Cập

nhật ứng dụng cho người quản trị" trên trang 52.

+ Trong các dự án đã capture.

Nếu bạn phải cập nhật một phần nhỏ các file hoặc các khóa registry, hãy thay

thế các file trong các dự án đã capture.

Cách tiếp cận này là hữu ích cho các nhà phát triển phần mềm những người

phối hợp ThinApp xây dựng với quy trình làm việc của họ.

Nâng cấp ứng dụng đang chạy trên một mạng chia sẻ

Page 69: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

ThinApp cho phép bạn nâng cấp hoặc quay trở lại một ứng dụng đang chạy trên một

mạng chia sẻ cho nhiều người sử dụng. Quá trình nâng cấp xảy ra khi người dùng

thoát khỏi ứng dụng và bắt đầu nó một lần thứ hai. Trong môi trường Terminal

Server, bạn có thể có nhiều người dùng thực thi nhiều phiên bản khác nhau tại cùng

một thời điểm trong giai đoạn chuyển tiếp.

Khóa file

Bắt đầu một ứng dụng khóa gói file thực thi. Bạn không thể thay thế, xóa, hoặc

di chuyển ứng dụng. File khóa này đảm bảo rằng bất kỳ máy tính hoặc người

dùng truy cập một phiên bản cụ thể của một ứng dụng tiếp tục có phiên bản có

sẵn miễn là các tiến trình ứng dụng và tiến trình con đang chạy.

Nếu bạn lưu trữ một ứng dụng trong một vị trí trung tâm cho nhiều người sử

dụng, file khóa này ngăn chặn các quản trị viên thay thế một file thực thi được

đóng gói với một phiên bản mới cho đến khi tất cả người sử dụng thoát khỏi

ứng dụng và giải phóng khóa của họ.

Nâng cấp một ứng dụng đang chạy

Bạn có thể sao chép một phiên bản mới của ứng dụng vào một thư mục triển

khai đang tồn tại với một tên phần mở rộng cao hơn, chẳng hạn như .1 hoặc .2.

Quy trình này sử dụng Firefox là một ứng dụng mẫu.

Bạn không cần phải cập nhật các shortcut, chỉ cần primary data container.

Nâng cấp một ứng dụng đang chạy

1. Triển khai phiên bản gốc của ứng dụng, chẳng hạn như Firefox.exe.

2. Sao chép ứng dụng đến một trung tâm chia sẻ ở

\\<server>\<share>\Firefox.exe.

Một vị trí mẫu là C:\Program Files\Firefox\Firefox.exe.

3. Tạo một shortcut Desktop hoặc menu Start trên máy tính để bàn của người

dùng mà nó trỏ đến một file thực thi được chia sẻ vị trí ở

\\<server>\<share>\Firefox.exe.

Giả sử hai người dùng bắt đầu Firefox.exe và khóa ứng dụng.

4. Sao chép phiên bản cập nhật của Firefox.exe đến trung tâm chia sẻ ở

\\<server>\<share>\Firefox.exe.1. Nếu bạn là một người dùng mới, ThinApp

bắt đầu ứng dụng với dữ liệu gói mới trong Firefox.exe.1. Nếu bạn là một

người sử dụng làm việc với phiên bản gốc, bạn có thể xem phiên bản mới sau

khi bạn thoát khỏi ứng dụng và khởi động lại ứng dụng.

5. Nếu bạn phải triển khai một bản cập nhật cao hơn bản hiện tại của Firefox,

đặt nó trong cùng thư mục với một số cuối cao hơn.

6. Sao chép Version 2.0 của Firefox.exe đến trung tâm chia sẻ ở

\\<server>\<share>\Firefox.exe.2

Trang 57

Page 70: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Sau khi cả hai Firefox.exe và Firefox.exe.1 được mở khóa, bạn có thể xóa

Firefox.exe và đổi tên Firefox.exe.1 thành Firefox.exe. Điều này vĩnh viễn thay

thế phiên bản cũ với phiên bản mới.ThinApp luôn luôn sử dụng tên file có số

phiên bản cao nhất. Nếu bạn phải quay trở lại phiên bản trước đó và phiên bản

gần đây nhất bị khóa, sao chép phiên bản cũ để nó có số phiên bản cao nhất.

NOTE

Nếu bạn có một dự án với file an.alt, file .alt từ phiên bản mới cũng phải được

sao chép và đổi tên. Số được sử dụng trong tên file phải đi trước phần mở rộng

.alt. Ví dụ, Firefox.alt trở thành Firefox.1.alt. Những thay đổi đến file

Package.ini sẽ không được nhìn thấy nếu primary data container là một file

.dat. Một cách giải quyết là xây dựng lại dự án với primary data container .exe

nếu nó đang ở dưới 2GB.

Đồng bộ ứng dụng bằng Group Policy Object Trong ThinApp 5.1, bạn có thể sử dụng Group Policy Objects để cấu hình các tính

năng Appsync. Trong các phiên bản trước của ThinApp, những tham số này cũng có

trong file Package.ini, và bạn đã cấu hình chúng bằng cách sử dụng các registry.

Trong ThinApp 5.1 bạn có thể tạo ra các file chính sách bằng cách sử dụng

AppPolicy.exe. Phiên bản cài đặt ThinApp bây giờ chứa các file sau đây:

+ ThinAppBase.admx

+ ThinAppBase.adml

+ ThinAppGeneric.admx

+ ThinAppGeneric.adml

+ AppPolicy.exe

Các file mẫu hành chính ThinAppGeneric.admx và ThinAppGeneric.adml cung cấp

một mẫu, mà cấu hình cho một gói cụ thể sẽ được dựa trên đó. Đảm bảo rằng các file

mẫu chung ThinAppGeneric.admx và ThinAppGeneric.adml có mặt trong các thư

mục làm việc giống như AppPolicy.exe.

Cấu hình đồng bộ hóa ứng dụng

Bạn sẽ cập nhật Adobe Reader từ IX đến X bằng tùy chọn AppSync.

1. Trên Domain Controller, sao chép file ThinAppBase.admx đến thư mục

C:\Windows\PolicyDefinitions.

2. Sao chép file ThinAppBase.adml đến C:\Windows\PolicyDefinitions\en-US.

3. Trong thư mục ThinApp, chạy lệnh AppPolicy.exe /c "Adobe Reader"

Công cụ tạo ra hai file template ThinApp_InventoryName.admx và

ThinApp_InventoryName.adml trong thư mục ThinApp Policy. Nếu bạn đang capture

Adobe Reader cho đồng bộ hóa ứng dụng thì sau đó các các file này sẽ là

ThinApp_AdobeReader.admx và ThinApp_ AdobeReader.adml. Bạn phải thêm hai

file vào GPO.

Page 71: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

4. Trên Domain Controller, sao chép ThinApp_AdobeReader.admx đến

C:\Windows\PolicyDefinitions.

5. Sao chép ThinApp_AdobeReader.adml đến C:\Windows\PolicyDefinitions\en-US.

Entry mới sẽ được hiển thị dưới Domains > Policy Settings.

6. Nhấp chuột phải vào System và chọn System > Select Available Policy > Enforce.

7. Điều hướng đến Policies > Admin Templates > VMware ThinApp Management.

8. Kích đúp vào AppSync .

Cấu hình đồng bộ hóa ứng dụng cho Adobe Reader

1. Trong Group Policy Management Editor, tìm đến Administrative Templates >

VMware ThinApp > Adobe Reader .

2. Dưới Configure AppSync cho Adobe Reader, chọn tùy chọn Enabled.

3. Nhập các giá trị trong cửa sổ tùy chọn:

Trang 58

+ SyncURL. Chỉ định vị trí URL trên server Web hoặc vị trí chia sẻ file mà nó lưu trữ

phiên bản cập nhật của một ứng dụng.

+ Update Frequency. Chỉ định mức độ thường xuyên ThinApp kiểm tra các máy chủ

web để cập nhật ứng dụng.

+ UpdatedMessage. Chỉ định thông báo cập nhật mà nó xuất hiện khi một gói cập

nhật đầu tiên bắt đầu.

+ ExpirePeriod. Chỉ định ngày hết hạn của gói bằng phút, giờ hay vài ngày.

+ ExpiredMessage. Chỉ một tin nhắn mặc định cho ứng dụng cập nhật hết hạn.

+ Warning Period. Chỉ định điểm bắt đầu giai đoạn cảnh báo trước khi một gói hết

hạn.

+ WarningFrequency. Chỉ định bao lâu thì một cảnh báo xuất hiện trước khi gói hết

hạn.

+ Cảnh báo tin nhắn. Chỉ định thông điệp cảnh báo khi thời điểm bắt đầu.

4. Nhấn OK.

Bạn có thể xem tất cả các thiết lập cấu hình cho AppSync. Bạn có thể xem Sync URL

mà nó trỏ đến máy chủ IIS, nơi phiên bản Adobe Reader X là hiện tại. Thư mục

ThinApp Packages chứa cả Adobe Reader IX và Adobe Reader X.

Xác minh cập nhật ứng dụng đồng bộ hóa ứng dụng

1. Điều hướng đến thư mục ThinApp và xây dựng phần mềm Adobe Reader IX.

2. Thực hiện Thinreg trên Adobe Reader IX bằng cách sử dụng lệnh

thinreg.exe .\Packages\Adobe Reader 9\bin\*.exe

3. Khởi động Adobe Reader IX.

4. Điều hướng đến thư mục bin và xác minh xem phiên bản download của Adobe

Reader X đã hoàn tất chưa.

5. Đóng Adobe Reader IX.

Page 72: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

6. Khởi động Adobe Reader.

7. Nhấn OK trong cửa sổ pop-up cập nhật ứng dụng AppSync.

ThinApp hủy đăng ký phiên bản cũ của Adobe Reader và đăng ký phiên bản mới hơn.

Kể từ lúc bạn cấu hình AppSync để cập nhật Adobe Reader, ThinApp liên lạc với máy

chủ IIS có phiên bản mới nhất của Adobe Reader là hiện tại và tải nó.

Cân nhắc Sandbox cho các ứng dụng nâng cấp

Khi bạn nâng cấp một ứng dụng, bạn có thể kiểm soát xem người dùng tiếp tục sử

dụng các thiết lập trước đó của họ bằng cách giữ tên sandbox nhất quán trong các file

Package.ini không. Bạn có thể ngăn chặn người dùng sử dụng một sandbox cũ với một

ứng dụng được nâng cấp bằng cách đóng gói ứng dụng được nâng cấp với một tên mới

cho sandbox. Bắt đầu từ ứng dụng được nâng cấp lần đầu tiên tạo ra sandbox với tên

mới.

Cập nhật phiên bản ThinApp của gói Bạn có thể sử dụng công cụ relink.exe để cập nhật một gói phần mềm hiện tại hoặc

một danh sách gói lên phiên bản mới nhất của ThinApp. Mặc dù bạn có thể cài đặt

phiên bản mới nhất của ThinApp và chạy công cụ build.bat để xây dựng lại mỗi gói

mục tiêu với các phiên bản mới nhất ThinApp, công cụ relink.exe là một phương

pháp nhanh để nâng cấp phiên bản ThinApp của các gói đã có sẵn. Bạn có thể muốn

cập nhật gói của bạn để được hưởng lợi ích từ các tính năng mới nhất ThinApp hoặc

sự cải tiến trong hỗ trợ.

Ví dụ về relink

Công cụ relink.exe có một lá cờ tùy chọn -Recursive và có thể nhắm mục

tiêu một gói duy nhất hoặc nhiều gói. relink [-Recursive] <target> [<target> ...]

Ví dụ, bạn có thể cập nhật một gói phần mềm Adobe Reader đến phiên bản cài

đặt mới nhất ThinApp. relink AdobeReader.exe

Trang 59

Công cụ relink.exe có thể sử dụng một mẫu ký tự đại diện. relink *.exe *.dat

Công cụ relink.exe có thể sử dụng tên thư mục để xử lý tất cả các file trong thư

mục ThinApp đó. relink C:\MyPackages

Nếu bạn chỉ định lá cờ -Recursive, công cụ relink.exe xử lý tất cả các file

trong thư mục ThinApp và tất cả thư mục con. Cờ này được dành cho việc chỉ

sử dụng với tên thư mục.

Nếu tên có chứa dấu cách mục tiêu, bạn phải sử dụng dấu ngoặc kép. relink "Microsoft Office Professional 2007.dat"

Page 73: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 60

Trang 61

5. Locating the ThinApp Sandbox Sandbox là thư mục nơi mà tất cả những thay đổi mà ứng dụng đã capture tạo ra được

lưu trữ. Lần tiếp theo bạn khởi động ứng dụng, những thay đổi này được kết hợp từ

sandbox. Khi bạn xóa thư mục sandbox, ứng dụng trở về trạng thái của nó khi capture.

Chương này bao gồm các chủ đề sau:

+ "Thứ tự tìm kiếm Sandbox" trên trang 61

+ "Kiểm soát vị trí đặt Sandbox" trên trang 62

+ "Cấu trúc Sandbox" trên trang 63

Thứ tự tìm kiếm Sandbox Trong thời gian khởi động của ứng dụng đã capture, ThinApp tìm kiếm một sandbox

đang tồn tại ở địa điểm cụ thể và theo một thứ tự cụ thể. ThinApp sử dụng sandbox

đầu tiên nó phát hiện. Nếu ThinApp không thể tìm thấy một sandbox hiện có,

ThinApp tạo ra một sandbox mới theo thiết lập biến môi trường và tham số. Xem lại

thứ tự tìm kiếm và logic tạo ra sandbox trước khi thay đổi vị trí của sandbox.

Thứ tự tìm kiếm sử dụng Mozilla Firefox 3.0 là một ví dụ với các biến sau:

+ <sandbox_name> là Mozilla Firefox 3.0

Tham số SandboxName trong file Package.ini quyết định tên.

+ <Sandbox_path> là Z:\sandboxes

Tham số SandboxPath trong file Package.ini quyết định đường dẫn.

+ <exe_directory> là C:\Program Files\Firefox

Ứng dụng chạy từ vị trí này.

+ <computer_name> là JOHNDOE-COMPUTER

+ %AppData% là C:\Documents and Settings\JohnDoe\Application Data

ThinApp yêu cầu vị trí thư mục Application Data từ hệ điều hành. Vị trí phụ thuộc vào

hệ điều hành hoặc cấu hình.

ThinApp bắt đầu tìm kiếm sandbox bằng cách cố gắng tìm ra các biến môi trường sau

đây theo thứ tự này:

+ %<sandbox_name>_SANDBOX_DIR%

Biến môi trường này thay đổi vị trí sandbox của ứng dụng cụ thể trên máy tính. Ví dụ,

nếu biến môi trường Mozilla Firefox 3.0_SANDBOX_DIR tồn tại, giá trị của nó xác

định vị trí thư mục sandbox mẹ. Nếu giá trị là z:\FirefoxSandbox trước khi bạn

chạy ứng dụng, ThinApp chứa sandbox trong z:\FirefoxSandbox.JOHNDOE-

Page 74: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

COMPUTER nếu thư mục đã tồn tại. Nếu thư mục không tồn tại, ThinApp tạo ra một

sandbox trong z:\FirefoxSandbox.

+ %THINSTALL_SANDBOX_DIR%

Trang 62

Biến môi trường này thay đổi vị trí của tất cả các sandbox trên một máy tính. Ví dụ,

nếu biến môi trường THINSTALL_SANDBOX_DIR tồn tại, giá trị của nó xác định vị

trí thư mục sandbox mẹ. Nếu giá trị là z:\MySandboxes trước khi bạn chạy ứng

dụng, ThinApp tạo ra một sandbox trong z:\MySandboxes.

Nếu ThinApp không phát hiện biến môi trường

%<sandbox_name>_SANDBOX_DIR% hoặc %THINSTALL_SANDBOX_DIR%,

ThinApp kiểm tra các thư mục hệ thống file sau đây và tạo ra một sandbox trong thư

mục đầu tiên nó phát hiện:

+ <exe_directory>\<sandbox_name>.<Computer_name>

Ví dụ, C:\Program Files\Firefox\Mozilla Firefox 3.0.JOHNDOE-COMPUTER

+ <exe_directory>\<sandbox_name>

Ví dụ, C:\Program Files\Firefox\Mozilla Firefox 3.0

+ <exe_directory>\Thinstall\<sandbox_name>.<Computer_name>

Ví dụ, C:\Program Files\Firefox\Thinstall\Mozilla Firefox 3.0.JOHNDOE-

COMPUTER

+ <exe_directory>\Thinstall\<sandbox_name>

Ví dụ, C:\Program Files\Firefox\Thinstall\Mozilla Firefox 3.0

+ <sandbox_path>\<sandbox_name>.<Computer_name>

Ví dụ, Z:\sandboxes\Mozilla Firefox 3.0.JOHNDOE-COMPUTER

+ <sandbox_path>\<sandbox_name>

Ví dụ, Z:\sandboxes\Mozilla Firefox 3.0

+ %AppData%\Thinstall\<sandbox_name>.<Computer_name>

Ví dụ, C:\Documents and Settings\JohnDoe\Application Data\Thinstall\Mozilla

Firefox 3.0.JOHNDOE-COMPUTER

+ %AppData%\Thinstall\<sandbox_name>

Ví dụ, C:\Documents and Settings\JohnDoe\Application Data\Thinstall\Mozilla

Firefox 3.0

Nếu ThinApp không phát hiện biến môi trường

%<sandbox_name>_SANDBOX_DIR% hoặc %THINSTALL_SANDBOX_DIR%, và

không phát hiện ra các thư mục hệ thống file được chỉ định, ThinApp tạo một sandbox

bằng cacsg sử dụng các hướng dẫn sau đây theo thứ tự này:

+ Nếu tham số SANDBOXPATH Package.ini được thiết lập, giá trị này xác định vị trí

sandbox.

Page 75: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ Nếu ThinApp hoàn thành việc tìm kiếm sandbox mà không kết quả gì, ThinApp tạo

một sandbox trong thư mục mặc định của người dùng %AppData%\Thinstall.

NOTE

Chỉ có một máy tính tại một thời điểm có thể sử dụng một sandbox chia sẻ. Nếu một

máy tính đã sử dụng một sandbox, ThinApp tạo một sandbox mới cho phép bạn tiếp

tục làm việc cho đến khi các bản sao trước đó của sandbox đóng lại.

Kiểm soát vị trí đặt Sandbox Quá trình setup capture thêm vào tham số SandboxName đến file Package.ini. Nếu

bạn capture Firefox và Mozilla Firefox 3.0 là giá trị của tham số này, vị trí mặc định

của sandbox ứng dụng là %AppData%\Thinstall\Mozilla Firefox 3.0. Thông thường vị

trí %AppData% là C:\Documents and Settings\<user_name>\Application Data.

%AppData% thường được ánh xạ tới một ổ đĩa mạng chia sẻ.

Lưu trữ Sandbox trên mạng

Bạn có thể sử dụng tham số SandboxPath để lưu trữ sandbox trên một ổ đĩa

ánh xạ. Một vị trí mạng là hữu ích cho việc sao lưu sandbox và cho những

người dùng đăng nhập vào máy tính bất kỳ và giữ lại các cài đặt ứng dụng của

họ.

Trang 63

Lưu trữ các sandbox trên một ổ đĩa ánh xạ

1. Mở file Package.ini.

2. Bên dưới tham số SandboxName, thiết lập tham số SandboxPath đến vị

trí mạng. SandboxName=Mozilla Firefox 3.0

SandboxPath=Z:\Sandbox

Ví dụ, nếu Mozilla Firefox 3.0 là giá trị của tham số SandboxName, ứng

dụng Firefox đã capture tạo ra sandbox trong Z:\Sandbox\Mozilla Firefox 3.0.

Lưu trữ Sandbox trên một thiết bị di động

Bạn có thể sử dụng tham số SandboxPath để thiết lập một vị trí thiết bị di

động cho sandbox. Bạn có thể sử dụng bất kỳ thiết bị di động, chẳng hạn như

một ổ đĩa USB, xuất hiện như một ổ đĩa trong thư mục My Computer. Một vị

trí thiết bị di động rất hữu ích để giữ dữ liệu sandbox trên thiết bị nơi ứng dụng

cư trú.

Lưu trữ sandbox trong cùng một thư mục trên ổ đĩa USB nơi file thực thi

cư trú

1. Mở file Package.ini.

Page 76: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

2. Dưới tham số SandboxName, thiết lập tham số SandboxPath đến giá trị

này. SandboxName=Mozilla Firefox 3.0

SandboxPath=.

Ví dụ, nếu Mozilla Firefox 3.0 là giá trị của tham số SandboxName, ứng

dụng Firefox đã capture tạo ra sandbox Mozilla Firefox 3.0 trong cùng thư

mục mà Firefox chạy từ đó.

Lưu trữ sandbox trong một thư mục Thinstall trên một ổ USB cùng cấp

độ như file thực thi

Sandbox trong một thư mục Thinstall nằm trên một ổ đĩa USB phải được bảo

quản ở cùng một mức độ mà tại đó file thực thi được lưu trữ.

Lưu trữ sandbox trong một thư mục Thinstall trên một ổ USB cùng cấp

độ như file thực thi

1. Nếu biến môi trường %THINSTALL_SANDBOX_DIR% hoặc

%<sandbox_name>_SANDBOX_DIR% được thiết lập, hủy thiết lập các

biến.

2. Trên thiết bị di động, tạo ra một thư mục Thinstall trong cùng thư mục với

ứng dụng đã capture của bạn.

Vào lần tới, ứng dụng đóng gói bắt đầu từ các thiết bị di động, ứng dụng sẽ tạo

một sandbox trong thư mục Thinstall.

3. Nếu ứng dụng và sandbox ban đầu chạy từ một vị trí khác, chẳng hạn như

một ổ đĩa cứng máy tính địa phương, và bạn cần có sandbox cùng trên một

thiết bị di động, sao chép thư mục Thinstall từ %AppData% đến thư mục chứa

file thực thi nằm trong thiết bị.

Kể từ đó ThinApp không còn sử dụng sandbox ở vị trí ban đầu.

Cấu trúc Sandbox ThinApp lưu sandbox bằng cách sử dụng một file cấu trúc gần giống với cấu trúc dự

án xây dựng. ThinApp sử dụng tên macro cho vị trí vỏ thư mục, chẳng hạn như

%AppData%, thay vì các đường dẫn được mã hóa cứng. Cấu trúc này cho phép các

sandbox di chuyển đến các máy tính khác nhau một cách tự động khi ứng dụng chạy

từ địa điểm mới.

Sandbox chứa các file registry sau đây:

+ Registry.rw.tvr - Chứa tất cả các sửa đổi registry mà ứng dụng tạo ra.

+ Registry.rw.lck - Ngăn chặn các máy tính khác từ cùng một lúc bằng cách sử dụng

một registry nằm trên một mạng chia sẻ.

Trang 64

+ Registry.tvr.backup - Có một sao lưu các file .tvr mà ThinApp sử dụng khi file

.tvr ban đầu hỏng.

Page 77: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Ngoài các file registry, sandbox chứa các thư mục bao gồm %AppData%,

%ProgramFilesDir% và %SystemRoot%. Mỗi thư mục này chứa những thay đổi

vào các thư mục tương ứng trong ứng dụng đã capture.

Những thay đổi được gửi đến Sandbox

ThinApp lưu trữ thông tin file hệ thống trong registry ảo. Regsitry ảo cho phép

ThinApp tối ưu hóa truy cập hệ thống file trong môi trường ảo. Ví dụ, khi một

ứng dụng cố gắng để mở một file, ThinApp không phải tham khảo ý kiến các

hệ thống file thực sự cho các vị trí thật của hệ thống và trở lại vị trí sandbox.

Thay vào đó, ThinApp có thể kiểm tra sự tồn tại của các file bằng cách chỉ

tham khảo ý kiến registry ảo. Khả năng này tăng hiệu suất thời gian chạy

ThinApp.

VMware không hỗ trợ chỉnh sửa hoặc thêm các file trực tiếp vào sandbox. Nếu

bạn sao chép file vào thư mục sandbox, các file này sẽ không thể được phát

hiện bởi ứng dụng. Nếu file đã tồn tại trong sandbox, bạn có thể ghi đè lên và

cập nhật file. VMware khuyến cáo rằng bạn thực hiện tất cả các thay đổi từ bản

thân ứng dụng.

Trang 65

6. Create ThinApp Snapshots and Projects from the Command

Line Công cụ snapshot.exe tạo ra một bản chụp của một hệ thống file máy tính và registry

và tạo ra một dự án ThinApp từ hai bức ảnh chụp đã capture trước đó. Bạn không cần

phải khởi chạy công cụ snapshot.exe trực tiếp bởi vì Setup Capture Wizard sẽ bắt đầu

nó. Chỉ người dùng nâng cao và tích hợp hệ thống, những người đang xây dựng khả

năng của ThinApp vào các nền tảng khác có thể sử dụng trực tiếp công cụ này.

Tạo một bản chụp của một hệ thống file máy tính và registry liên quan đến việc quét

và lưu một bản sao của dữ liệu sau đây:

+ Thông tin file cho tất cả các ổ đĩa nội bộ

Thông tin này bao gồm các thư mục, tên file, thuộc tính file, kích thước file, và ngày

sửa đổi file.

+ Cây registry HKEY_LOCAL_MACHINE và HKEY_USERS

ThinApp không quét các mục registry HKEY_CLASSES_ROOT và

HKEY_CURRENT_USER vì những mục này là tập con của mục

HKEY_LOCAL_MACHINE và HKEY_USERS.

File cấu hình snapshot.ini chỉ định những thư mục và các khóa con để loại trừ từ một

dự án ThinApp khi bạn capture một ứng dụng. Bạn có thể tùy chỉnh file này cho các

ứng dụng nhất định.

Chương này bao gồm các chủ đề sau:

Page 78: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ "Phương pháp sử dụng công cụ snapshot.exe" trên trang 65

+ "Ví dụ về lệnh của snapshot.exe" trên trang 67

+ "Tạo một dự án không sử dụng Setup Capture Wizard" trên trang 67

+ "Tuỳ chỉnh file snapshot.ini" trên trang 68

+ "Sử dụng công cụ snapshot.exe để giải nén một dự án ThinApp" trên trang 68

Phương pháp sử dụng công cụ snapshot.exe Bạn có thể sử dụng công cụ snapshot.exe để tạo ra các file ảnh chụp của các trạng thái

máy, tạo ra file mẫu cho file Package.ini, tạo ra một dự án ThinApp, và hiển thị nội

dung của một file ảnh chụp.

Để biết thông tin đầy đủ về các thủ tục để tạo ra một dự án ThinApp từ dòng lệnh,

xem "Tạo một dự án không sử dụng Setup Capture Wizard" trên trang 67.

Tạo Snapshot của trạng thái máy

Công cụ snapshot.exe tạo ra một file ảnh chụp của một trạng thái máy.

ThinApp capture trạng thái của máy và lưu nó vào một file duy nhất để tạo ra

một dự án. Công cụ snapshot.exe lưu một bản sao của dữ liệu registry và hệ

thống file siêu dữ liệu bao gồm các đường dẫn, tên file, kích thước, thuộc tính,

và thời gian.

Cách sử dụng snapshot.exe SnapshotFileName.snapshot [-Config

ConfigFile.ini] [BaseDir1] [BaseDir2] [BaseReg1]

Trang 66

Ví dụ Snapshot My.snapshot

Snapshot My.snapshot -Config MyExclusions.ini

Snapshot My.snapshot C:\MyAppDirectory

HKEY_LOCAL_MACHINE\Software\MyApp

Tùy chọn

Các tùy chọn chỉ định các thư mục hay các khóa con trong ảnh chụp.

Bảng 6-1. Snapshot Directories and Subkeys

Tùy chọn Miêu tả

-Config ConfigFile.ini Chỉ định các thư mục hoặc các khóa registry để loại

trừ trong quá trình tạo bản chụp.

Nếu bạn không chỉ định một file cấu hình, ThinApp

sử dụng file snapshot.ini từ thư mục cài đặt

ThinApp.

BaseDir1 Chỉ định một hoặc nhiều thư mục cơ sở bao gồm

trong quá trình quét. Nếu bạn không chỉ định

thư mục cơ sở, công cụ snapshot.exe quét C:\ và tất

Page 79: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

cả các thư mục con.

Nếu bạn quét một máy tính mà Windows hoặc các

file chương trình được cài đặt trên các ổ đĩa khác

nhau, hãy bao gồm các ổ đĩa đó trong quá trình quét.

Nếu bạn biết rằng trình cài đặt ứng dụng của bạn tạo

ra hoặc chỉnh sửa các file trong các vị trí cố định, chỉ

định các thư mục này để giảm tổng thời gian cần thiết

để quét một máy.

BaseReg1 Chỉ định một hoặc nhiều khóa registry cơ sở bao gồm

trong quá trình quét. Nếu bạn không chỉ định khóa

registry, công cụ snapshot.exe quét các khóa

HKEY_LOCAL_MACHINE và HKEY_USERS.

Tạo file mẫu Package.ini từ hai file Snapshot

Công cụ snapshot.exe tạo ra một file mẫu Package.ini. Công cụ quét hai file

snapshot cho tất cả ứng dụng được tạo ra và tham khảo từ các liên kết shortcut

hoặc các menu Start. File mẫu Package.ini trở thành cơ sở của file Package.ini

trong một dự án ThinApp.

Cách sử dụng snapshot.exe Snap1.snapshot -SuggestProject

Snap2.snapshot OutputTemplate.ini

Ví dụ Snapshot Start.snapshot -SuggestProject End.snapshot

Template.ini

ThinApp yêu cầu tất cả các tham số.

Tạo dự án ThinApp từ file mẫu Package.ini

Công cụ snapshot.exe tạo ra file dự án ThinApp từ file mẫu Package.ini.

Cách sử dụng snapshot.exe Template.ini -GenerateProject OutDir [-

Config ConfigFile.ini]

Ví dụ Snapshot Template.ini -GenerateProject C:\MyProject

Snapshot Template.ini -GenerateProject C:\MyProject -

Config MyExclusions.ini

-Config ConfigFile.ini là tùy chọn. File cấu hình xác định các thư

mục hoặc khóa registry để loại trừ từ dự án. Nếu bạn không chỉ định một file

cấu hình, ThinApp sử dụng file snapshot.ini.

Trang 67

Hiển thị các nội dung của một file Snapshot

Page 80: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Công cụ snapshot.exe liệt kê nội dung của file ảnh chụp.

Cách sử dụng snapshot.exe SnapshotFileName.snapshot -Print

Ví dụ Snapshot Start.snapshot -Print

ThinApp yêu cầu tất cả các tham số.

Ví dụ về lệnh của snapshot.exe Bảng 6-2 mô tả lệnh mẫu cho công cụ snapshot.exe. Các tham số không trường hợp

nhạy cảm. Các lệnh được bọc trong các cột Command vì hết không gian.

Bảng 6-2. snapshot.exe Commands Sample

Command Miêu tả

snapshot C:\Capture.snapshot Capture một ảnh chụp đầy đủ các ổ đĩa

địa phương và registry vào file

C:\Capture.snapshot. snapshot C:\Capture.snapshot

C:\ E:\

Capture một ảnh chụp đầy đủ của ổ đĩa

C:\ và E:\. ThinApp không capture thông

tin registry. snapshot C:\Capture.snapshot

C:\data.snapshot C:\

HKEY_LOCAL_MACHINE

Capture một ảnh chụp đầy đủ của ổ đĩa

C:\ và tất cả các khóa registry con

HKEY_CLASSES_ROOT. snapshot C:\Original.snapshot -

Diff C:\NewEnvironment.snapshot

C:\MyProject

Tạo ra một thư mục dự án ThinApp bằng

cách so sánh 2 snapshot.

snapshot Original.snapshot -

DiffPrint

NewEnvironment.snapshot

Thể hiện sự khác nhau giữa 2 snapshot

đã capture.

snapshot C:\data.snapshot C:\

HKEY_LOCAL_MACHINE

Lưu lại trạng thái hệ thống file máy tính

và registry. snapshot C:\start.snapshot -

diffprint C:\end.snapshot

So sánh 2 trạng thái ghi được.

snapshot C:\start.snapshot –

print

In những nội dung của trạng thái được

lưu. snapshot C:\start.snapshot -

SuggestProject C:\end.snapshot

C:\project.ini

Tạo ra một dự án ThinApp bằng cách so

sánh 2 trạng thái được lưu.

Tạo một dự án không sử dụng Setup Capture Wizard Bạn có thể sử dụng công cụ snapshot.exe từ dòng lệnh thay vì sử dụng trình Setup

Capture wizard để chạy công cụ snapshot.exe trong nền. Công cụ dòng lệnh này rất

Page 81: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

hữu dụng để đóng gói một số lượng lớn ứng dụng hoặc tự động tạo ra dự án ThinApp.

Vị trí thông thường của công cụ snapshot.exe là

C:\Program Files\VMware\VMware ThinApp\snapshot.exe.

Quá trình chụp tạo ra một bản sao của tất cả các mục registry trên hệ thống và hệ

thống file siêu dữ liệu.

Hệ thống file siêu dữ liệu bao gồm các đường dẫn, tên file, thuộc tính, kích thước và

các thông tin thời gian đóng dấu nhưng không bao gồm file dữ liệu thực tế.

Tạo một dự án với công cụ dòng lệnh snapshot.exe

1. Lưu một bản chụp đầu tiên của cấu hình máy tính hiện hành vào đĩa. snapshot.exe C:\Start.snapshot

2. Cài đặt ứng dụng và thực hiện thủ công bất kỳ thay đổi hệ thống cần thiết.

Trang 68

3. Lưu vào đĩa một bản chụp của các cấu hình máy tính mới. snapshot.exe C:\End.snapshot

4. Tạo một file mẫu Package.ini. snapshot.exe C:\Start.snapshot -SuggestProject C:\End.snapshot

C:\Template.ini

ThinApp sử dụng file mẫu để tạo ra file đích Package.ini. File mẫu này có chứa một

danh sách của tất cả các entry point file thực thi được phát hiện và các tham số

Package.ini. Nếu bạn viết script của riêng bạn để thay thế Setup Capture wizard, sử

dụng file mẫu Package.ini để chọn các entry point để giữ hoặc tùy chỉnh tham số

Package.ini như InventoryName.

5. Tạo một dự án ThinApp. snapshot.exe C:\Template.ini -GenerateProject

C:\MyProjectDirectory

6. (Tùy chọn) Xóa thư mục C:\Start.snapshot, C:\End.snapshot, và file

C:\Template.ini.

7. (Tùy chọn) Để tạo ra nhiều dự án với các cấu hình khác nhau, sử dụng lại các file

ban đầu Start.snapshot và lặp lại các thủ tục từ Bước 2.

Tuỳ chỉnh file snapshot.ini File cấu hình snapshot.ini chỉ định các khóa registry nào sẽ được loại trừ từ một dự án

ThinApp khi bạn capture một ứng dụng.

Ví dụ, nếu bạn sử dụng Internet Explorer 7, bạn có thể cần ThinApp để capture các

khóa registry sau đây:

+ HKEY_CURRENT_USER\Software\Microsoft\Internet

Explorer\Desktop\Components

+ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet

Settings

Page 82: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet

Settings\Connections

+ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware

Profiles\0001\Software\Microsoft\Windows\CurrentVersion\Internet Settings

Nếu file snapshot.ini loại trừ khóa

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Intern

et Settings\Connections theo mặc định, bạn có thể loại bỏ khóa này từ file

snapshot.ini để đảm bảo rằng ThinApp capture khóa đó trong quá trình chụp.

Nếu bạn không tùy chỉnh file snapshot.ini, quá trình chụp sẽ tải file từ một trong các

địa điểm:

+ Application Data\ThinApp\snapshot.ini

Đây là vị trí các thư mục AppData của người sử dụng.

+ C:\Program Files\VMware\VMware ThinApp\snapshot.ini

Đây là vị trí mà từ đó ThinApp chạy công cụ snapshot.exe.

Sử dụng công cụ snapshot.exe để giải nén một dự án ThinApp ThinApp cho phép bạn trích xuất một dự án ThinApp đang tồn tại vào một hệ điều

hành capture và xây dựng.

ThinApp sử dụng snapshot.exe và snapshot64.exe để trích xuất dự án ảo đang tồn tại

lên hệ điều hành capture và xây dựng. snapshot.exe được sử dụng cho một hệ điều

hành 32-bit và snapshot64.exe được sử dụng cho một hệ điều hành 64-bit.

ThinApp 5.1 có các tùy chọn dòng lệnh sau đây để trích xuất các dự án hiện có lên hệ

thống capture và xây dựng.

+ snapshot.exe: Được sử dụng để trích xuất một dự án ThinApp hiện có vào một

hệ điều hành capture và xây dựng 32-bit.

+ snapshot64.exe: Được sử dụng để trích xuất một dự án ThinApp hiện có vào

một hệ điều hành capture và xây dựng 64-bit.

Trong ví dụ sau đây, ThinApp trích xuất một ứng dụng ảo Microsoft Office 64-bit

đang tồn tại sang một Windows 7, hệ điều hành gốc 64-bit.

Trang 69

Ví dụ: snapshot64.exe "C:\Microsoft Office Components 64-bit 2010" -

installnative

+ tùy chọn -installnative chiết xuất từ dự án hiện có ThinApp vào hệ điều hành

gốc.

+ tùy chọn -printlog chuyển hướng các thông điệp đăng nhập vào một file văn

bản.

Điều kiện tiên quyết trước

Page 83: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ Kiến trúc và hương vị của hệ điều hành đã capture là giống như của hệ điều hành

triển khai.

+ Thực hiện việc trích xuất dự án ThinApp hiện có trên máy capture và xây dựng sạch.

+ Đảm bảo rằng hồ sơ người dùng trong các dự án ảo hiện có là giống như của máy

capture và xây dựng.

Trích xuất một dự án ThinApp hiện có đến một máy ảo sạch

Trong ví dụ này, bạn sẽ trích xuất một ứng dụng ảo Microsoft Office 2010 64-bit hiện

có lên hệ điều hành bản địa Windows 7 64-bit.

1. Đăng nhập vào máy ảo Windows 7 64-bit.

2. Bấm vào Start > Run > cmd.

3. Điều hướng đến thư mục ThinApp.

4. Chạy snapshot64.exe "c: \ Microsoft Office Components 64-

bit 2010" -installnative

Xác minh ứng dụng được trích xuất Microsoft Office 64-bit

Trong ví dụ này, bạn sẽ xác minh xem các ứng dụng chiết xuất đang làm việc như

mong đợi không.

1. Trong máy ảo capture và xây dựng, kích Start > Run > appwiz.cpl.

2. Kiểm tra xem tên của ứng dụng chiết xuất có mặt chưa.

3. Bắt đầu Microsoft Office Professional Plus 2010.

Sự trích xuất ứng dụng ThinApp là thành công, bạn có thể bắt đầu bất kỳ trường hợp

của Microsoft Office 2010.

Trang 70

Trang 71

7. ThinApp File System Formats and Macros ThinApp lưu sự khác biệt giữa các bức ảnh chụp trong quá trình setup capture trong

một hệ thống file ảo và registry ảo. Hệ thống file ảo sử dụng thư mục macro để đại

diện cho vị trí vỏ thư mục Windows.

Chương này về các hệ thống file ảo bao gồm các chủ đề sau:

+ "Định dạng Virtual File System" trên trang 71

+ "Macros thư mục ThinApp" trên trang 71

Định dạng Virtual File System ThinApp tạo ra các định dạng hệ thống file ảo sau đây:

+ Build

Quá trình setup capture tạo ra định dạng này từ các file được tìm thấy trực tiếp trên hệ

thống file vật lý. ThinApp sử dụng thư mục macro để đại diện cho vị trí vỏ thư mục

Windows.

Page 84: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ Embedded

File build.bat gây nên một quá trình xây dựng mà nó nhúng một file hệ thống chỉ đọc

trong file thực thi. Các file thực thi cung cấp khả năng streaming dựa trên khối đến

máy tính khách. ThinApp nén file hệ thống.

+ Sandbox

Chạy các ứng dụng được capture tạo ra cấu trúc thư mục đọc-ghi chứa dữ liệu file mà

ứng dụng thay đổi. Sự thay đổi file nhắc ThinApp trích xuất các file ảo được nhúng

đến sandbox bao gồm các hoạt động sau đây:

+ Thay đổi con dấu thời gian hoặc các thuộc tính của một file

+ Mở một file với quyền truy cập ghi

+ Cắt bỏ một file

+ Đổi tên hoặc di chuyển một file

Các hệ thống file nhúng và sandbox sử dụng thư mục macro để kích hoạt đường dẫn

file đến tự động mở rộng tại thời điểm chạy.

Macros thư mục ThinApp ThinApp sử dụng macro để đại diện cho những địa điểm đường dẫn hệ thống file mà

nó có thể thay đổi khi các ứng dụng ảo hóa chạy trên các hệ điều hành Windows khác

nhau hoặc máy tính khác nhau. Việc sử dụng các macro cho phép chia sẻ thông tin hồ

sơ ứng dụng để ngay lập tức di chuyển đến các hệ điều hành khác nhau.

Trang 72

Ví dụ, bạn có thể capture một ứng dụng trên một hệ thống mà C:\WINNT là thư mục

Windows và triển khai ứng dụng trên một hệ thống mà C:\Windows là thư mục

Windows. ThinApp minh bạch chuyển đổi C:\WINNT đến %SystemRoot% trong suốt

quá trình capture cho hệ thống đó và mở rộng %SystemRoot% đến C:\Windows trong

thời gian chạy cho hệ thống đó.

Nếu một ứng dụng đăng ký DLL đến C:\winnt\system32 khi đang chạy trên Windows

2000, người dùng có thể bỏ ứng dụng và đăng nhập vào một máy tính Windows XP.

Trên máy tính Windows XP, các file xuất hiện để tồn tại C:\windows\system32 và tất

cả các khóa registry liên quan trỏ đến C:\windows\system32.

Trên Windows Vista, ThinApp di chuyển các file DLL của Windows SxS và thông tin

chính sách để phù hợp với Windows Vista thay vì sử dụng phong cách đường dẫn file

Windows XP. Tính năng này cho phép phần lớn ứng dụng di chuyển để cập nhật hoặc

hệ điều hành cũ.

ThinApp cung cấp hỗ trợ SxS cho ứng dụng chạy trên Windows 2000 mặc dù cơ bản

hệ điều hành không. Sự hỗ trợ này cho phép phần lớn các ứng dụng đã capture trên

Windows XP chạy trên Windows 2000 không có thay đổi.

Danh sách các macro ThinApp

Page 85: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

ThinApp sử dụng file shfolder.dll để có được vị trí của các vỏ thư mục. Các

phiên bản cũ của file shfolder.dll không hỗ trợ một số tên macro.

Macros đòi hỏi shfolder.dll phiên bản 5.0 hoặc mới hơn bao gồm

%ProgramFilesDir%, %Common AppData%, % LocalAppData%,

%My Pictures% và %Profile%.

Macros đòi hỏi shfolder.dll phiên bản 6.0 hoặc mới hơn bao gồm %My

Videos%, %Personal% và %Profiles%.

Bảng 7-1 liệt kê các thư mục macro có sẵn.

Bảng 7-1. Folder Macros

Macro name Typical Location

%AdminTools% C:\Documents and Settings\<user_name>\Start

Menu\Programs\Administrative Tools

%AppData% C:\Documents and Settings\<user_name>\Application Data

%CDBurn Area% C:\Documents and Settings\<user_name>\Local Settings\Application

Data\Microsoft\CD Buring

%Common

AdminTools%

C:\Documents and Settings\All Users\Start

Menu\Programs\Administrative Tools

%Common AppData% C:\Documents and Settings\All Users\Application Data

%Common Desktop% C:\Documents and Settings\All Users\Desktop

%Common

Documents%

C:\Documents and Settings\All Users\Documents

%Common Favorites% C:\Documents and Settings\All Users\Favorites

%Common Programs% C:\Documents and Settings\All Users\Start Menu\Programs

%Common

StartMenu%

C:\Documents and Settings\All Users\Start Menu

%Common Startup% C:\Documents and Settings\All Users\Start Menu\Programs\Startup

%Common

Templates%

C:\Documents and Settings\All Users\Templates

%Cookies% C:\Documents and Settings\<user_name>\Cookies

%Desktop% C:\Documents and Settings\<user_name>\Desktop

%Drive_c% C:\

%Drive_m% M:\

%Favorites% C:\Documents and Settings\<user_name>\Favorites

%Fonts% C:\Windows\Fonts

%History% C:\Documents and Settings\<user_name>\Local Settings\History

%Internet Cache% C:\Documents and Settings\<user_name>\Local Settings\Temporary

Internet Files

%Local AppData% C:\Documents and Settings\<user_name>\Local Settings\Application

Data

Page 86: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 73

Bảng 7-1. Folder Macros (Continued)

Macro name Typical Location

%My Pictures% C:\Documents and Settings\<user_name>\My Documents\My Pictures

%My Videos% C:\Documents and Settings\<user_name>\My Documents\My Videos

%NetHood% C:\Documents and Settings\<user_name>\NetHood

%Personal% C:\Documents and Settings\<user_name>\My Documents

%PrintHood% C:\Documents and Settings\<user_name>\Printhood

%Profile% C:\Documents and Settings\<user_name>

%Profiles% C:\Documents and Settings

%Program Files

Common%

C:\Program Files\Common Files

%ProgramFilesDir

%

C:\Program Files

%Programs% C:\Documents and Settings\<user_name>\Start Menu\Programs

%Recent% C:\Documents and Settings\<user_name>\My Recent Documents

%Resources% C:\Windows\Resources

%Resources

Localized%

C:\Windows\Resources\<language_ID>

%SendTo% C:\Documents and Settings\<user_name>\SendTo

%Startup% C:\Documents and Settings\<user_name>\Start Menu\Programs\Startup

%SystemRoot% C:\Windows

%SystemSystem% C:\Windows\System32

%TEMP% C:\Documents and Settings\<user_name>\Local Settings\Temp

%Templates% C:\Documents and Settings\<user_name>\Templates

Truy xuất %SystemRoot% trong một môi trường Terminal Services

Một môi trường Terminal Services có một thư mục chia sẻ của Windows, chẳng hạn như

C:\Windows, và một thư mục Windows riêng tư, chẳng hạn như C:\Documents and

Settings\User\Windows. Trong môi trường này, ThinApp sử dụng thư mục người dùng cụ

thể cho %SystemRoot%.

Trang 74

Trang 75

Page 87: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

8. Creating ThinApp Scripts Scripts thay đổi hành vi của các ứng dụng ảo một cách linh động. Bạn có thể tạo ra

custom code trước khi bắt đầu một ứng dụng được đóng gói với ThinApp hoặc sau

khi một ứng dụng thoát khỏi. Bạn có thể sử dụng các script để xác thực người sử dụng

và tải file cấu hình từ một môi trường vật lý đến môi trường ảo.

Các hàm callback chạy mã trong các sự kiện cụ thể. Nếu các ứng dụng tạo ra các tiến

trình con, sử dụng các hàm callback để chạy mã duy nhất chỉ trong tiến trình cha mẹ

chính.

Các hàm API chạy các hàm ThinApp và tương tác với ThinApp ở thời điểm chạy. Các

hàm API có thể xác thực người sử dụng và ngăn chặn sự khởi đầu của các ứng dụng

cho người sử dụng trái phép.

Thêm các script đến ứng dụng của bạn liên quan đến việc tạo ra một file văn bản

ANSI với phần mở rộng file .vbs trong thư mục gốc dự án ứng dụng. Thư mục gốc dự

án cùng thư mục chứa file Package.ini.

Trong quá trình xây dựng, ThinApp thêm các file script đến file thực thi và chạy từng

file script tại thời điểm chạy.

ThinApp sử dụng VBScript để chạy các file script. Để biết thông tin về VBScript, xem

tài liệu hướng dẫn Microsoft VBScript. Bạn có thể sử dụng VBScript để truy cập điều

khiển COM được đăng ký trên hệ thống máy chủ hoặc trong gói ảo.

Chương này bao gồm các chủ đề sau:

+ "Callback Functions" trên trang 75

+ "Thực hiện Scripts trong một môi trường ThinApp" trên trang 76

+ "Các hàm API" trên trang 79

Callback Functions Các hàm callback có thể chạy trong điều kiện nhất định. Ví dụ, các hàm callback chạy

mã script chỉ khi một ứng dụng bắt đầu hoặc thoát.

Tên các hàm callback bao gồm những tên sau đây:

+ OnFirstSandboxOwner - Được gọi khi một ứng dụng lần đầu tiên khóa

sandbox. Callback này không được gọi nếu một bản sao thứ hai của cùng một ứng

dụng sử dụng cùng sandbox trong khi các bản sao đầu tiên chạy. Nếu ứng dụng đầu

tiên đẻ trứng vào một tiến trình con và thoát, tiến trình con thứ hai khóa sandbox và

ngăn chặn callback này khỏi việc chạy cho đến khi tất cả các tiến trình con thoát và

ứng dụng chạy lại lần nữa.

+ OnFirstParentStart – Được gọi trước khi chạy một file thực thi ThinApp bất

kể là sandbox có đồng thời bị sở hữu bởi một file thực thi đã capture khác không.

+ OnFirstParentExit - Được gọi khi tiến trình trình cha mẹ đầu tiên thoát khỏi.

Nếu một tiến trình cha mẹ chạy một tiến trình con và thoát, callback này được gọi

thậm chí nếu tiến trình con tiếp tục chạy.

Page 88: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ OnLastProcessExit - Được gọi khi tiến trình cuối cùng sở hữu sandbox thoát

khỏi. Nếu một tiến trình cha mẹ chạy một tiến trình con và thoát khỏi, callback này

được gọi khi tiến trình con cuối cùng thoát khỏi.

Trang 76

Ví dụ sau đây cho thấy các chức năng callback OnFirstSandboxOwner và

OnFirstParentExit.

------------------------ example.vbs --------------------------------- Function OnFirstSandboxOwner

msgBox "The sandbox owner is:" + GetCurrentProcessName

End Function

Function OnFirstParentExit

msgBox "Quiting application:" + GetCurrentProcessName

End Function

msgBox "This code will execute for all parent and child

processes"

---------------------------------------------------------------------

Thực hiện Scripts trong một môi trường ThinApp Bạn có thể thực hiện một script trong các trường hợp sau đây:

+ Một ứng dụng hết hạn dùng trên một ngày cụ thể.

+ Chạy một file .bat từ một mạng chia sẻ trong môi trường ảo.

+ Sửa đổi registry ảo.

+ Nạp file .reg khi chạy.

+ Ngừng một dịch vụ ảo khi các ứng dụng chính thoát.

+ Sao chép một file cấu hình hệ thống bên ngoài vào môi trường ảo khi khởi động.

Thực hiện một script

1. Lưu nội dung script trong một file văn bản đơn giản với phần mở rộng .vbs

trong cùng thư mục với Package.ini của bạn.

Bạn có thể sử dụng tên file bất kỳ. ThinApp sẽ biết thêm tất cả các file .vbs

đến gói ở thời điểm xây dựng.

2. Xây dựng lại ứng dụng.

Ví dụ về file .bat

Script sau chạy một file .bat bên ngoài từ một mạng chia sẻ trong môi trường

ảo. File .bat tạo ra những thay đổi đến môi trường ảo bằng cách sao chép các

file, xóa các file, hoặc áp dụng các thay đổi registry bằng cách sử dụng

regedit /s regfile.reg. Chạy script này chỉ dành cho các tiến trình

Page 89: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

cha mẹ vào lần đầu tiên. Nếu bạn chạy script này cho các tiến trình khác, mỗi

bản sao của công cụ cmd.exe chạy script và một đệ quy vô hạn phát triển. Function OnFirstParentStart

Set Shell = CreateObject("Wscript.Shell")

Shell.Run "\\jcdesk2\test\test.bat"

End Function

Ví dụ về Timeout

Script sau đây ngăn cản việc sử dụng một ứng dụng sau một ngày quy định.

VBS sử dụng định dạng ngày #mm/dd/yyyy#, không phân biệt địa phương.

Việc kiểm tra này xảy ra khi khởi động của tiến trình cha mẹ và bất kỳ tiến

trình con. if Date >= #03/20/2007# then

msgBox "This application has expired, please contact

Administrator"

ExitProcess 0

end if

Trang 77

Sửa đổi Virtual Registry

Thủ tục script sau sửa đổi registry ảo tại thời điểm chạy để tải một driver

ODBC bên ngoài từ cùng thư mục nơi gói file thực thi nằm.

Chỉnh sửa registry

1. Lấy đường dẫn đến gói file thực thi. Origin = GetEnvironmentVariable("TS_ORIGIN")

2. Tìm các dấu gạch chéo cuối cùng trong đường dẫn và có được các ký tự

đứng trước dấu gạch chéo. LastSlash = InStrRev(Origin, "\")

SourcePath = Left(Origin, LastSlash)

3. Tạo thành một con đường mới đến file ODBC DLL nằm ngoài gói. DriverPath = SourcePath + "tsodbc32.dll"

4. Sửa đổi registry ảo để trỏ nó đến vị trí này. Set WSHShell = CreateObject("Wscript.Shell")

WSHShell.RegWrite

"HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Transoft

ODBC Driver\Driver," DriverPath

Sự sửa đổi này khiến cho ứng dụng tải DLL từ một vị trí bên ngoài.

Ví dụ về file .reg

Script sau đây nạp các giá trị registry từ một file .reg bên ngoài vào trong

registry ảo khi chạy. Function OnFirstParentStart

ExecuteVirtualProcess "regedit /s C:\tmp\somereg.reg"

NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
Page 90: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

End Function

Ví dụ về ngừng một dịch vụ

Script sau đây dừng một dịch vụ ảo hoặc bản địa khi ứng dụng chính thoát. Function OnFirstParentExit

Set WshShell = CreateObject("WScript.Shell")

WshShell.Run "net stop ""iPod Service"""

End Function

Ví dụ về sao chép một tập tin

Các phần script sau đây cho thấy làm thế nào để sao chép một file cấu hình

nằm trong cùng thư mục với file thực thi đã capture vào trong hệ thống file ảo

mỗi khi ứng dụng bắt đầu. Script này rất hữu ích cho một file cấu hình bên

ngoài dễ dàng hơn để chỉnh sửa sau khi triển khai. Bởi vì hoạt động sao chép

xảy ra mỗi lần bạn chạy ứng dụng, bất kỳ những thay đổi đến phiên bản mở

rộng này được phản ánh trong phiên bản ảo.

Ví dụ, nếu file thực thi đã capture bạn đang chạy từ \\server\share\myapp.exe,

script này tìm kiếm một file cấu hình nằm ở \\server\share\config.ini và sao

chép nó vào vị trí hệ thống file ảo tại C:\Program Files\my

application\config.ini.

Bằng cách đặt mã này trong hàm OnFirstParentStart, nó chỉ được gọi một lần

mỗi lần script chạy. Nếu không thì nó chạy cho mỗi tiến trình con.

Function OnFirstParentStart

Trang 78

ThinApp thiết lập TS_ORIGIN để chỉ ra đường dẫn đầy đủ đến một gói file

thực thi đã capture. Một ứng dụng ảo thiết lập biến TS_ORIGIN vào đường

dẫn vật lý của primary data container. Nếu bạn có một ứng dụng ảo bao gồm

các file main.exe và shortcut.exe, cả hai file nằm trong C:\VirtApp. Khi bạn

chạy file main.exe, biến TS_ORIGIN được thiết lập đến

C:\VirtApp\main.exe. Khi bạn chạy file shortcut.exe, biến môi trường

TS_ORIGIN được thiết lập đến C:\VirtApp\main.exe. Biến môi trường luôn

luôn được thiết lập đến primary data container, ngay cả khi bạn tạo một

shortcut. Khi bạn chạy VBScripts được bao gồm trong gói phần mềm, biến đã

được thiết lập và có sẵn cho các script. Origin = GetEnvironmentVariable ("TS_ORIGIN")

Bạn có thể tách các tên file từ TS_ORIGIN bằng cách tìm các dấu gạch chéo

cuối cùng và loại bỏ tất cả các ký tự sau đó. LastSlash = InStrRev(Origin, "\")

SourcePath = Left(Origin, LastSlash)

File nguồn sao chép vào môi trường ảo là đường dẫn bổ sung config.ini. SourceFile = SourcePath + "Config.ini"

NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
Page 91: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Vị trí để sao chép đến có thể là một vị trí khác nhau trên các máy tính khác

nhau, nếu các thư mục Program Files ánh xạ tới một địa điểm khác ngoài C:\.

Các cuộc gọi sau đây cho phép ThinApp mở rộng một macro để có được vị trí

chính xác cho máy tính địa phương. DestFile =

ExpandPath("%ProgramFilesDir%\MyApplication\Config.ini")

Sử dụng tham số file systemObject để kiểm tra file nguồn tồn tại.

Set objFSO = CreateObject("Scripting.filesystemObject")

If objFSO.FileExists(SourceFile) Then

Nếu file nguồn tồn tại, sao chép nó vào hệ thống file ảo. Thư mục ảo

%ProgramFilesDir%\MyApplication nằm trong gói này. objFSO.CopyFile SourceFile, DestFile, TRUE

End if

End Function

Thêm một giá trị vào hệ thống Registry

Thủ tục script này bổ sung thêm một giá trị cho hệ thống registry vật lý.

Thêm một giá trị đến hệ thống registry

1. Tạo một file .reg và chạy lệnh regedit /s như một tiến trình bên ngoài

mà truy cập vào hệ thống registry thay vì các registry ảo.

Funtion OnFirstParentStart

2. Tạo file .reg vào một vị trí mà có tham số IsolationMode thiết lập đến

Merged để mà môi trường ảo có thể truy cập nó với script này và môi trường

vật lý có thể truy cập nó bằng lệnh regedit /s.

RegFileName = ExpandPath ("%Personal%\thin.reg")

Set fso = CreateObject("Scripting.filesystemObject")

Set RegFile = fso.CreateTextFile (RegFileName, true)

Thư mục %Personal% là một thư mục mà có chế độ cách ly Merged theo

mặc định.

3. Xây dựng file .reg. RegFile.WriteLine("Windows Registry Editor Version 5.00")

RegFile.WriteBlankLines(1)

RegFile.WriteLine("[HKEY_CURRENT_USER\Software\ThinApp\De

mo]")

RegFile.WriteLine(chr(34) & "InventoryName" & chr(34) &

"=" & chr(34) & GetBuildOption("InventoryName") &

chr(34))

RegFile.Close

4. Thêm thông tin vào trong hệ thống registry. RegEditPid = ExecuteExternalProcess("regedit /s" &

chr(34) & RegFileName & chr(34))

WaitForProcess RegEditPid, 0

NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
NgocHuyPAV
Highlight
Page 92: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 79

Chờ cho đến khi quá trình hoàn tất.

5. Làm sạch môi trường. fso.DeleteFile(RegFileName)

End Function

Các hàm API

Bạn có thể sử dụng các hàm API mà hướng dẫn ThinApp hoàn thành các hoạt động

như tải các file DLL như các DLL ảo, chuyển đổi đường dẫn từ định dạng macro đến

định dạng hệ thống, và chạy các lệnh bên trong môi trường ảo.

AddForcedVirtualLoadPath

Hàm AddForcedVirtualLoadPath(Path) chỉ thị ThinApp tải tất cả

các file DLL từ đường dẫn cụ thể như DLLs ảo ngay cả khi chúng không nằm

trong gói.

Sử dụng hàm này nếu ứng dụng cần tải các file DLL bên ngoài mà phụ thuộc

vào các file DLL nằm bên trong gói.

Bạn có thể sử dụng tham số ForcedVirtualLoadPaths trong file

Package.ini để đạt được kết quả tương tự như hàm API này. Xem

"ForcedVirtualLoadPaths" trên trang 71.

Tham số

Path

[in] Tên file hoặc đường dẫn cho file DLL để tải như ảo.

Ví dụ

Bạn có thể tải bất kỳ DLL nằm trong cùng thư mục với file thực thi như một

DLL ảo. Origin = GetEnvironmentVariable("TS_ORIGIN")

TS_ORIGIN là đường dẫn mà file thực thi đang chạy từ đó.

Bạn có thể xóa tên file từ TS_ORIGIN bằng cách tìm các dấu gạch chéo cuối

cùng và loại bỏ tất cả các ký tự mà theo nó. LastSlash = InStrRev(Origin, "\")

SourcePath = Left(Origin, LastSlash)

Bạn có thể hướng dẫn ThinApp tải tất cả các file DLL trong thư mục tương tự

hoặc thấp hơn từ nơi mà nguồn gốc file thực thi cư trú. AddForcedVirtualLoadPath(SourcePath)

Tiến trình này cho phép bạn loại bỏ các file bổ sung trong cây SourcePath

và họ đã giải quyết nạp hoạt động chống lại các file DLL ảo.

ExitProcess

Hàm ExitProcessExitCode đóng ứng dụng hiện tại và đặt mã lỗi cụ thể.

Tham số

Page 93: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Exit code

[in] Mã lỗi thiết lập. Thông tin này có thể được cung cấp cho một tiến trình

cha. Giá trị 0 cho biết không có lỗi.

Trang 80

Ví dụ

Bạn có thể thoát khỏi tiến trình này và cho biết thành công. ExitProcess 0

Khi tiến trình thoát ra, hệ thống script nhận được hàm callback

OnLastProcessExist của nó. Bất kỳ DLLs được tải chạy mã chấm dứt để

làm sạch môi trường.

ExpandPath

Hàm ExpandPath (InputPath) chuyển đổi một đường dẫn từ định dạng

macro đến định dạng hệ thống.

Tham số

InputPath

[in] Một đường dẫn ở định dạng macro.

Trả về

Đường dẫn macro được mở rộng trong hệ thống định dạng.

Ví dụ Path = ExpandPath("%ProgramFilesDir%\MyApp.exe")

Path = C:\Program Files\MyApp.exe

Tất cả các đường dẫn macro phải thoát khỏi các ký tự % và # bằng cách thay

thế ký tự này với #25 và #23. Path=ExpandPath("%ProgramFilesDir%\FilenameWithPercent#25

.exe")

Điều này mở rộng đến C:\Program Files\FileNameWithPercent% .exe.

ExecuteExternalProcess

Hàm ExecuteExternalProcess(CommandLine) chạy một lệnh bên

ngoài của môi trường ảo. Bạn có thể sử dụng chức năng này để thay đổi hệ

thống vật lý.

Tham số

CommandLine

[in] Đại diện của ứng dụng và các tham số dòng lệnh để chạy bên ngoài môi

trường ảo.

Trả về

Integer process ID. Bạn có thể sử dụng process ID với hàm

WaitForProcess. Xem "WaitForProcess" trên trang 85.

Ví dụ

Page 94: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

ExecuteExternalProcess("C:\WINDOWS\system32\cmd.exe/c

copy C:\systemfile.txt C:\newsystemfile.txt")

Bạn có thể chạy lệnh này yêu cầu dấu ngoặc kép trong dòng lệnh. ExecuteExternalProcess("regsvr32 /s" & chr(34) &

"C:\Program Files\my.ocx" & chr(34))

Trang 81

ExecuteVirtualProcess

Hàm ExecuteVirtualProcess(CommandLine) chạy một lệnh bên

trong môi trường ảo. Bạn có thể sử dụng chức năng này để thực hiện thay đổi

cho môi trường ảo.

Tham số

CommandLine

[in] Đại diện của ứng dụng và các tham số dòng lệnh để chạy bên ngoài ảo

môi trường.

Trả về

Integer process ID. Bạn có thể sử dụng process ID với hàm

WaitForProcess. Xem "WaitForProcess" trên trang 85.

Ví dụ ExecuteVirtualProcess("C:\WINDOWS\system32\cmd.exe /c

copy C:\systemfile.txt C:\virtualfile.txt")

Bạn có thể chạy lệnh này yêu cầu dấu ngoặc kép trong dòng lệnh. ExecuteVirtualProcess("regsvr32 /s" & chr(34) &

"C:\Program Files\my.ocx" & chr(34))

GetBuildOption

Hàm GetBuildOption (OptionName) trả về giá trị của một thiết lập

được chỉ rõ trong phần [BuildOptions] của file Package.ini dùng để

capture các ứng dụng.

Tham số

OptionName

[in] Tên của các thiết lập.

Trả về

Hàm này trả về một giá trị chuỗi. Nếu tên tùy chọn yêu cầu không tồn tại, hàm

trả về một chuỗi trống ("").

Ví dụ

Package.ini chứa: [BuildOptions]

CapturedUsingVersion = 4.0.1-2866

Các dòng sau xuất hiện trong một file VBS: Value = GetBuildOption("CapturedUsingVersion")

Page 95: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

GetFileVersionValue

Hàm GetFileVersionValue(Filename, Value) trả về giá trị thông

tin phiên bản từ các file như một DLL cụ thể, OCX, hoặc file thực thi. Bạn có

thể sử dụng chức năng này để xác định số phiên bản nội bộ của một DLL hoặc

lấy thông tin DLL về chủ sở hữu quyền tác giả hoặc tên sản phẩm.

Tham số

Filename

[in] Tên của tên file mà các thông tin phiên bản đang được lấy.

Giá trị

[in] Tên của giá trị để lấy từ phần thông tin phiên bản của file được chỉ định.

Trang 82

Bạn có thể lấy các giá trị sau đây từ hầu hết các DLLs:

+ Comments

+ InternalName

+ ProductName

+ CompanyName

+ LegalCopyright

+ ProductVersion

+ FileDescription

+ LegalTrademarks

+ PrivateBuild

+ FileVersion

+ OriginalFilename

+ SpecialBuild

Trả về

Hàm này trả về một giá trị chuỗi. Nếu tên file bạn yêu cầu không tồn tại, hoặc

chức năng không thể xác định vị trí giá trị quy định trong file, hàm trả về một

chuỗi rỗng ("").

Ví dụ FileVersion =

GetFileVersionValue("C:\windows\system32\kernel32.dll,"

"FileVersion")

if FileVersion = "1.0.0.0" then

MsgBox "This is Version 1.0!"

End if

GetCommandLine

Hàm GetCommandLine truy cập các tham số dòng lệnh được truyền cho các

chương trình đang chạy.

Page 96: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trả về

Hàm này trả về một chuỗi đại diện cho các đối số dòng lệnh được truyền cho

chương trình đang chạy hiện tại, bao gồm cả các file thực thi ban đầu.

Ví dụ MsgBox "This command line for this EXE was " +

GetCommandLine

GetCurrentProcessName

Hàm GetCurrentProcessName truy cập vào tên đường dẫn ảo đầy đủ của

tiến trình hiện tại.

Trả về

Hàm này trả về một chuỗi đại diện cho tên đường dẫn thực thi đầy đủ bên

trong môi trường ảo. Trong hầu hết trường hợp, đường dẫn này là C:\Program

Files\..., thậm chí nguồn gói chạy từ một mạng chia sẻ.

Ví dụ MsgBox "Running EXE path is " + GetCurrentProcessName

Trang 83

GetOSVersion

Hàm GetOSVersion () trả về thông tin về các phiên bản hiện hành của

Windows.

Tham số

Chức năng này không có tham số.

Trả về

Hàm này trả về một chuỗi định dạng

MAJOR.MINOR.BUILD_NUMBER.PLATFORM_ID OS_STRING.

MAJOR là một trong các giá trị sau:

Windows Vista 6

Windows Server 2008 6

Windows Server 2003 5

Windows XP 5

Windows 2000 5

Windows NT 4.0 4

MINOR là một trong các giá trị sau:

Windows Vista 0

Windows Server 2008 0

Windows Server 2003 2

Windows XP 1

Windows 2000 0

Windows NT 4.0 0

Page 97: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Windows NT 3.51 51

BUILD_NUMBER là số build của hệ điều hành.

PLATFORM_ID gán một trong các giá trị sau:

+ Value = 1 cho Windows Me, Windows 98, hoặc Windows 95 (Windows 95

dựa trên hệ điều hành)

+ Giá trị = 2 cho Windows Server 2003, Windows XP, Windows 2000, hoặc

Windows NT. (Windows NT dựa trên hệ điều hành)

OS_STRING hiện thông tin về hệ điều hành như Service Pack 2.

Ví dụ if GetOSVersion() = "5.1.0.2 Service Pack 2" then

MsgBox "You are running on Windows XP Service Pack

2!"

endif

Trang 84

GetEnvironmentVariable

Hàm GetEnvironmentVariable (Name) trả về biến môi trường liên

quan đến Name.

Tham số

Name

[in] Tên của biến môi trường mà giá trị được lấy ra.

Trả về

Hàm này trả về giá trị chuỗi liên kết với các biến môi trường Name.

Ví dụ MsgBox "The package source EXE is " +

GetEnvironmentVariable("TS_ORIGIN")

RemoveSandboxOnExit

Hàm RemoveSandboxOnExit(YesNo) thiết lập để xác định xem có nên

xóa sandbox khi tiến trình con cuối cùng thoát.

Nếu bạn thiết lập tham số RemoveSandboxOnExit đến 1 trong file

Package.ini, hành vi dọn dẹp mặc định cho gói là Yes. Bạn có thể thay đổi

hành vi dọn dẹp đến No bằng cách gọi RemoveSandboxOnExit với

giá trị 0. Nếu bạn không sửa đổi mục RemoveSandboxOnExit = 1 trong

file Package.ini, mặc định hành vi dọn dẹp cho gói là No. Bạn có thể thay đổi

hành vi dọn dẹp đến Yes bằng cách gọi RemoveSandboxOnExit

với giá trị 1.

Tham số

Yes No

[in] Bạn muốn dọn dẹp khi tiến trình cuối cùng thoát? 1 = Yes, 0 = No

Page 98: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Ví dụ

Ví dụ sau đây sẽ bật dọn dẹp. RemoveSandboxOnExit 1

Ví dụ sau sẽ tắt dọn dẹp. RemoveSandboxOnExit 0

SetEnvironmentVariable

Hàm SetEnvironmentVariable (Name, Value) thiết lập giá trị của

một biến môi trường.

Tham số

Name

[in] Tên của biến môi trường để lưu trữ giá trị.

Value

[in] Giá trị để lưu trữ.

Ví dụ SetEnvironmentVariable "PATH", "C:\Windows\system32"

Trang 85

SetfileSystemIsolation

Hàm SetfileSystemIsolation (Directory,

IsolationMode)thiết lập chế độ cách ly của một thư mục.

Tham số

Directory

[in] Đường dẫn đầy đủ của thư mục mà chế độ cách ly phải được thiết lập.

IsolationMode

[in] Chế độ cách ly để thiết lập.

1 = WriteCopy

2 = Merged

3 = Full

Ví dụ

Bạn có thể thiết lập các chế độ cách ly Merged cho các thư mục temp. Setfile systemIsolation GetEnvironmentVariable("TEMP"), 2

SetRegistryIsolation

Hàm SetRegistryIsolation (RegistryKey, IsolationMode)

thiết lập chế độ cách ly của một khóa registry.

Tham số

RegistryKey

[in] Khóa registry mà thiết lập chế độ cách ly lên đó. Bắt đầu với HKLM

cho HKEY_LOCAL_MACHINE, HKCU cho HKEY_CURRENT_USER, và

HKCR cho HKEY_CLASSES_ROOT.

Page 99: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

IsolationMode

[in] Chế độ cách ly thiết lập.

1 = WriteCopy

2 = Merged

3 = Full

Ví dụ

Bạn có thể thiết lập các chế độ cách ly hoàn toàn với

HKEY_CURRENT_USER\Software\ThinApp\Test. SetRegistryIsolation "HKCU\Software\ThinApp\Test," 3

WaitForProcess

Hàm WaitForProcess (ProcessID, TimeOutInMilliSeconds)

chờ đợi cho đến khi process ID được chạy xong.

Tham số

ProcessID

[in] Process ID kết thúc. Process ID có thể đến từ ExecuteExternalProcess

hoặc ExecuteVirtualProcess.

TimeOutInMilliSeconds

[in] Một khoảng thời gian tối đa để chờ cho quá trình hoàn thành việc chạy

trước khi tiếp tục. Một giá trị của 0 quy định cụ thể INFINITE.

Trả về

Hàm này trả về một số nguyên.

Trang 86

0 = Timeout fails

1 = Process exits

2 = Process does not exist or security is denied

Ví dụ id = ExecuteExternalProcess

("C:WINDOWS\system32\cmd.exe")

WaitForProcess (id, 0)

Trang 87

9. Monitoring and Troubleshooting ThinApp Bạn có thể sử dụng Log Monitor để tạo ra các file theo dõi và khắc phục sự cố môi

trường ThinApp. Log Monitor chỉ tương thích với một ứng dụng đã capture bằng cách

sử dụng cùng một phiên bản của ThinApp.

Chương này bao gồm các chủ đề sau:

+ "Cung cấp thông tin đến bộ phân hỗ trợ kỹ thuật" trên trang 87

Page 100: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ "Log Monitor Operations" trên trang 87

+ "Khắc phục sự cố các ứng dụng cụ thể" trên trang 94

Cung cấp thông tin đến bộ phân hỗ trợ kỹ thuật Bộ phận hỗ trợ kỹ thuật VMware đòi hỏi các thông tin sau đây từ bạn để khắc phục sự

cố trên môi trường ThinApp:

+ Tái xây dựng từng bước một các thủ tục mà bạn thực hiện khi bạn gặp phải các vấn

đề.

+ Thông tin về cấu hình máy chủ. Chỉ định hệ điều hành Windows, sử dụng Terminal

Server hoặc Citrix XenApp, và bất kỳ chương trình tiên quyết mà bạn cài đặt trên các

máy tính bản địa.

+ Bản sao của các file dấu vết Log Monitor. Xem "Log Monitor Operations" trên trang

87.

+ Bản sao chính xác của thư mục capture và tất cả nội dung. Không bao gồm các file

thực thi được compile từ thư mục con /bin.

+ Mô tả hành vi dự kiến và chính xác của ứng dụng.

+ (Tùy chọn) Bản sao các ứng dụng mà bạn đã capture. Bao gồm cấu hình các thành

phần máy chủ cho Oracle Server hay Active Directory.

+ (Tùy chọn) Các file bản địa hoặc vật lý hoặc thiết lập registry quan trọng mà có thể

liên quan đến vấn đề.

+ (Tùy chọn) Các service hệ thống hoặc các thiết bị driver cần thiết.

+ (Tùy chọn) Máy ảo giúp tái tạo các khiếm khuyết. Đội hỗ trợ VMware có thể yêu

cầu điều này nếu hỗ trợ liên lạc là không thể tái tạo các vấn đề.

+ (Tùy chọn) Một hoặc nhiều phần WebEx tạo điều kiện gỡ lỗi trong môi trường của

bạn.

Log Monitor Operations Log Monitor ghi lại chi tiết hoạt động thời gian cho các file thực thi mà ứng dụng bắt

đầu đã capture.

Log Monitor chặn lại và ghi tên, địa chỉ, các tham số và giá trị trả lại cho mỗi lần gọi

hàm bằng file thực thi đích hoặc DLL. Log Monitor ghi lại các hoạt động sau đây:

+ Win32 API cuộc gọi từ các ứng dụng đang chạy trong hệ điều hành ảo ThinApp.

+ Lỗi tiềm năng, trường hợp ngoại lệ, và các sự kiện bảo mật trong ứng dụng.

+ Tất cả các file DLL được tải bởi ứng dụng và dãy địa chỉ.

Trang 88

Các file log được tạo ra có thể lớn hơn 100MB và phụ thuộc vào ứng dụng chạy trong

bao lâu với Log Monitor và một ứng dụng bận rộn như thế nào. Lý do duy nhất để

chạy Log Monitor cho một ứng dụng là để capture các file theo dõi. File theo dõi là rất

quan trọng cho việc xử lý sự cố bằng cách phân tích và tương ứng với nhiều mục trong

file dấu vết.

Page 101: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Khắc phục sự cố hoạt động với Log Monitor

Bạn có thể sử dụng Log Monitor để thực hiện xử lý sự cố cơ bản.

Tạo bản ghi ThinApp

1. Tắt ứng dụng đã capture để điều tra.

2. Trên máy tính mà bạn đã capture ứng dụng, chọn Start > Programs >

VMware > ThinApp Log Monitor.

Để bắt đầu Log Monitor trên một máy triển khai, sao chép các file

log_monitor.exe, logging.dll, và Setup Capture.exe từ C:\Program

Files\VMware\VMware ThinApp đến máy triển khai và double-click vào

tập log_monitor.exe.

3. Khởi động ứng dụng đã capture.

Khi ứng dụng bắt đầu, một mục mới xuất hiện trong danh sách Log Monitor.

Log Monitor cho thấy một mục nhập cho mỗi file dấu vết mới. Mỗi file không

nhất thiết phải tương ứng với một quá trình duy nhất.

4. Kết thúc ứng dụng ngay sau khi nó gặp một lỗi.

5. Tạo bản ghi cho mỗi dấu vết file bạn muốn để điều tra.

a. Chọn file .trace trong danh sách.

b. Nhấn vào Generate text trace report.

Nhiều quy trình độc lập không nằm trong cùng một bản ghi.

ThinApp tạo ra một file .trace. Log Monitor chuyển đổi file .trace nhị

phân vào một file .txt.

6. (Tùy chọn) Mở file .txt với một trình soạn thảo văn bản và quét thông tin.

Trong một số trường hợp, các file .txt là quá lớn để mở với trình biên tập văn

bản.

7. Zip các file .txt và gửi các file đến đội hỗ trợ VMware.

Các tác vụ nâng cao trong Log Monitor Operations

Các hoạt động nâng cao trong Log Monitor bao gồm việc ngưng hoặc xóa các

file dấu vết. Nếu một ứng dụng bận rộn hoặc có hiệu suất chậm chạp với một

hành động cụ thể, bạn có thể thực hiện đình chỉ và tiếp tục hoạt động để

capture các bản ghi cho một thời hạn cụ thể. Các file log kết quả nhỏ hơn so

với file log thông thường và dễ dàng phân tích hơn. Ngay cả khi bạn ngưng và

tiếp tục hoạt động, nguyên nhân gây ra một lỗi có thể xảy ra bên ngoài cửa sổ

thời gian của bạn. Đình chỉ hoạt động và tiếp tục hoạt động thì phổ biến và ảnh

hưởng đến tất cả các ứng dụng.

Để biết thêm thông tin về cách sử dụng các tùy chọn này, liên hệ với đội hỗ trợ

VMware.

Thực hiện các hoạt động nâng cao Log Monitor

1. Tắt ứng dụng đã capture để điều tra.

Page 102: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

2. Trên máy tính mà bạn đã capture ứng dụng, chọn Start > Programs >

VMware > ThinApp Log Monitor.

Để bắt đầu Log Monitor trên một máy triển khai, sao chép các file

log_monitor.exe, logging.dll, và Setup Capture.exe từ C:\Program

Files\VMware\VMware ThinApp đến máy triển khai và double-click vào

tập log_monitor.exe.

Trang 89

3. (Tùy chọn) Capture bản ghi cho một thời hạn cụ thể để khắc phục một vấn

đề chính xác.

a. Chọn hộp kiểm Suspend.

b. Khởi động ứng dụng đã capture và để cho nó chạy đến điểm mà các

lỗi xảy ra hoặc vấn đề thực hiện bắt đầu.

c. Trong Log Monitor, bỏ chọn Suspend để tiếp tục quá trình khai thác

ghi.

Bạn có thể kiểm tra hành vi ứng dụng để cách ly các vấn đề.

d. Chọn Suspend để ngăn chặn quá trình ghi.

4. (Tùy chọn) Chọn một file trong danh sách file dấu vết để xóa và bấm Delete

File.

5. (Tùy chọn) Nhấn Kill App để ngăn chặn một quá trình chạy.

6. (Tùy chọn) Nhấp vào Compress để giảm kích thước của một file dấu vết.

Hoạt động này sẽ làm chậm hiệu suất của ứng dụng.

7. (Tùy chọn) Tạo một báo cáo file dấu vết.

a. Chọn một file dấu vết trong danh sách file, gõ tên file dấu vết, hoặc

nhấn Browse để chọn một file dấu vết trên hệ thống của bạn.

b. (Tùy ý) Nhập hoặc thay đổi tên của báo cáo đầu ra.

c. Nhấn vào Generate text trace report để tạo ra một bản báo cáo.

Bạn có thể xem file với một trình soạn thảo văn bản hỗ trợ ngắt dòng

theo phong cách UNIX.

Định vị lỗi

ThinApp logging cung cấp một lượng thông tin lớn. Những lời khuyên sau đây

có thể giúp người dùng nâng cao điều tra lỗi:

+ Xem lại các lỗi tiềm năng của file phát hiện dấu vết.txt.

Mục có thể không chỉ ra lỗi. ThinApp liệt kê từng Win32 API call nơi mà mã

lỗi Windows thay đổi.

+ Xem xét trường hợp ngoại lệ mà các ứng dụng tạo ra.

Trường hợp ngoại lệ có thể chỉ ra lỗi. Loại ngoại lệ bao gồm C ++ và .NET.

File dấu vết ghi lại loại ngoại lệ và DLL mà tạo ra các ngoại lệ. Nếu các ứng

Page 103: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

dụng, chẳng hạn như một ứng dụng .NET hay Java, tạo một ngoại lệ từ mã tự

tạo ra, file dấu vết chỉ ra một mô-đun không rõ.

Ví dụ sau đây là một mục .trace cho một ngoại lệ. *** Exception EXCEPTION_ACCESS_VIOLATION on read of 0x10 from

unknown_module:0x7c9105f8

Nếu bạn tìm thấy một ngoại lệ, quét các phần trước đó của file dấu vết cho

nguồn của các ngoại lệ. Bỏ qua ngoại lệ điểm nổi mà các ứng dụng Virtual

Basic 6 tạo ra trong quá trình sử dụng điển hình.

+ Xem lại các tiến trình con.

Log Monitor sản xuất một file .trace cho mỗi quá trình. Nếu một ứng dụng bắt

đầu một vài tiến trình con, xác định quá trình gây ra vấn đề. Đôi khi, như trong

trường hợp liên quan đến out-of-process COM, một ứng dụng mẹ sử dụng

COM để bắt đầu một quá trình con, chạy một chức năng điều khiển từ xa, và

tiếp tục chạy các chức năng.

+ Khi bạn chạy các ứng dụng từ một mạng chia sẻ mà tạo ra hai quá trình, bỏ

qua quá trình đầu tiên.

ThinApp đánh dấu hiệu suất làm chậm của các ứng dụng chống virus

Symantec bởi các quá trình khởi động lại.

Trang 90

+ Tìm kiếm các thông báo lỗi hiển thị trong hộp thoại.

Một số ứng dụng gọi hàm MessageBox Win32 API để hiển thị lỗi không mong

muốn trong lúc chạy. Bạn có thể tìm kiếm một file dấu vết cho MessageBox

hay nội dung của chuỗi được hiển thị trong các lỗi và xác định những gì các

ứng dụng đang chạy trước khi hộp thoại xuất hiện.

+ Thu hẹp sự tập trung vào các cuộc gọi có nguồn gốc từ một DLL và chủ đề

cụ thể.

Các định dạng log xác định DLL và chủ đề mà tạo ra một cuộc gọi. Bạn

thường có thể bỏ qua các cuộc gọi từ hệ thống DLLs.

Định dạng Log

Một file dấu vết bao gồm các phần sau:

+ System configuration

Phần này bao gồm thông tin về hệ điều hành, các ổ đĩa, phần mềm cài đặt, biến

môi trường, danh sách quá trình, dịch vụ và drivers.

Các thông tin bắt đầu với một Dump bắt đầu vào chuỗi và kết thúc với một

Dump kết thúc trên chuỗi.

+ Header

Phần này hiển thị thông tin theo ngữ cảnh cho thể hiện của quá trình mà Log

Monitor theo dõi. Một số các thuộc tính hiển thị cho thấy tùy chọn đăng nhập,

Page 104: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

địa chỉ dao động khi thời gian chạy hệ điều hành là nạp, và macro để lập bản

đồ các đường dẫn hệ thống thực tế.

ThinApp đánh dấu sự bắt đầu của phần tiêu đề với dãy số 000001. Trong hoàn

cảnh thông thường, ThinApp đánh dấu sự kết thúc của phần này với một thông

điệp về công cụ Application Sync.

+ Body

Phần này bao gồm các hoạt động dấu vết như ứng dụng bắt đầu và thực hiện

các hoạt động. Mỗi dòng đại diện các hàm call mà mục tiêu file thực thi hoặc

một trong các DLLs tạo ra.

Phần bắt đầu với một New Modules được phát hiện trong entry bộ nhớ, được

theo sau bởi danh sách các mô-đun SYSTEM_LOADED. Phần này kết thúc

với một mục Modules Loaded.

+ Summary

Phần này bao gồm các module mà ứng dụng đã capture tải, lỗi tiềm năng, và

một hồ sơ cá nhân của 150 cuộc gọi chậm nhất.

Phần bắt đầu với tin nhắn Modules Loaded.

Định dạng chung của API Log Message

Thông điệp sau đây cho thấy một ví dụ định dạng cho các cuộc gọi API. 000257 0a88 mydll.dll :4ad0576d->kernel32.dll:7c81b1f0

SetConsoleMode (IN HANDLE hConsoleHandle=7h, IN DWORD

dwMode=3h)

000258 0a88 mydll.dll :4ad0576d<-kernel32.dll:7c81b1f0

SetConsoleMode ->BOOL=1h ()

Ví dụ này bao gồm các mục sau:

+ 000257 chỉ số mục đăng nhập. Mỗi mục log có một số duy nhất.

+ 0a88 chỉ ID chủ đề chạy hiện nay. Nếu ứng dụng có một chủ đề, con số này

không thay đổi. Nếu dữ liệu của hai hay nhiều chủ đề ghi các file đăng nhập,

bạn có thể sử dụng các thread ID để theo sau hành động tuần tự chủ đề cụ thể

bởi vì ThinApp ghi lại các mục đăng nhập theo thứ tự mà chúng xảy ra.

+ mydll.dll chỉ ra DLL tạo ra các cuộc gọi API.

+ 4ad0576d chỉ ra địa chỉ trả lại cho cuộc gọi API mydll.dll tạo ra. Trong

những trường hợp thông thường, địa chỉ trả về là địa chỉ trong mã mà các cuộc

gọi bắt nguồn.

+ -> Chỉ ra quá trình nhập cuộc gọi. Đối với yếu tố log mục cuộc gọi,

ThinApp hiển thị các tham số đầu vào. Các tham số này là những tham số vào

và vào/ra.

Trang 91

Page 105: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ <- Chỉ ra quá trình của cuộc gọi trở lại cho người gọi ban đầu. Đối với các

cuộc gọi đăng nhập xuất cảnh, ThinApp hiển thị các tham số đầu ra. Các tham

số này là các tham số ra và vào/ra.

+ kernel32.dll chỉ ra các DLL nơi mà API call trú.

+ 7c81b1f0 chỉ ra địa chỉ của các API bên trong kernel32 nơi mà call trú.

Nếu bạn tháo rời kernel32.dll tại địa chỉ 7c81b1f0, bạn tìm thấy mã cho hàm

SetConsoleMode.

+ -> BOOL=1h cho thấy API trả về giá trị 1 và mã trở lại có kiểu BOOL.

Thông tin khởi động ứng dụng

Các mục sau đây cho thấy những thông tin cơ bản về ứng dụng, chẳng hạn như

tên module và ID tiến trình ID (PID), và Log Monitor, chẳng hạn như các

phiên bản và các tùy chọn. 000001 0a88 Logging started for

Module=C:\test\cmd_test\bin\cmd.exe

Using archive=

PID=0xec

CommandLine=cmd

000002 0a88 Logging options: CAP_LEVEL=9 MAX_CAP_ARY=25

MAX_CAP_STR=150

MAX_NEST=100

VERSION=3.090

000003 0a88 System Current Directory=C:\test\cmd_test\bin

Virtual Current Directory=C:\test\cmd_test\bin

000004 0a88 |start_env_var|=::=::\

000005 0a88 |start_env_var|=C:=C:\test\cmd_test\bin

000006 0a88 |start_env_var|=exit code=00000000

000007 0a88 |start_env_var|ALLUSERSPROFILE=C:\Documents and

Settings\All Users.WINDOWS

...

...

...

Danh sách DLL được tải vào bộ nhớ theo thời gian thực

Các module phần được tải nằm gần cuối của file log và mô tả các DLL được

nạp vào bộ nhớ theo thời gian thực và các địa chỉ DLL. Các thông tin cho thấy

hoặc là Windows hoặc là ThinApp tải DLLs.

Ví dụ này bao gồm một bản tóm tắt về độ dài của các cuộc gọi dài nhất và các

mục sau đây:

+ SYSTEM_LOADED chỉ ra rằng Windows sẽ nạp DLL. File phải tồn tại trên

đĩa.

Page 106: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

+ MEMORY_MAPPED_ANON chỉ ra rằng ThinApp nạp DLL. ThinApp có thể

tải các file từ hệ thống file ảo.

+ 46800000-46873fff chỉ ra các dải địa chỉ trong bộ nhớ ảo, nơi các DLL

cư trú.

+ PRELOADED_BY_SYSTEM và PRELOADED_MAP là mục trùng lặp và tham

chiếu đến phạm vi địa chỉ bộ nhớ nơi file hình ảnh thực thi được ánh xạ vào bộ

nhớ.

--- Modules loaded -

PRELOADED_MAP 00400000-00452fff, C:\Program Files\Adobe\Reader

8.0\Reader\Acrord32.exe

PRELOADED_BY_SYSTEM 00400000-00452fff, C:\Program

Files\Adobe\Reader 8.0\Reader\Acrord32.exe

SYSTEM_LOADED 00400000-00452fff, C:\test\Acrord32.exe

MEMORY_MAPPED_ANON 013b0000-020affff, C:\Program

Files\Adobe\Reader 8.0\Reader\AcroRd32.dll

---- Timing Report: list of slowest 150 objects profied ---

8255572220 total cycles (2955.56 ms): |sprof|

thinapp_LoadLibrary2

765380728 cycles (274.01 ms) on log entry 21753

428701805 cycles (153.48 ms) on log entry 191955

410404281 cycles (146.93 ms) on log entry 193969

.

.

Trang 92

... 438 total calls

7847975891 total cycles (2809.64 ms): |sprof|

ts_load_internal_module

764794646 cycles (273.80 ms) on log entry 21753

426837866 cycles (152.81 ms) on log entry 191955

408570540 cycles (146.27 ms) on log entry 193969

.

.

... 94 total calls

4451728477 total cycles (1593.76 ms): |sprof| ts_lookup_imports

544327945 cycles (194.87 ms) on log entry 21758

385149968 cycles (137.89 ms) on log entry 193970

187246661 cycles (67.04 ms) on log entry 190210

.

.

... 34 total calls

1099873523 total cycles (393.76 ms): |sprof| new_thread_start

Page 107: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

561664565 cycles (201.08 ms) on log entry 151922

531551734 cycles (190.30 ms) on log entry 152733

1619002 cycles (0.58 ms) on log entry 72875

Lỗi tiềm năng

Phần Potential Errors Detected đánh dấu các mục có thể gửi các vấn đề với ba

dấu hoa thị (***). Để biết thông tin về việc giải thích phần này, xem "Định vị

lỗi" trên trang 89. ----Potential Errors Detected ---

006425 0000075c LoadLibraryExW 'C:\Program Files\Adobe\Reader

8.0\Reader\Microsoft.Windows.Common-Controls.DLL' flags=2 -> 0

(failed ***)

006427 0000075c LoadLibraryExW 'C:\Program Files\Adobe\Reader

8.0\Reader\Microsoft.Windows.Common-

Controls\Microsoft.Windows.Common-Controls.DLL' flags=2

-> 0 (failed ***)

006428 0000089c nview.dll :1005b94b<-kernel32.dll:7c80ae4b ***

LoadLibraryW

->HMODULE=7c800000h () *** GetLastError() returns 2 [0]: The

system cannot find the file specified.

007062 0000075c LoadLibraryExW 'C:\Program Files\Adobe\Reader

8.0\Reader\en-US\Microsoft.Windows.Common-Controls.DLL' flags=2

-> 0 (failed ***)

010649 0000075c LoadLibraryExW 'C:\Program Files\Adobe\Reader

8.0\Reader\en-US\Microsoft.Windows.Common-

Controls\Microsoft.Windows.Common-Controls.DLL'

flags=2 -> 0 (failed ***)

019127 0000075c MSVCR80.dll :781348cc<-msvcrt.dll :77c10396 ***

GetEnvironmentVariableA

->DWORD=0h (OUT LPSTR lpBuffer=*0h <bad ptr>) ***

GetLastError() returns 203 [0]: The system

could not find the environment option that was entered.

019133 0000075c MSVCR80.dll :78133003<-nview.dll :1000058c ***

GetProcAddress

->FARPROC=*0h () *** GetLastError() returns 127 [203]: The

specified procedure could not be found.

019435 0000075c MSVCR80.dll :78136e08<-dbghelp.dll :59a60360

*** Getfile type

->DWORD=0h ()*** GetLastError() returns 6 [0]: The handle is

invalid.

019500 0000075c MSVCR80.dll :78134481<-nview.dll :1000058c ***

GetProcAddress

->FARPROC=*0h () *** GetLastError() returns 127 [0]: The

specified procedure could not be found.

019530 0000075c MSVCR80.dll :78131dcd<-dbghelp.dll :59a603a1

*** GetModuleHandleA

->HMODULE=0h () *** GetLastError() returns 126 [0]: The

specified module could not be found.

Page 108: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Ví dụ khắc phục sự cố cho công cụ cmd.exe

Trong ví dụ xử lý sự cố, ThinApp đóng gói công cụ cmd.exe với logging được

bật. Ví dụ cho thấy làm thế nào bạn có thể mô phỏng sự thất bại ứng dụng

bằng cách chạy một lệnh không hợp lệ. Nếu bạn yêu cầu công cụ cmd.exe chạy

các lệnh foobar, công cụ tạo ra foobar không được công nhận như là một thông

báo lệnh nội bộ hay bên ngoài. Bạn có thể quét file theo dõi và kiểm tra phần

Potiential Errors Detected để tìm các hàm API mà đã chỉnh sửa GetLastError.

Ví dụ cho thấy các đường dẫn C:\test\cmd_test\bin\foobar. *,

C:\WINDOWS\system32\foobar.*, và C:\WINDOWS\foobar là các nơi mà

công cụ cmd.exe tìm kiếm lệnh foobar.

Ví dụ thể hiện các đường dẫn %drive_C%\test\cmd_test\bin,

%SystemSystem%\foobar, và %SystemRoot%\ foobar là các vị trí trong hệ

thống file ảo mà ThinApp dò. ----Potential Errors Detected ---

*** Unable to determine if any services need to be auto-

started, error 2

001550 *** FindFirstFileW ’C:\test\cmd_test\bin\foobar.*’ ->

INVALID_HANDLE_VALUE *** failed

Trang 93

[system probe C:\test\cmd_test\bin\foobar.* -> ffffffffh][no

virtual or system matches]

*** FindFirstFileW ->HANDLE=ffffffffh .. *** GetLastError()

returns 2 [203]: The system cannot

find the file specified.

*** FindFirstFileW ’C:\test\cmd_test\bin\foobar’ ->

INVALID_HANDLE_VALUE *** failed

[FS missing in view 0][fs entry not found

%drive_C%\test\cmd_test\bin\foobar]

[fs entry not found %drive_C%\test\cmd_test\bin]

*** FindFirstFileW ’C:\WINDOWS\system32\foobar.*’ ->

INVALID_HANDLE_VALUE *** failed

[system probe C:\WINDOWS\system32\foobar.* -> ffffffffh][no

virtual or system matches]

*** FindFirstFileW ’C:\WINDOWS\system32\foobar’ ->

INVALID_HANDLE_VALUE *** failed

[FS missing in view 0][fs entry not found

%SystemSystem%\foobar]

*** FindFirstFileW ’C:\WINDOWS\foobar.*’ ->

INVALID_HANDLE_VALUE *** failed

[system probe C:\WINDOWS\foobar.* -> ffffffffh][no virtual or

system matches]

*** FindFirstFileW ’C:\WINDOWS\foobar’ -> INVALID_HANDLE_VALUE

*** failed

Page 109: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

[FS missing in view 0][fs entry not found %SystemRoot%\foobar]

Thực hiện chi tiết thi cho cmd.exe Log

Một cuộc kiểm tra kỹ lưỡng hơn về một mục từ phần Potential Errors của một

file dấu vết có liên quan đến tìm kiếm trên toàn bộ cơ thể của file dấu vết Log

Monitor cho rằng mục cụ thể và xem xét các cuộc gọi hệ thống và điều kiện

dẫn đến các lỗi tiềm năng.

Ví dụ, các mục sau đây cho công cụ cmd.exe trong phần Potential Errors có thể

đòi hỏi nhiều hơn một kiểm tra kĩ lưỡng toàn bộ file dấu vết Log Monitor. 001550 *** FindFirstFileW ’C:\test\cmd_test\bin\foobar.*' ->

INVALID_HANDLE_VALUE *** failed [system probe

Thực hiện một cuộc kiểm tra tiên tiến cho các mục entry cmd.exe

1. Để xác định lý do tại sao công cụ cmd.exe thăm dò c:\test\cmd_test\bin, quét

các bản ghi cho số ghi nhật ký này và xác định những gì xảy ra trước khi cuộc

gọi này.

2. Để xác định vị trí nơi mà công cụ cmd.exe thu được c:\test\cmd_test, quét

các bản ghi cho mục GetCurrentDirectoryW và GetFullPathNameW.

000861 0a88 cmd.exe :4ad01580->USERENV.dll :769c0396 GetCurrentDirectoryW (IN

DWORD

nBufferLength=104h)

000862 0a88 GetCurrentDirectoryW -> 0x14 (C:\test\cmd_test\bin)

000863 0a88 cmd.exe :4ad01580<-USERENV.dll :769c0396 GetCurrentDirectoryW -

>DWORD=14h

(OUT LPWSTR lpBuffer=*4AD34400h->L"C:\test\cmd_test\bin")

000864 0a88 cmd.exe :4ad05b74->ole32.dll :774e03f0 Getfile type (IN HANDLE hFile=7h)

000865 0a88 Getfile type 7 -> 0x2

000866 0a88 cmd.exe :4ad05b74<-ole32.dll :774e03f0 Getfile type ->DWORD=2h ()

..

001533 0a88 cmd.exe :4ad01b0d<-kernel32.dll:7c80ac0f SetErrorMode ->UINT=0h ()

001534 0a88 cmd.exe :4ad01b13->kernel32.dll:7c80ac0f SetErrorMode (IN UINT uMode=1h)

001535 0a88 cmd.exe :4ad01b13<-kernel32.dll:7c80ac0f SetErrorMode ->UINT=0h ()

001536 0a88 cmd.exe :4ad01b24->IMM32.DLL :7639039b GetFullPathNameW (IN

LPCWSTR

lpFileName=*1638C0h->L."," IN DWORD nBufferLength=208h)

001537 0a88 GetFullPathNameW . -> 20 (buf=C:\test\cmd_test\bin,

file_part=bin)

001538 0a88 cmd.exe :4ad01b24<-IMM32.DLL :7639039b GetFullPathNameW -

>DWORD=14h

(OUT LPWSTR lpBuffer=*163D60h->L"C:\test\cmd_test\bin," OUT *lpFilePart=*13D8D4h

->*163D82h->L"bin")

..

001549 0a88 cmd.exe :4ad01b5f->USERENV.dll :769c03fa FindFirstFileW (IN LPCWSTR

lpFileName=*1638C0h->L"C:\test\cmd_test\bin\foobar.*")

001550 0a88 FindFirstFileW ’C:\test\cmd_test\bin\foobar.*’ ->

INVALID_HANDLE_VALUE *** failed [system probe C:\test\cmd_test\bin\foobar.*

Page 110: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

-> ffffffffh][no virtual or system matches]

Công cụ cmd.exe có được vị trí đầu tiên bằng cách gọi

GetCurrentDirectoryW và vị trí thứ hai bởi gọi GetFullPathNameW

với "." như đường dẫn chỉ định. Những cuộc gọi trả về đường dẫn cho thư mục

làm việc hiện tại. File log cho thấy rằng công cụ cmd.exe tạo ra nhắc

C:\test\cmd_test\bin>. Công cụ truy vấn biến môi trường PROMPT mà trả về

$P$G và sử dụng hàm API WriteConsoleW để in dấu nhắc đến màn hình

sau khi nội bộ mở rộng $P$G đến C:\test\cmd_test\bin>.

Trang 94

Khắc phục sự cố các ứng dụng cụ thể Các mẹo xử lý sự cố là có sẵn cho việc capture Microsoft Outlook, Explorer.exe, và

Java Runtime Environment.

Khắc phục sự cố thiết lâp Registry cho Microsoft Outlook

Microsoft Outlook chứa các thiết lập tài khoản trong các khóa registry và các

file. Khi bạn khởi động Microsoft Outlook ở lần đầu tiên, nó sẽ kiểm tra rằng

các khóa có tồn tại không. Nếu Microsoft Outlook không thể tìm thấy các

khóa, nó sẽ nhắc bạn tạo một tài khoản.

Quá trình này hoạt động trong các môi trường ảo khi Microsoft Outlook không

được cài đặt trên hệ thống vật lý. Nếu người dùng đã có Microsoft Outlook

được cài đặt trên các hệ thống vật lý, phiên bản đã capture tìm thấy các khóa

registry trong hệ thống registry và sử dụng các thiết lập đó. Bạn phải sử dụng

chế độ cách ly Full cho các khóa registry và các file tại nơi mà Microsoft

Outlook lưu trữ các thiết lập của nó.

Thiết lập chế độ cách ly Full cho các khóa registry Microsoft Outlook

1. Thêm các mục sau vào file HKEY_CURRENT_USER.txt: isolation_full HKEY_CURRENT_USER\Identities

isolation_full

HKEY_CURRENT_USER\Software\Microsoft\Windows

NT\CurrentVersion\Windows Messaging Subsystem\Profiles

2. Tạo một file ##Attributes.ini với các mục sau đây: [Isolation]

DirectoryIsolationMode = Full

3. Đặt file ##Attributes.ini trong mỗi thư mục con sau. %AppData%\Microsoft\AddIns

%AppData%\Microsoft\Office

%AppData%\Microsoft\Outlook

%Local AppData%\Microsoft\FORMS

%Local AppData%\Microsoft\Outlook

4. (Tùy chọn) Nếu các thư mục con không tồn tại, tạo ra các thư mục.

Page 111: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Xem đính kèm trong Microsoft Outlook

Microsoft Outlook tạo ra một thư mục mặc định để lưu file đính kèm khi bạn

mở một file đính kèm để xem. Vị trí thông thường là C:\Documents and

Settings\<user_name>\Local Settings\Temp\Temporary Internet

Files\OLK<xxxx>. Các xxxx cuối cùng được thay thế bằng một entry ngẫu

nhiên.

Bạn có thể xem các file đính kèm khi ứng dụng xem chạy trong sandbox ảo

tương tự như Microsoft Outlook. Các ứng dụng bên ngoài có thể không tìm

thấy các file để hiển thị bởi vì Microsoft Outlook chứa các file trong sandbox.

Bạn phải sử dụng các chế độ cách ly Merged cho thư mục chứa các file đính

kèm.

Thiết lập chế độ cách ly Merged để xem file đính kèm Microsoft Outlook

1. Thêm một giá trị đến các file HKEY_CURRENT_USER.txt mà đặt tên của

thư mục file đính kèm: isolation_full

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\

Security

Value=OutlookSecureTempFolder

REG_SZ~%Profile%\Local Settings\OutlookTempxxxx#2300

Trong ví dụ này, 11.0 vào tên chính là dành cho Microsoft Outlook 2003.

2. Thay thế bốn xxxx ký tự cuối cùng với mục chữ và số ngẫu nhiên để tăng

cường an ninh.

3. Tạo một thư mục có tên trong khóa registry OutlookSecureTempFolder

trong dự án ThinApp của bạn.

Ví dụ, tạo thư mục %Profile%\Local Settings\OutlookTempxxxx.

4. Trong thư mục %Profile%\Local Settings\OutlookTempxxxx, tạo ra một file

##Attributes.ini với các mục sau:

Trang 95

[Isolation]

DirectoryIsolationMode = Merged

Bắt đầu tiến trình Explorer.exe trong môi trường ảo

Chạy một thể hiện của công cụ explorer.exe trên hệ điều hành Windows làm

cho nó khó khăn để thêm một entry point Windows Explorer và khởi động nó

trong môi trường ảo.

Bạn có thể sử dụng các phương pháp sau đây để mở một cửa sổ Windows

Explorer bên trong các môi trường ảo:

+ Thêm một entry point đến iExplorer và bắt đầu nó với tham số -E.

Ví dụ, thêm các mục sau vào file Package.ini: [iexplore.exe]

Page 112: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Shortcut=xxxx.exe

Source=%ProgramFilesDir%\Internet Explorer\iexplore.exe

CommandLine=%ProgramFilesDir%\Internet

Explorer\iexplore.exe -E

+ Thêm khóa registry ảo sau đây: isolation_full

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersi

on\Explorer Value=DesktopProcess

REG_DWORD=#01#00#00#00

+ Thêm các mục sau vào file Package.ini: [explorer.exe]

Shortcut=xxxxxx.exe

Source=%SystemROOT%\explorer.exe

Sử dụng phương pháp này để duyệt qua hệ thống file ảo với một giao diện

quen thuộc và kích hoạt chính xác file type associations mà không cần thay đổi

hệ thống, đặc biệt là khi sử dụng các ứng dụng di động. Bạn có thể truy cập

thành phần tích hợp vỏ mà không cần thay đổi hệ thống.

Xử lý sự cố xung đột phiên bản Java Runtime Environment

Một cuộc xung đột có thể xảy ra nếu một trong những phiên bản của Java được

cài đặt trên các hệ thống vật lý và một phiên bản khác được bao gồm trong một

file thực thi đã capture. Phiên bản cập nhật của Java cài đặt một plug-in DLL

mà Internet Explorer tải. Plug-in DLL này sẽ ghi đè lên các khóa registry ảo và

mâu thuẫn với một bản sao ảo của Java runtimes cũ.

Ngăn chặn Internet Explorer từ tải plug-in DLL

Thêm các mục sau đây đến bắt đầu của file HKEY_LOCAL_MACHINE.txt. isolation_full

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVers

ion\Explorer\Browser Helper Objects

Trang 96

Trang 97

Thuật ngữ

A. Application Link

Một công cụ liên kết ứng dụng phụ thuộc vào một ứng dụng cơ sở trong thời gian chạy

và bắt đầu tất cả các ứng dụng với nhau khi bạn khởi động ứng dụng cơ sở. Bạn có thể

sử dụng công cụ để triển khai và cập nhật thành phần gói riêng rẽ chứ không phải

capture tất cả các thành phần trong cùng một gói.

Page 113: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Application Sync

Một công cụ cập nhật một ứng dụng bằng cách phát hiện một phiên bản mới được

đóng gói vào một máy chủ hoặc mạng chia sẻ.

Bạn có thể cấu hình cập nhật các thiết lập, chẳng hạn như kiểm tra của một máy chủ

cập nhật tại những khoảng thời gian nhất định. ThinApp phát hiện file ứng dụng thực

thi gần đây nhất và tải về những khác biệt.

attributes.ini

File mà áp dụng các thiết lập cấu hình ở mức thư mục của gói chứ không phải là toàn

bộ gói. Các thiết lập ##Attributes.ini ghi đè lên các thiết lập Package.ini tổng thể.

B. build

Để chuyển đổi một dự án ThinApp vào một gói. Bạn có thể xây dựng một gói với

trình Setup Capture wizard hoặc với công cụ build.bat.

C. capture

Để đóng gói một ứng dụng vào một môi trường ảo và thiết lập các tham số ứng dụng

ban đầu. ThinApp cung cấp trình Setup Capture wizard hoặc công cụ snapshot.exe để

tạo ra một gói phần mềm ứng dụng di động độc lập với hệ điều hành chạy trên nó.

clean machine

Máy tính hoặc máy ảo, cài đặt chỉ với hệ điều hành Windows cơ bản, trên đó bạn

capture ứng dụng. Phiên bản hệ điều hành Windows phải là phiên bản mới nhất của

Windows mà bạn mong đợi ứng dụng chạy trên.

E. entry point

Một file thực thi mà bắt đầu ứng dụng đã capture. Một ứng dụng có thể có nhiều entry

point.

Ví dụ, file firefox.exe có thể phục vụ như là một entry point cho một ứng dụng Mozilla

Firefox. File primary data container có thể tồn tại trong một entry point hoặc một file

.dat.

I. inventory name

Một tên ThinApp sử dụng để theo dõi nội bộ của ứng dụng. Tên hàng tồn kho đặt mặc

định tên thư mục dự án và xuất hiện trong hộp thoại Add or Remove Programs của

Windows.

isolation mode

Một thiết lập gói để xác định quyền truy cập đọc và viết vào các môi trường vật lý.

ThinApp có các chế độ cách ly WriteCopy, Merged, và Full.

Page 114: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 98

L.

logging.dll

Một công cụ mà tạo ra các .trace file.

log monitor

Một công cụ cho phép capture các hoạt động thời gian cho các file thực thi mà ứng

dụng đã capture bắt đầu. File log_monitor.exe chỉ tương thích với các ứng dụng đã

capture bằng cách sử dụng cùng một phiên bản của ThinApp.

M. MSI

Một container Windows Installer hữu ích cho các công cụ triển khai ứng dụng. Bạn có

thể cung cấp ứng dụng đã capture như một file MSI thay vì một file thực thi.

N. native

Đề cập đến các môi trường vật lý chứ không phải là môi trường ảo. Xem thêm

physical.

network streaming

Quá trình chạy một gói từ một máy chủ trung tâm. ThinApp tải các khối của ứng dụng

như cần thiết để đảm bảo xử lý nhanh chóng và hiển thị.

P. package

Các file ứng dụng ảo mà ThinApp xây dựng quy trình tạo ra. Gói phần mềm bao gồm

file primary data container và các file entry point để truy cập vào các ứng dụng.

package.ini

File mà áp dụng các cài đặt cấu hình cho gói và cư trú trong thư mục ứng dụng đã

capture. Trình Setup Capture wizard đặt các giá trị ban đầu của các thiết lập cấu hình.

physical

Đề cập đến bộ nhớ máy tính và file hệ thống trong đó tất cả các tiến trình tiêu chuẩn

Windows chạy. Tùy thuộc vào việc chế độ cách ly ThinApp thiết lập, các tiến trình

trong môi trường ảo có thể truy cập môi trường vật lý. Xem thêm native, virtual.

postscan

Để thiết lập một hình ảnh hoặc bản chụp của một máy tính sau khi bạn cài đặt ứng

dụng mà bạn muốn capture. Tiến trình capture sẽ chứa trong một hệ thống file ảo và

registry ảo sự khác biệt giữa các hình ảnh prescan và postscan. Xem thêm prescan,

snapshot.

prescan

Page 115: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Để thiết lập một hình ảnh ban đầu hoặc ảnh chụp của máy trước khi cài đặt ứng dụng

mà bạn muốn capture. Tiến trình capture sẽ chứa trong một hệ thống file ảo và registry

ảo sự khác biệt giữa các hình ảnh prescan và postscan. Xem thêm postscan , snapshot.

primary data container

File ứng dụng ảo chính. File là một file .exe hoặc một file .dat bao gồm ThinApp

runtime và hệ thống file ảo chỉ đọc và registry ảo. Primary data container phải nằm

trong cùng một thư mục \bin với bất kỳ file ứng dụng thực thi cấp dưới vì các entry

point sử dụng thông tin trong primary data container.

project

Dữ liệu mà quá trình capture tạo ra trước khi bạn xây dựng một gói. Quá trình chụp sử

dụng tên hàng tồn kho như tên thư mục mặc định dự án. Bạn có thể tùy chỉnh các tham

số trong file dự án trước khi bạn xây dựng một gói ứng dụng. Bạn không thể triển khai

một ứng dụng đã capture cho đến khi bạn xây dựng một gói từ dự án.

Trang 99

S.

sandbox

Thư mục hệ thống vật lý mà nó chứa những thay đổi của người dùng theo thời gian

thực từ ứng dụng ảo. Khi bạn bắt đầu ứng dụng, ThinApp kết hợp thay đổi từ sandbox.

Khi bạn xóa các sandbox, ThinApp đưa ứng dụng trở lại trạng thái đã capture của nó.

Vị trí mặc định của sandbox là %APPDATA%\Thinstall\<application_name>.

sbmerge.exe

Một công cụ tạo ra các cập nhật cộng dồn vào các ứng dụng, chẳng hạn như sự kết

hợp của một plug-in hay một sự thay đổi trong một trang chủ trình duyệt. Công cụ

sbmerge.exe sáp nhập thay đổi theo thời gian thực được ghi vào sandbox trở lại một

dự án ThinApp.

snapshot

Một bản ghi lại tình trạng của hệ thống file Windows và registry trong suốt quá trình

capture ứng dụng. Tiến trình Setup Capture sử dụng công cụ snapshot.exe để có một

bản chụp trước và sau khi ứng dụng được cài đặt và lưu trữ các sự khác biệt trong một

hệ thống file ảo và registry ảo. Xem thêm postscan, prescan.

snapshot.exe

Một công cụ tạo ra các bức ảnh chụp của một hệ thống file máy tính và registry và tạo

điều kiện cho các hoạt động prescan và postscan trong quá trình capture. Chỉ người

dùng nâng cao xây dựng chức năng ThinApp vào các nền tảng khác có thể sử dụng

trực tiếp công cụ này. Xem thêm postscan , prescan, snapshot.

snapshot.ini

Page 116: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Một file cấu hình mà chỉ định các thư mục và các khóa con để loại trừ từ một dự án

ThinApp khi bạn capture một ứng dụng. Bạn có thể tùy chỉnh file này cho các ứng

dụng.

T. template.msi

Một mẫu cho các file MSI mà bạn có thể tùy chỉnh để tuân thủ các thủ tục triển khai

công ty và tiêu chuẩn. Ví dụ, bạn có thể thêm các thiết lập registry cho ThinApp để

thêm vào máy tính của khách hàng như là một phần của việc cài đặt.

thinreg.exe

Một công cụ mà thiết lập file type associations, thiết lập Start menu và các shortcut

desktop, và tạo điều kiện việc mở các file. Bạn phải chạy công cụ thinreg.exe để đăng

ký các file thực thi. MSI file tự động quá trình đăng ký thinreg.exe.

tlink.exe

Một công cụ liên kết module quan trọng trong quá trình xây dựng.

V.

vftool.exe

Một công cụ để biên dịch các file hệ thống ảo trong quá trình xây dựng.

virtual

Đề cập đến các file một cách logic và bộ nhớ bên trong mà một ứng dụng đã capture

chạy. Các tiến trình trình trong một môi trường vật lý không thể truy cập vào môi

trường ảo. Xem thêm physical.

virtual application

Một ứng dụng mà bạn capture để làm cho nó di động và độc lập vào hệ điều hành mà

nó chạy trên đó.

virtual file system

Hệ thống file mà ứng dụng đã capture có thể nhận ra.

virtual registry

Registry mà ứng dụng đã capture có thể nhận ra.

Trang 100

Trang 101 - 103

Tìm kiếm theo chỉ mụcSymbols

##Attributes.ini

comparing to Package.ini 24

editing 24

A.

Active Directory

Page 117: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

authorizing group access 18

controlling access to applications 35

using Package.ini parameters 35

API parameters

AddForcedVirtualLoadPath 79

ExecuteExternalProcess 80

ExecuteVirtualProcess 81

ExitProcess 79

ExpandPath 80

GetBuildOption 81

GetCommandLine 82

GetCurrentProcessName 82

GetEnvironmentVariable 84

GetFileVersionValue 81

GetOSVersion 83

RemoveSandboxOnExit 84

SetEnvironmentVariable 84

SetfileSystemIsolation 85

SetRegistryIsolation 85

WaitForProcess 85

Application Link

defining 45, 48

defining access with the PermittedGroups parameter 51

effect on isolation modes 51

file and registry collisions 52

linking packages to base applications and using Application Sync 52

sample workflow 49

setting up nested links 50

storing multiple versions of linked applications 52

view of 49

Application Sync

clashing with automatic update capabilities 45

defining 45

editing parameters 46

effect on entry point executable files 47

effect on thinreg.exe 30

fixing incorrect updates 46

forcing updates with appsync.exe commands 52

maintaining the primary data container name 47

updating base applications with linked packages 52

updating thinreg.exe registrations 47

applications capturing 15

controlling access for Active Directory groups 35

data statistics 20

difference between Application Sync and Application Link 45

not supported by ThinApp 10

Page 118: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

sandbox considerations during upgrade processes 58

streaming requirements and recommendations 38

updating 45

C.

capturing applications

IE6 on Windows XP 24

phases of 15

requirements and dependencies 15

with the Setup Capture wizard 16–23

with the snapshot.exe utility 67

cmd.exe, defining 17

compression

for executable files 21

for trace files 89

computers

defining a clean system 11

using virtual machines for clean systems 11

cut and paste operations, ThinApp limitations 39

D.

Data container, See primary data container

DCOM services, access for captured application 10

deploying

applications on network share 30

applications with deployment tools 29

executable files 30

MSI files 29

deployment tools, using MSI files 29

device drivers, incompatible with ThinApp 10

DLLs

loading into memory 91

recording by Log Monitor 87

drivers, support for 39

E.

entry points

defining 17

for troubleshooting 17

in Setup Capture wizard 17

updating with Application Sync 47

G.

global hook DLLs, reduced function with ThinApp 10

I.

IE6 on Windows XP

capturing 24

requirements 24

iexplore.exe, defining 17

installing ThinApp 11

inventory name, purpose of 20

Page 119: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

isolation modes

defining 18

Merged 18

sample configuration 41

using Application Link 51

WriteCopy 19

L.

log format 90

Log Monitor

extra options 88

suspending and resuming logging 88

troubleshooting procedures 88

using 87

M.

Merged isolation mode 18

Microsoft Vista, deploying MSI files 35

MSI files

automating the thinreg.exe utility 21

building the database 33

customizing parameters 33

deploying on Microsoft Vista 35

generating 21

modifying the Package.ini 33

overriding the installation directory 34

N.

nested links, using Application Link 50

network, streaming packages 37

O.

operating systems

support for 9

using the lowest version for ThinApp installation 11

P.

Package.ini

Active Directory parameters 35

common parameters 23

editing Application Sync parameters 46

modifying MSI parameters 33

MSI parameters 33

packages

building 22

configuring 21, 23

defining 21

parameters

applying settings at folder level instead of package level 24

for MSI files 33

for sbmerge.exe 54

for thinreg.exe 31

PermittedGroups, effect on Application Link 51

primary data container

defining 21

Page 120: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

maintaining the name with Application Sync 47

size implications 21

project files 22

projects, opening during capture process 22

R.

regedit.exe, defining 17

relink

defining 58

examples 58

S.

sandbox

considerations for upgraded applications 58

defining 20

location 20, 62

search order 61

structure 63

sbmerge.exe

commands 54

defining 52

merging runtime changes 54

scripts

.bat example 76

.reg example 77

callback functions 75

file copy example 77

reasons for 76

service example 77

system registry example 78

timeout example 76

virtual registry example 77

services

automatic startup 36

starting and stopping in packages 36

Setup Capture wizard

authorizing user groups 18

browsing projects 22

building packages 22

compressing packages 21

entry points 17

installing applications 16

inventory name 20

package settings 21

postscan operation 16

prescan operation 16

project location 20

setting isolation modes 19

shell integration, reduced functions with ThinApp 10

snapshot.exe

creating snapshots from the command line 65

sample commands 67

Page 121: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

sample procedure 67

snapshot.ini, defining 65, 68

support

for applications 9

for operating systems 9

T.

technical support

required information for troubleshooting 87

ThinApp

applications that are not supported 10

browsing project files 22

deployment options 29

directory files 12

folder macros 71

in a VMware View environment 29

installing 11

recommendation for clean computers 11

requirements for installing and capturing applications 9

streaming packages from the network 37

supported operating systems and applications 9

updating applications 45

updating runtime in packages 58

using thinreg.exe 30

thinreg.exe

defining 30

parameters 31

running 31

starting with MSI files 21

updating registrations with Application Sync 47

with Application Sync 30

troubleshooting

Explorer.exe 95

Java Runtime Environment 95

Microsoft Outlook 94

providing required information to support 87

with Log Monitor 88

U.

upgrading applications, methods and considerations 45–59

V.

virtual file system

format stages 71

representing path locations with macros 71

using 71

VMware View, using captured applications 29

W.

WriteCopy isolation mode 19

Page 122: Hướng dẫn sử dụng THINAPP

ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1

Biên dịch: NgocHuyPAV – PortableAppsViet.com

Trang 104