2013-08-21 57 views
6

Tôi đã tạo một Gói WIX Burn. Trong Bundle tôi cài đặt .Net 4 (nếu nó chưa được cài đặt) thì thêm 2 tập tin .msi. 1 là một phần thứ ba msi khác msi tôi tạo ra cho phần mềm của tôi bằng cách sử dụng WIX. Tôi cần phải là Quản trị viên trên máy để chạy các tệp .msi này.Gói Wix Burn - Phải là Quản trị viên

Tôi muốn gói Burn không làm bất cứ điều gì nếu người dùng không phải là người quản trị tức là cài đặt không có gì. Trong phần mềm sản phẩm của tôi tôi có thể dễ dàng làm bằng cách sử dụng dưới đây - tuy nhiên tôi không thể làm điều này trong gói. Tôi đã đọc rất nhiều bài viết tương tự nhưng chỉ không tìm thấy một ví dụ làm việc cho những gì tôi muốn làm.

<CustomAction Id="IsPrivileged" Error="You must be an Administrator to install [ProductName]." /> 
    <InstallExecuteSequence> 
    <Custom Action='IsPrivileged' Before='LaunchConditions'> 
     Not Privileged 
    </Custom> 
    </InstallExecuteSequence> 
+0

nhìn cho quyền cao – Gilad

+0

Một phương pháp sẽ được yêu cầu thông tin quản trị khi bạn khởi động gói, tức là thiết lập cấp độ thực hiện cho nó để "Yêu cầu quản trị viên". Tuy nhiên tôi thấy Rob nói rằng Burn không được thiết kế để chạy cao, vì vậy bạn có thể gặp phải những hạn chế: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Wix-BURN-wpf-and- UAC-promt-td7587811.html –

Trả lời

8

Bạn có thể sử dụng các gói tương đương với điều kiện ra mắt sử dụng Burn's built-in variablesWixBalExtension's Condition element:

<bal:Condition Message="You can't elevate."> 
    <![CDATA[Privileged <> 0]]> 
</bal:Condition> 

<bal:Condition Message="You're not elevated."> 
    WixBundleElevated = 1 
</bal:Condition>