hướng dẫn sử dụng thinapp
DESCRIPTION
Dành cho phiên bản ThinApp 5 trở lên!TRANSCRIPT
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
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
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
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
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
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
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ợ
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.
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
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.
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.
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.
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.
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.
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.
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.
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ừ
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%
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
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à
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
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.
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.
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
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
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
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.
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
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
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.
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.
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
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.
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.
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ị.
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.
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.
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.
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=""
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.
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
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
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
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.
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
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, đồ
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.
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
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
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.
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 để
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
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.
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.
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
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.
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.
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
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.
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.
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
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
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
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:
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.
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>]
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.
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ẻ
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
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.
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.
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"
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-
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.
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.
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.
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:
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
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
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 –
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
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
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
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.
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
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
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
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.
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
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"
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"
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
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ố
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ụ
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")
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.
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
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
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.
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
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.
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.
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
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,
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
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.
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
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.
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
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.*
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.
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]
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.
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.
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
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
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
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
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
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
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
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
ThinApp 5.1 Manual - Hướng dẫn sử dụng ThinApp 5.1
Biên dịch: NgocHuyPAV – PortableAppsViet.com
Trang 104