如何禁用 wix 捆绑安装程序中的卸载按钮?

How to disable the uninstall button in a wix bundle installer?

我有一个可以使用 Wix 安装程序安装的应用程序。为了确保完全按照要求指定的方式卸载产品,我使用 powershell 创建了一个用于卸载过程的脚本。因此,从逻辑上讲,我想禁用安装程序的卸载按钮,这样安装后就无法通过这种方式卸载它。如何禁用此按钮?这是我的 bundle.wxs

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

    <?include ..\InstallPlugin\Forwards.wxi?>

    <Bundle
        Name="$(var.ProductTitle)"
        Version="$(var.ProductVersion)"
        Manufacturer="$(var.ProductCompany)"
        Copyright="$(var.ProductCopyright)"
        DisableModify="yes"
        DisableRemove="yes"
        IconSourceFile="../Images/Icon.ico"
        UpgradeCode="f8b6f347-2832-41c9-9d89-112144f62ed8"
        >

        <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense">
            <Payload Name="en-US\License.rtf" SourceFile="../Licenses/License.en-US.rtf"/>
            <Payload SourceFile="../Images/Logo.png"/>
            <bal:WixStandardBootstrapperApplication
                LicenseUrl="XXXXXXXXXX"
                LogoSideFile="../Images/dialog.bmp"
                ShowVersion="yes" />
        </BootstrapperApplicationRef>
        <util:FileSearchRef Id="CondaFileFound" />

        
        <Chain>
            <PackageGroupRef Id="PluginSystem" />
            <MsiPackage SourceFile="XXXXXXXX"
                        Compressed="yes"
                        DisplayInternalUI="no"
                        Vital="yes"
                        Visible="yes"
            >
                <!-- <MsiProperty Name="USERLANGUAGE" Value="[UserLanguage]"/> -->
                <MsiProperty Name="USERLANGUAGE" Value="en-US"/>
            </MsiPackage>
            <ExePackage Id="MiniConda"
                        SourceFile="XXXXXXXXX"
                        InstallCommand="XXXXXXXXX"
                        DetectCondition="CondaFileFound"
                >
                <ExitCode Value ="3010" Behavior="success" />
            </ExePackage>
        </Chain>
    </Bundle>

    <Fragment>  
     <util:FileSearch
       Id="CondaFileFound"
       Path="XXXXXXXXXXXXX"
       Variable="CondaFileFound"
       Result="exists" />
    </Fragment>
</Wix>

希望我可以通过对捆绑文件进行简单的更改来实现这一点。我只想禁用一个按钮。

  1. 添加属性ThemeFile="HyperlinkSidebarTheme.xml"到元素bal:WixStandardBootstrapperApplication

  2. 将文件 HyperlinkSidebarTheme.xml[Wix Install dir]\SDK\themes 复制到您的项目目录。

  3. 打开复制的文件 delete/comment 字符串

    <Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>