0

我有一个 wix 引导程序,它正在检查是否安装了 .net framework 4.0,如果没有安装它。这行得通。但现在我想卸载程序,但它也想卸载框架。这不应该发生,我查看了所有谷歌但我找不到解决方案。我仍在网上寻找遮阳篷,但小费会有所帮助

我试图在 Windows 中使用添加/删除程序来卸载应用程序,但是当我运行引导程序时,它想要卸载或想要修复安装。这是我的代码:

    <?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:fx="http://schemas.microsoft.com/wix/NetFxExtension">
<Bundle Name="MyCompanyapp" Version="1.0.0.0" Manufacturer="MyCompany" 
    UpgradeCode="99e2007c-0d40-4b58-958a-218a93c08270" DisableRemove="yes" DisableModify="yes">

    <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"/>
    <Variable Name="InstallFolder" Type="string" Value="[ProgramFilesFolder]\company\app" />
    <util:RegistrySearch Id="FindDotNet40InstallRegValue" Root="HKLM"
                         Key="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" Value="Install"
                         Variable="DotNetFramework40InstallRegValue" />

    <Chain >

     <PackageGroupRef Id="NetFx40Web" />
     <ExePackage Name="dotNetFx40_Client_x86_x64.exe" SourceFile=".\sources\dotNetFx40_full_x86_x64.exe" DownloadUrl="http://download.microsoft.com/download/5/6/2/562A10F9-C9F4-4313-A044-9C94E0A8FAC8/dotNetFx40_Client_x86_x64.exe" 
                  Vital="yes"  DetectCondition="DotNetFramework40InstallRegValue=1" InstallCommand="/passive/promptrestart">
        <!--<RemotePayload Size="42991616" Description="net 4.0 installer"  ProductName="net 4.0 installer" Version="4.0.0.0" Hash="6ce3a433309c63d98bcf0e2b9f1dfaed8cc18783"/>-->
      </ExePackage>
      <RollbackBoundary/>

      <MsiPackage Id="setup" Compressed="yes" Vital="yes" 
        SourceFile="C:\installer.msi" 
                  Cache="yes" Visible="yes" After="dotNetFx40_Client_x86_x64.exe" >
        <MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" />
      </MsiPackage>   
    </Chain> 
 </Bundle>
</Wix>

提前致谢

4

1 回答 1

2

您需要添加一个Permanent属性ExePackage并将其设置为“是”。

这意味着它不会被卸载。

于 2012-12-06T11:26:37.763 回答