当捆绑包在升级过程中运行时,如何将按钮文本更改为在WIX(Windows安装程序xml)引导程序项目中'Upgrade'?



我正在使用WIX创建语言包安装程序。除了一件事,我几乎完成了。在安装同一安装程序的旧版本后,当新版本的安装程序运行时,"安装"按钮仍显示"安装",但我希望它在较新的安装程序运行时显示"升级"。安装新安装程序后,已安装新版本,删除旧版本。这意味着升级功能方面已经完成。但我希望 UI 尤其是按钮文本可以相应地更改。

我正在使用引导程序项目来捆绑从 wix 安装项目构建的 msi 语言包文件,并使用链接到 UI 定义 xml 文件的标准 UI"WixStandardBootstrapperApplication"。我尝试在UI定义xml文件中添加"升级"页面,它对我不起作用,我不知道如何在引导程序项目中检测升级过程。这是我的代码。

<BootstrapperApplicationRef 
Id="WixStandardBootstrapperApplication.HyperlinkLicense">
<bal:WixStandardBootstrapperApplication
LicenseUrl=""
ThemeFile="HyperlinkTheme.xml"
LocalizationFile="HyperlinkTheme.wxl"
LogoFile="Logo128.jpg"
SuppressOptionsUI="yes" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage Id="InstallationMSI"
SourceFile="......LanguageSetupV3binDebugen-usLanguagePackage.msi"
EnableFeatureSelection="yes"
DisplayInternalUI="no"
Compressed="default"
Description="[UpgradeByUninstallInstall][IsTypicalInstall]"
/>
</Chain>
<Page Name="Install">
<Text X="11" Y="121" Width="-11" Height="51" FontId="3" DisablePrefix="yes">#(loc.InstallMessage)</Text>
<!--<Hypertext Name="EulaHyperlink" X="11" Y="121" Width="-11" Height="51" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
<Checkbox Name="EulaAcceptCheckbox" X="-11" Y="-41" Width="260" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox> -->
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.InstallOptionsButton)</Button>
<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.InstallCancelButton)</Button>
</Page>

我想知道如何检测引导程序项目中的升级过程以及如何根据属性值更改按钮文本。或者我如何找到一个属性或变量来指示安装和升级过程之间的区别。与此相关的任何链接、教程或建议将不胜感激。

在WixStdBA中,没有定义单独的升级按钮。唯一的按钮似乎是{WIXSTDBA_CONTROL_INSTALL_BUTTON,L"安装按钮"}开始安装。在WixStdBA源代码中,我没有找到名为"...升级..."对于升级捆绑软件,新捆绑软件需要具有更高的版本号,如上所述,并且捆绑包升级代码需要保持不变。 在我看来,可能需要获取WixStdBA源代码并对其进行修改,以检测是否存在具有相同捆绑GUID的任何先前安装,并根据安装状态修改显示不同按钮文本的代码。

最新更新