如何使用 WiX 安装程序更改添加/删除程序名称?
Posted
技术标签:
【中文标题】如何使用 WiX 安装程序更改添加/删除程序名称?【英文标题】:How to change add/remove program name using WiX Installer? 【发布时间】:2014-10-02 07:48:27 【问题描述】:我正在构建一个 WiX 项目来安装自定义包。我的产品如下所示:
<Product
Name="My custom project"
... />
因此,当我使用 WiX 安装程序时,我可以在我的屏幕上看到 Selected name
,每当 Wix 使用该名称进行显示时。
在 add/remove 程序下,我可以看到在 Name
标记下指定的相同名称。但我希望它看起来不一样,因为:
My custom project v1.0
据我所见,正如 Rob Menching 提到的 here,这样做的方法是修改我的 .wxs 屏幕文件以修改 [ProductName]
标记并将其替换为我自己的选择。
我想知道是否有更简单和更短的方法,例如,使用我的自定义 ARPINFO
配置,如发布的 here 修改出现在 添加/删除程序列表下的名称>.
有人知道怎么解决吗?
【问题讨论】:
比修改 ProductName 更短的方法?目前尚不清楚这里的问题是什么。 ProductName 是您使用的,其余的 ARP 信息是链接上的那组属性。 这是标准的 Windows Installer 行为——与 WiX 创建的表或 WiX 提供的操作无关。您可以使用ARPSYSTEMCOMPONENT 隐藏整个条目并单独创建自己的条目。但是你确定这是一个经过验证的要求吗? 【参考方案1】:
我找到了解决这个问题的方法。您可能会发现它在您的场景中也很有用。
对于这种方法,您必须编辑 wixproject 文件,即 YOURPROJECT.wixproj。
编辑PropertyGroup
标签下的Name
属性。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<OutputName>YOURAPP.$(ProductVersion)</OutputName>
<OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<!--<This name will be displayed under your add remove program.>-->
<Name>YOURAPP</Name>
<!--<This is used for Product Display Name.>-->
<Cultures>;</Cultures>
</PropertyGroup>
【讨论】:
这基本上是你的项目名称。当 .wxi 文件中Product
标签的 Name
属性动态更新时,在这种情况下,您的应用程序名称将不会来自产品标签,因此这是在添加/删除程序中更新产品名称的选项。如果您需要任何帮助或更多解释,请发表评论。以上是关于如何使用 WiX 安装程序更改添加/删除程序名称?的主要内容,如果未能解决你的问题,请参考以下文章
如何从包含多个 MSI 的 wix 自定义引导程序包中安装/卸载单个 msi,例如安装项目的添加/删除功能?