Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để tạo một gói lồng nhau .msi

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:306439
Khước từ Nội dung trong Cơ sở Kiến thức Không còn được hỗ trợ
Bài viết này nói về các sản phẩm mà Microsoft không còn hỗ trợ nữa. Do đó, bài viết này được cung cấp "nguyên bản" và sẽ không được cập nhật.
TÓM TẮT
Một hành động lồng nhau cài đặt cài đặt một gói Windows Installer khác trong khi cài đặt đang chạy. Bài viết này cho thấy làm thế nào để tạo một gói đó thực hiện một cài đặt lồng nhau.
THÔNG TIN THÊM
Bạn có thể thêm một cài đặt lồng nhau vào một gói của authoring một hành động lồng nhau cài đặt vào các CustomAction bảng và lập kế hoạch hành động tùy chỉnh này vào trình tự bảng. Các Mục tiêu hộp của các CustomAction bảng chứa một chuỗi các thiết đặt tài sản công cộng được sử dụng bởi tiến trình cài đặt lồng nhau. Các Nguồn hộp của các CustomAction bảng nhận dạng gói lồng nhau. Một hành động lồng nhau cài đặt chỉ có thể cài đặt lại hoặc loại bỏ một ứng dụng đã được cài đặt bởi các ứng dụng hiện tại cài đặt gói.

Loại cài đặt lồng nhau hành động được xác định trong các Loại hộp của các CustomAction bảng. Tùy thuộc vào loại hành động tùy chỉnh, các gói phần mềm cho các ứng dụng lồng nhau có thể nằm trong "substorage" của gói chính, như là một tập tin tại một địa điểm chỉ định của một tài sản, hoặc như là một ứng dụng được quảng cáo trên máy tính của người dùng.
Hành động tùy chỉnh kiểuMô tả
Hành động tùy chỉnh loại 7Lồng nhau cài đặt của một sản phẩm sống trong gói cài đặt.
Hành động tùy chỉnh kiểu 23Lồng nhau cài đặt của một gói phần mềm cài đặt trong cây nguồn hiện tại.
Hành động tùy chỉnh kiểu 39Lồng nhau cài đặt của một gói phần mềm cài đặt được quảng cáo.
Đây là một ví dụ về làm thế nào để tạo ra một loại 7 cài đặt lồng nhau hành động tùy chỉnh. Ví dụ sử dụng một công cụ được gọi là Orca (công cụ này được đóng gói với Windows cài đặt SDK) để chỉnh sửa các gói .msi do Visual Studio trình cài đặt không thể cài đặt lồng nhau tạo ra hành động tùy chỉnh. (Để biết thêm chi tiết về Orca, xem phần "Tham khảo"). Cài đặt lồng nhau liên quan đến hai .msi gói. Ví dụ sau sử dụng Basic.msi như cha mẹ .msi gói và Nest.msi như lồng nhau .msi gói.
  1. Sử dụng công cụ Msidb (công cụ này được đóng gói với Windows cài đặt SDK) để thêm các gói phần mềm Nest.msi như một substorage"" tập tin Basic.msi. Dòng lệnh là:
    Msidb -d Basic.msi - r Nest.msi
    Điều này sẽ thêm Nest.msi vào tập tin Basic.msi như substorage. Không có hộp thoại sẽ xuất hiện để xác nhận rằng điều này đã thành công, nhưng kích thước tập tin cho Basic.msi sẽ tăng lên.

    Lưu ý Bạn không thể thêm Nest.msi như substorage bằng cách sử dụng các Nhị phân bảng Orca. Khi bạn thêm một tập tin vào một MSI thông qua các Nhị phân bảng, các tập tin được thêm vào như một dòng suối nhị phân, không phải là substorage. Tệp bổ sung bởi các Nhị phân bảng không thể được tham chiếu theo cột nguồn của các CustomAction bảng.
  2. Sử dụng Orca để mở Basic.msi. Xác định vị trí các CustomAction bảng và các loại thông tin cho các hành động tùy chỉnh. Nếu bạn cần phải vượt qua bất cứ tài sản công cộng cho các gói phần mềm lồng nhau, bạn có thể sử dụng các Mục tiêu hộp này. Sẽ có hai hành động tùy chỉnh, một cho cài đặt và một cho gỡ bỏ cài đặt (trong đó có một mục tiêu của "loại bỏ = tất cả"). Dưới đây là một ví dụ CustomAction bảng:
    Hành độngLoạiNguồnMục tiêu
    InstallNest7Nest.MSI
    UnInstallNest7Nest.MSILOẠI BỎ = TẤT CẢ
  3. Lịch trình các hành động tùy chỉnh trong các InstallExecuteSequence bảng. Có những lời tuyên bố có điều kiện cho hành động cả hai cài đặt và gỡ bỏ cài đặt trong các InstallExecuteSequence bảng. Các điều kiện sẽ tie để một thành phần cho bản cài đặt (> 2) và gỡ bỏ cài đặt ()<=2). you="" could="" also="" tie="" these="" actions="" to="" a="" feature="" or="" another="" property.="" the="" nested="" installation="" custom="" action="" must="" be="" placed=""></=2).> InstallFinalize. Nếu bạn sử dụng một thành phần hoặc một tính năng là một điều kiện, các hành động tùy chỉnh phải được đặt sau CostFinalize. Dưới đây là một ví dụ InstallExecuteSequence giả định không có một thành phần trong Basic.msi tên là "Comp_1" và điều kiện lồng nhau cài đặt dựa vào nhà nước Comp_1):
    Hành độngĐiều kiệnTrình tự
    InstallNest$Comp_1 > 23110
    UnInstallNest$Comp_1<>3120
Mặc dù bạn có thể tạo một cài đặt MSI lồng nhau, có những nhược điểm để làm điều này. Những nhược điểm bao gồm:
  • Lồng nhau cài đặt không thể chia sẻ các thành phần.
  • Tiến trình cài đặt hành chính không thể chứa một cài đặt lồng nhau.
  • Vá lỗi và nâng cấp sẽ không làm việc với lồng nhau cài đặt.
  • Trình cài đặt sẽ không chính xác chi phí một cài đặt lồng nhau.
  • Tích hợp ProgressBars không thể được sử dụng với lồng nhau cài đặt.
  • Nguồn tài nguyên đang được quảng cáo không thể được cài đặt bởi tiến trình cài đặt lồng nhau.
  • Một gói đó thực hiện một cài đặt lồng nhau của ứng dụng nên cũng gỡ cài đặt các ứng dụng lồng nhau khi sản phẩm phụ huynh gỡ cài đặt.
THAM KHẢO
Để biết thêm chi tiết, nhấp vào số bài viết sau đây để xem bài viết trong cơ sở kiến thức Microsoft:
255905Làm thế nào để sử dụng cơ sở dữ liệu Orca editor để chỉnh sửa các tập tin cài đặt Windows

Warning: This article has been translated automatically

Thuộc tính

ID Bài viết: 306439 - Xem lại Lần cuối: 08/27/2011 22:00:00 - Bản sửa đổi: 2.0

  • kbhowto kbmt KB306439 KbMtvi
Phản hồi