Tôi có trình cài đặt được tác giả với Wix. Trong trình hướng dẫn giao diện người dùng, có một hộp kiểm mặc định để kiểm tra. Tôi muốn lưu giá trị của hộp kiểm này vào sổ đăng ký để thay đổi, sửa chữa và nâng cấp bằng cách sử dụng (phiên bản đơn giản hơn) "Remember Property" pattern được mô tả bởi Rob Mensching.Lưu giá trị hộp kiểm Wix mặc định để kiểm tra sổ đăng ký
Việc thực hiện hộp kiểm:
<Control Id="httpsCheckBox" Type="CheckBox" CheckBoxValue="true" X="30" Y="119" Width="139" Height="17" Text="Enable HTTPS services" Property="ENABLEHTTPS" />
Định nghĩa bất động sản:
<Property Id="ENABLEHTTPS" value="true">
<RegistrySearch Id="EnableHttpsRegistrySearch" Type="raw" Root="HKLM" Key="SOFTWARE\CompanyName\ProductName" Name="EnableHttps" />
</Property>
Và tài sản được ghi vào sổ đăng ký ở đây:
<Component Id="RegistryEntries">
<RegistryKey Root="HKLM" Key="SOFTWARE\CompanyName\ProductName">
<RegistryValue Name="EnableHttps" Value="[ENABLEHTTPS]" Type="string" />
</RegistryKey>
</Component>
Các cài đặt ban đầu công trình tốt. Giá trị trong sổ đăng ký là "true" nếu hộp kiểm được chọn trái hoặc trống nếu nó được bỏ chọn.
Lần sau khi trình cài đặt được chạy, để cài đặt một tính năng mới chẳng hạn, hộp kiểm luôn được chọn bất kể giá trị trong cài đặt đăng ký.
Nếu tôi xóa giá trị mặc định khỏi định nghĩa thuộc tính sao cho hộp kiểm này được bỏ chọn lần đầu tiên trình cài đặt được chạy, mọi thứ hoạt động tốt. Lần sau khi trình cài đặt chạy hộp kiểm (và thuộc tính) có giá trị chính xác từ sổ đăng ký.
Giống như RegistrySearch không đặt thuộc tính nếu giá trị đăng ký trống.
Tôi có làm gì sai không? Hoặc có cách nào tốt hơn để làm điều này?
Cảm ơn Rami. Điều đó làm việc một điều trị. – Smiffy