2016-04-08 29 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。 –