2011-09-28 24 views
6

Tôi có một gói WiX 3.6 (sử dụng Burn) và bootstrapper được quản lý cài đặt một số gói MSI. Một số gói cài đặt vào một vị trí chung (C:\program files\MyApp).Chỉ định INSTALLLOCATION của các gói trong WiX bên trong bootstrapper Burn managed

Tôi muốn cho phép người dùng chọn vị trí cài đặt bên trong ứng dụng bootstrapper được quản lý (C#WPF, đặc biệt là vì ứng dụng lớn để cài đặt; khoảng 1   GB). Làm cách nào tôi có thể chỉ định INSTALLLOCATION cho từng gói MSI bên trong gói của mình?

Trả lời

10

Sử dụng con MsiProperty cho mỗi MsiPackage để chỉ định INSTALLLOCATION = [BurnVariable]. Sau đó sử dụng Engine.StringVariables để thiết lập BurnVariable.

+0

Cảm ơn bạn rất nhiều, nó đã hoạt động !! – decasteljau

+0

Tôi đang cố gắng đọc một số biến môi trường từ ghi và chuyển nó vào bên trong của MSI, nhưng tôi sử dụng BA mặc định. Bạn có thể giải thích những gì tôi cần làm không? Tôi đã nhìn thấy mã trong variable.cpp burn -> engine. Đó có phải là nơi tôi phải thêm biến mới không? – Isaiah4110

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