2012-01-04 74 views
15

Tôi có trình cài đặt WiX 3.6 (tháng 10 năm 2011) cho ứng dụng của mình. Ứng dụng của tôi yêu cầu một dịch vụ khác được cài đặt trong hệ thống. Tôi đã thêm một tệp MSI vào trình cài đặt của mình theo cách này:Cách thêm tệp MSI vào trình cài đặt của tôi

<Fragment> 
    <PackageGroup Id="MyService" > 
     <MsiPackage Id="MyService" Name="MyService" SourceFile="MyService.msi" DisplayInternalUI="yes" EnableFeatureSelection="yes"> 
     </MsiPackage> 
    </PackageGroup> 
</Fragment> 
<Fragment> 
    <ComponentGroup Id="APPFILES"> 
    ... 
</Fragment> 

Trình cài đặt hoạt động tốt, nhưng tệp MSI bổ sung này chưa được cài đặt. Tôi đang thiếu gì?

Trả lời

5

Hãy chắc chắn rằng bạn đang sử dụng Burn: http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn

Một MSI không thể bao gồm một MSI, vì vậy bạn cũng sẽ nhận được một tập tin EXE. Đảm bảo bạn khởi chạy cài đặt thông qua EXE

+0

bạn có nghĩa là tôi cần sử dụng exe thay vì msi? như thế này Oleg

+0

Không. Gói cuối cùng (gói bao gồm MSI) là một EXE. Tôi đã thêm một liên kết khác với nhiều chi tiết hơn. –

+0

i am stupid ;-), nhưng tôi không thấy làm thế nào tôi có thể thêm MSI thứ hai của tôi vào bootstrapper? Tôi thấy làm thế nào để thêm máy chủ sql vv, nhưng làm thế nào để thêm gói cài đặt msi thứ 2 của tôi? Ví dụ như "A Sample!" .. – Oleg

16

Bạn không thể cài đặt một MSI từ một MSI khác. Những gì bạn cần làm là tạo ra một liên kết bootstrapper (xuất hiện đã chết, có thể phù hợp replacement link) cài đặt từng MSI theo thứ tự. Wix 3.6 có tích hợp bootstrapper có tên là Burn.

Here is another helpful link, được phép của Matt Clarkson.

+0

Tôi đã tạo dự án Bundle mới bao gồm cả tệp msi của tôi. Đây có phải chỉ là một cách để làm điều đó không? – Oleg

+0

@Oleg: Có * có thể * là các cách khác để thực hiện điều đó (sử dụng các mô đun hợp nhất nếu có thể tôi nghĩ), nhưng tôi đã luôn thực hiện nó thông qua bootstrapper. Bạn không bị buộc phải sử dụng Burn. Cách tôi đã thực hiện nó trong quá khứ là tạo một dự án studio trực quan tham khảo thư viện Wix. Sau đó, bạn có thể tạo các hành động tùy chỉnh (thông qua C# hoặc bất kỳ điều gì). Điểm mấu chốt là, bạn cần phải khởi chạy tiến trình cài đặt từ exe để mỗi msi có thể chạy theo thứ tự. –

+0

cả hai liên kết này đều đã chết ngay bây giờ: ( –

Các vấn đề liên quan