在 WiX Bootstrapper(Burn) 中读取 ini 值
Read ini value in WiX Bootstrapper(Burn)
对于我的 WiX 安装程序,我必须替换现有的安装程序。
当前安装程序将版本号和其他内容写入 .ini 文件。当 WiX 安装程序 运行 我必须显示当前安装的版本和要安装的版本。
我现在的安装页面如下:
<Page Name="Install">
<Text X="11" Y="-73" Width="246" Height="17" FontId="3">Currently installed version:</Text>
<Text X="11" Y="-73" Width="246" Height="17" FontId="3">CURRENT VERSION</Text>
<Text X="11" Y="-73" Width="246" Height="17" FontId="3">Version to be installed:</Text>
<Text X="11" Y="-73" Width="246" Height="17" FontId="3">#(loc.InstallVersion)</Text>
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
</Page>
这将成功显示要安装的版本。但我也想显示当前版本。
我的安装程序将版本写入注册表和 ini 文件。这必须完成,因为软件也使用 ini 文件。
所以我的问题是:
如何使用 WiX Bootstrapper(Burn) 读取 ini 值?
因为您有注册表值,所以使用 RegistrySearch
将注册表值读入变量,然后 [VariableName]
显示该值。 Burn不支持直接读取.ini文件
您可以编写自己的 CustomAction 库(使用 C++ 或 .NET)来读取 .ini 文件、解析它并为 MSI 引擎提供新属性。
如果您必须自定义 Burn bootstrapper 而无法在 MSI 中使用 CustomAction 来完成,您必须使用 WiX BA SDK 创建您自己的 Boostrapper 应用程序。
对于我的 WiX 安装程序,我必须替换现有的安装程序。
当前安装程序将版本号和其他内容写入 .ini 文件。当 WiX 安装程序 运行 我必须显示当前安装的版本和要安装的版本。
我现在的安装页面如下:
<Page Name="Install">
<Text X="11" Y="-73" Width="246" Height="17" FontId="3">Currently installed version:</Text>
<Text X="11" Y="-73" Width="246" Height="17" FontId="3">CURRENT VERSION</Text>
<Text X="11" Y="-73" Width="246" Height="17" FontId="3">Version to be installed:</Text>
<Text X="11" Y="-73" Width="246" Height="17" FontId="3">#(loc.InstallVersion)</Text>
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="WelcomeCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallCloseButton)</Button>
</Page>
这将成功显示要安装的版本。但我也想显示当前版本。
我的安装程序将版本写入注册表和 ini 文件。这必须完成,因为软件也使用 ini 文件。
所以我的问题是: 如何使用 WiX Bootstrapper(Burn) 读取 ini 值?
因为您有注册表值,所以使用 RegistrySearch
将注册表值读入变量,然后 [VariableName]
显示该值。 Burn不支持直接读取.ini文件
您可以编写自己的 CustomAction 库(使用 C++ 或 .NET)来读取 .ini 文件、解析它并为 MSI 引擎提供新属性。
如果您必须自定义 Burn bootstrapper 而无法在 MSI 中使用 CustomAction 来完成,您必须使用 WiX BA SDK 创建您自己的 Boostrapper 应用程序。