gpt4 book ai didi

wix - 如何使用 MajorUpgrade 和 RemoveFeatures 仅删除特定功能并仍然卸载产品的先前版本

转载 作者:行者123 更新时间:2023-12-01 19:44:12 24 4
gpt4 key购买 nike

我从 VS 2010 附带的 Microsoft 安装程序切换到 Wix 3.6。我尝试使用 <MajorUpgrade/> 向我们的用户发布无缝升级。标记,但是我不想在执行此重大升级时卸载一项功能。

如下所示,我有 RemoveFeatures="[ProductFeature]"这将导致仅删除 ProductFeature,而保留 DataFeature,但这会导致该条目不会像未指定此参数时一样从 Windows 的“程序和功能”列表中删除。如何在不卸载特定功能的情况下正确升级?

<Product Id="*" 
Name="$(var.MyProject.ProjectName)"
Language="1033"
Version="2.6.0.0"
Manufacturer="Awesome Software (Pty) Ltd"
UpgradeCode="D7B99D7F-340D-449D-9C18-5D4A4A9B13D5">
<Package InstallerVersion="405"
Compressed="yes"
Description="Installs $(var.MyProject.ProjectName)"
Keywords="Awesome"
InstallScope="perMachine"/>

<WixVariable Id="WixUILicenseRtf" Value="$(var.SolutionDir)\awesome.EULA\awesome CE Eula.rtf" />
<MediaTemplate EmbedCab="yes"/>
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed."
RemoveFeatures="[ProductFeature]" Schedule="afterInstallInitialize"/>

<Feature Id="ProductFeature" Title="Setup $(var.MyProject.ProjectName)" Level="1">
<ComponentGroupRef Id="FilesFragment" />
<ComponentRef Id="C__5B1F76E18B8F479DAAA1B8C14E4B0638"/>
<ComponentRef Id="C__5B1F76E18B8F479DAAA1B8C14E4B0639"/>
<ComponentRef Id="cmpA0688C6933D519CB5D1B6D48D50F1E21"/>
</Feature>

<Feature Id="DataFeature" Title="Data $(var.MyProject.ProjectName)" Level="1" >
<ComponentGroupRef Id="DataFragment" />
</Feature>

<!-- Wix UI Prompts -->
<Property Id="WIXUI_INSTALLDIR" Value="APPLICATIONFOLDER"/>
<UIRef Id="WixUI_InstallDir"/>

<Binary Id="myCustomActionsDLL" SourceFile="$(var.CustomActions.TargetDir)MaxCut.CustomActions.CA.dll"/>

<InstallExecuteSequence>
<Custom Action="CA_myCustomAction" Before="InstallInitialize"/>
</InstallExecuteSequence>

最佳答案

如果您不卸载所有功能,Windows Installer 会将旧产品保留在计算机上。当卸载期间 Feature 下的 Condition 计算结果为 false 时,通常会发生这种情况。您已经找到了另一种方法来实现该场景。每次发生这种情况都会让人们感到困惑。

简短回答:您无法使用功能完成您想要做的事情。

关于wix - 如何使用 MajorUpgrade 和 RemoveFeatures 仅删除特定功能并仍然卸载产品的先前版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15638632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com