Можно ли использовать RegistrySearch
в комплекте WiX, чтобы скрыть Text
в теме? У меня нет подсказки о том, с чего начать. В приведенном ниже коде переменная InstalledDotNet4
не отключает Text
, и я не могу найти способ отключить Text
(или изменить его текстовое содержимое).Скрыть текст, основанный на RegistrySearch в WiX Bundle
Bundle.wxs:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="My App" Version="1.0.0.0"
Manufacturer="ACME"
UpgradeCode="d88faa97-2197-4154-9e77-32f9ca773bd4">
<BootstrapperApplicationRef
Id="WixExtendedBootstrapperApplication.HyperlinkLicense">
<Payload SourceFile="Resources/background.png" Id="myLogo" />
</BootstrapperApplicationRef>
<WixVariable Id="WixExtbaLicenseUrl" Value="" />
<WixVariable Id="WixExtbaThemeXml" Value="Resources\MyTheme.xml" />
<WixVariable Id="WixExtbaThemeWxl" Value="Resources\MyTheme.wxl" />
<util:RegistrySearch Root="HKCU"
Key="Software\AnythingToCheck"
Value="Test" Variable="InstalledDotNet4" />
<Chain>
<MsiPackage Id="dotNETv4" DisplayName="My .NET v4 prerequisite"
SourceFile="myApp.msi"
Visible="yes"
InstallCondition="CheckboxDotNetv4" />
</Chain>
</Wix>
MyTheme.xml:
<?xml version="1.0" encoding="utf-8"?>
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
<!-- Window definition -->
<!-- Font definition -->
<Page Name="Install">
<Checkbox Name="CheckboxDotNet4"
X="205" Y="126"
Width="-100" Height="17"
TabStop="yes" FontId="3"
HideWhenDisabled="yes">.NET Framework 4.0</Checkbox>
<Text Name="InstalledDotNet4"
X="-10" Y="126"
Width="80" Height="17"
TabStop="no" FontId="3"
HideWhenDisabled="yes">(Installed)</Text>
</Page>
<!-- More pages -->
</Theme>
Кроме того, я пытался использовать следующий код в Bundle.wxs, но это не связано с RegistrySearch
:
<Variable Name="InstalledDotNet4State" Type="string" Value="disable" />
Я добавил свой собственный ответ, но честным и вежливым способом, я не буду отмечать свой вопрос, как ответил в течение 24 часов, если у кого-то есть лучший ответ. – Marlos