我写这篇文章是为了那些可能有同样问题的人。我有一个非常简单的安装程序包:WIX、1 个功能、4 个组件、1 个自定义操作,没有 UI。错误 2753 “该文件...未标记为安装。”有时会在卸载后首次安装时出现。第二次尝试安装总是成功的。
Windows Installer 日志显示:
安装失败,错误2753:
特征:产品特征;已安装: 未安装; 要求:做广告;
行动:做广告
安装成功:
特征:产品特征;已安装: 未安装; 请求:本地;
操作:本地
添加这些功能属性后,我不再获得 2753:
Absent="disallow" AllowAdvertise="no" InstallDefault="local" TypicalDefault="install"
该错误与自定义操作有关。最可能的原因是您正在将该文件作为自定义操作运行,但由于错误显示“该文件未标记为安装”,那么它如何将其作为自定义操作运行呢?这似乎与未安装的功能有关 - 如果您不安装包含该文件的功能,则它无法将其作为自定义操作运行。出现此消息的另一个原因是由于系统上存在更高版本的文件而不会安装自定义操作文件。同样,它表示 MSI 中的此文件尚未安装,因此无法将其作为自定义操作运行。
一种解决方案是始终安装该功能。另一种是将其作为二进制表中的 CA 运行。
我遇到了同样的问题,在尝试使用 WIX 安装程序升级服务时遇到同样的错误。我在
KeyPath="no"
的 File
标签中添加了 Component
就像
<Fragment>
<ComponentGroup Id="<SOMEID1>" Directory="INSTALLFOLDER">
<Component Id="<SOMEID2>" Guid="<SOMEGUID>">
<File Id="<SOMEID3>" KeyPath="no" />
</Component>
</ComponentGroup>
</Fragment>
我添加后有2753
Level
我只是忘记删除它,这就是原因。