2011-12-09 47 views
12

Tôi gặp sự cố với Wix nơi điều khiển Chỉnh sửa không đặt thuộc tính. Tôi đang sử dụng thuộc tính trong nút XmlFile để sửa đổi tệp .xml được sao chép sang vị trí cài đặt. Giá trị của thuộc tính IS được đặt chính xác trong tệp (giá trị mặc định đang được sử dụng) nhưng tôi dường như không thể đặt thuộc tính có giá trị từ điều khiển Chỉnh sửa. Điều này là lái xe cho tôi hạt.Wix: Chỉnh sửa điều khiển không thiết lập thuộc tính

<Fragment> 
    <Property Id="CUSTOMERNAMEPROPERTY" Value="Some default value" Secure="yes" /> 

    <UI> 
     <Control Id="CustomerNameEdit" Type="Edit" X="120" Y="75" Width="220" Height="18" Property="CUSTOMERNAMEPROPERTY" Text="{80}" Indirect="yes" /> 
    </UI> 
</Fragment> 

Điều gì là sai với điều này? Cảm ơn

Trả lời

26

Thuộc tính gián tiếp phải được đặt thành "không". Chỉnh sửa các điều khiển nên tham chiếu trực tiếp các thuộc tính của chúng.

Ngoài ra, hãy đảm bảo rằng bạn sử dụng public property (chỉ chữ in hoa trong tên của nó). Các thuộc tính riêng sử dụng các giá trị mặc định của chúng trong khi cài đặt.

+1

Tôi thề tôi đã cố gắng mà trước đó và nó đã không làm việc ... nhưng bây giờ nó, vì vậy tôi sẽ đánh dấu đây là câu trả lời. Cảm ơn. – MrLane

+1

+1 để có tên thuộc tính tất cả UPPERCASE. Tôi đã có cùng một vấn đề và UPPERCASING cố định nó !!!! Tôi sẽ cung cấp cho bạn + 1 triệu nếu tôi có thể –

2

Cố gắng kê khai tài sản của bạn bên trong <UI> yếu tố:

<Fragment> 
    <UI> 
     <Property Id="CUSTOMERNAMEPROPERTY" Value="Some default value" Secure="yes" /> 
     <Control Id="CustomerNameEdit" Type="Edit" X="120" Y="75" Width="220" Height="18" Property="CUSTOMERNAMEPROPERTY" Text="{80}" Indirect="yes" /> 
    </UI> 
</Fragment> 
+1

Điều này thực sự không đúng; Thuộc tính UPPERCASE được đăng ký trong bảng thuộc tính trong MSI bất cứ nơi nào chúng nằm trong tệp wsx. –

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