2016-04-08 31 views
0

我一直在研究一個需要自定義選項頁面的新Burn引導程序。我已經看到了頁面,看看它如何以及如何運行,但需要根據上一次安裝中選擇的值來默認選項頁面中的值。這些值存儲在與引導程序一起安裝的程序的INI文件中。基於先前安裝的Burn Options頁面的默認值

我已經玩了將Burn GUI值存儲在註冊表中,因爲我看到有一個for Burn,但它似乎沒有將註冊表項讀入GUI變量(或者在用戶單擊「安裝「)。有沒有辦法做到這一點?

一個例子:

燒傷變量(綁GUI控件在主題文件)

<Variable Name="txtServer" bal:Overridable="yes" Type="string" Value=""/> 
<Variable Name="txtDatabase" bal:Overridable="yes" Type="string" Value=""/> 
<Variable Name="txtUserID" bal:Overridable="yes" Type="string" Value="id"/> 
<Variable Name="txtPwd" bal:Overridable="yes" Type="string" Value="pwd"/> 

<util:RegistrySearch Id="CustCode" Variable="txtCustCode" Root="HKLM" Key="SOFTWARE\[WixBundleManufacturer]\[WixBundleName]" Value="CustCode" Win64="no" Format="raw" Result="value" /> 
<util:RegistrySearch Id="Server" Variable="txtServer" Root="HKLM" Key="SOFTWARE\[WixBundleManufacturer]\[WixBundleName]" Value="Server" Win64="no" Format="raw" Result="value"/> 
<util:RegistrySearch Id="Database" Variable="txtDatabase" Root="HKLM" Key="SOFTWARE\[WixBundleManufacturer]\[WixBundleName]" Value="Database" Win64="no" Format="raw" Result="value" /> 
<util:RegistrySearch Id="DBID" Variable="txtUserID" Root="HKLM" Key="SOFTWARE\[WixBundleManufacturer]\[WixBundleName]" Value="DBID" Win64="no" Format="raw" Result="value" /> 
<util:RegistrySearch Id="DBPWD" Variable="txtPwd" Root="HKLM" Key="SOFTWARE\[WixBundleManufacturer]\[WixBundleName]" Value="DBPWD" Win64="no" Format="raw" Result="value" /> 

的註冊表值越來越讀入變量,但沒有顯示在GUI上/選項頁。顯示這一點非常重要,以便用戶可以看到安裝程序將使用的設置。如果可能的話,從INI文件而不是註冊表中讀取將是非常優選的。

任何有關如何完成此操作的建議都會非常有幫助!

回答

2

您使用的是v3.10或更高版本? 4496在3.10.0.1502中實現,它增加了將Variable的值加載到文本框中的支持。

+0

我正在使用v3.9.something。更新之後,我的所有變量都會更新選項頁面控件,除了我的FolderEditBox出於某種原因。此外,有沒有辦法從INI文件讀取而不是從註冊表中讀取? – downeysyndrome

+0

v3中的某些控件是特殊的,可能需要爲FolderEditBox完成不同的操作。目前沒有IniFileSearch。 –