重新缓存的 msi 仍在运行旧的自定义操作

2024-06-20

我已对 msi 文件中的自定义操作进行了更改,以便在服务停止或停止挂起时不尝试停止 Windows 服务。但是,在使用 msiexec /fv mymsi.msi 重新缓存 msi 后,当运行到下一个版本的主要升级(其中也有更正的服务停止自定义操作)时,详细日志记录显示旧的自定义操作代码仍在使用即使缓存的 msi 已更新也运行。我什至对缓存的 msi 与重新缓存中使用的 msi 进行了二进制比较。

我在这里做错了什么。


如果旧的自定义操作仍在运行,则意味着以下两种情况之一:

  1. 新的 MSI 逻辑不正确,并且仍在运行自定义操作。

  2. 重新缓存/重新安装不起作用。

要重新缓存/重新安装,请确保您的 MSI 与旧 MSI 基本相同(相同的产品代码/升级代码等),但更新的自定义操作除外。然后做:

msiexec /fv new.msi /l*v log.txt

这将覆盖旧的 MSI 并使用新的 MSI 进行修复(并为您提供一个日志文件,以防出现任何问题)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重新缓存的 msi 仍在运行旧的自定义操作 的相关文章

  • 在 WiX 文件中,Name="SourceDir" 指的是什么?

    WiX 文件似乎总是包含这一行
  • 为什么最新的 Python 3.8.x 版本不提供 Windows 安装程序?

    我需要在Windows计算机上安装Python 3 8并希望使用最新的小版本3 8 12 https www python org downloads release python 3812 官方发布网页提供了源代码的 tarball 文件
  • WiX:数字签名 BootStrapper 项目

    我有一个项目 我为其构建了 WiX msi 文件 我还有一个 WiX 引导程序 exe 文件 用于检查 C 2005 是否存在 如果未找到则安装它 然后安装 msi 软件包 我的项目包括作为 msm 文件的 Crystal Reports
  • 要求 WIX Bootstrapper 在 .NET Framework 安装后重新启动并跳过应用程序启动

    感谢安德烈在这里的回答 使用 WIX 安装程序安装 NET Framework 4 7 2 如果需要 https stackoverflow com questions 53640255 install net framework 4 7
  • Wix 为整个树生成单个组件 id

    我是一个几乎没有 wix 经验的人 我正在努力支持 Windows 以及我负责的组件 我正在尝试为我的产品生成的一组文件创建合并模块 这些文件存在于许多子目录中 我想知道如何为整个树中的所有文件创建一个组件 ID 我不担心小的升级 因为那是
  • Wix 4 收获目录的解释?

    我正在尝试学习 Wix 4 0 来为我正在开发的应用程序创建安装程序 构建我的应用程序后 我在一个文件夹中有一堆文件 我想将它们安装到程序文件中 我已经读到收获功能允许我简化此过程并为整个目录创建组件映射 但我不确定这是什么example
  • 让 WiX Bootstrapper 用于 .NET 4.0 的引导

    我一直在寻找让我的引导程序能够安装 NET 4 0 和我自己的应用程序 我查看了几个博客和教程 但无法让它发挥作用 我在 Stack Overflow 问题中读到在 WiX 中启动 调用引导程序 https stackoverflow co
  • 在 WiX 中轻量运行时,DefaultDir 无效

    我只是想做一个安装程序 将一些文件移动到程序文件中 设置开始菜单链接 并出现在要卸载的添加 删除程序中 目前我很乐意点击开始菜单链接 因为这看起来相对简单 需要注意的是 我特别希望可以通过脚本构建它without任何类型的全局安装 这意味着
  • 安装一系列嵌入式 MSI 软件包,每个软件包都使用嵌入式 UI - 显示通用进度条

    我正在使用 Windows Installer 4 5 新功能和 WiX 来生成MSI http en wikipedia org wiki Windows Installer包 我创建了一个 MSI 链安装 以便将其他 MSI 包的集合作
  • 从 C# 调用 MsiEnumRelatedProducts 崩溃

    我在从 C 调用 MsiEnumRelatedProducts 时遇到了无穷无尽的麻烦 我尝试了 p invoke 定义的几种变体 但没有成功 out 和 ref 我认为问题在于最后一个参数 它是一个 LPTSTR 应该指向一个 39 个字
  • WiX 自定义操作项目 - BadImageFormatException

    我正在开发我的第一个自定义操作 但无法加载生成的 CA dll 文件 这是最简单的过程和结果 我创建了一个自定义操作项目并保留所有默认值 该类看起来像这样 using Microsoft Deployment WindowsInstalle
  • 使用 Powershell 远程安装 .msi

    我已经让他使用这个论坛上存在的代码来跟踪代码 cls computername Get Content C Users C201578 db Documents server txt sourcefile iceopsnas LNT Sof
  • 如何与静默安装的 msi 交互? (进度数据并取消)

    由于某种原因 我们正在提供带有我们自己的安装 GUI 的产品 这意味着我们将在后台静默运行 msi 安装 通过使用 MSI API MsiInstallProduct 我可以静默安装该产品 但我不知道如何获取此安装的进度数据以及如何取消它
  • WiX Heat:预构建事件在构建服务器上过早触发

    我正在为我的 Visual Studio 解决方案收集一个目录 到目前为止 它在我的本地系统上运行可能是因为项目构建顺序得到了尊重 当我在构建服务器上运行安装程序时 它会找到正确的目录 但在构建安装文件时尚未创建该目录 它抛出一个HEAT5
  • WIX 捆绑包创建

    我尝试创建一个包含 exe 的 MSI 使用 WIX 中的捆绑选项 这样做时出现错误 有人可以帮我解决这个问题吗 下面是代码
  • 将外部 CAB 添加到具有内部 CAB 的 MSI

    我有一个安装应用程序的 Visual Studio 安装程序 vs2015 我希望它还安装一组配置文件 其内容因物理安装位置而异 这些文件将作为 cab 文件交付到与 msi 相同的目录中 cab 有一组已知的文件 这些文件将分布在安装位置
  • Wix\heat.exe 奇怪的输出

    我有一个目录 其中有一个文件 Iesi Collections dll 当我运行以下命令时 heat exe dir D MyDir cg References srd o D Product wxs nologo gg g1 dr INS
  • Wix:使用引导程序时显示 WixUI_minimal

    我对 Wix 有点陌生 我创建了一个引导程序来检查并安装 NET 版本 4 框架 如果它不存在 在我的 msi 包中 我使用 WixUI minimal 安装程序界面 当我运行 bootstrapper exe 时 显示标准引导程序 UI
  • 如何对具有相同文件的目录进行 HeatDirectory 2 次或更多次?

    我一直在 BeforeBuild 目标中的 WiX 安装程序项目中使用 HeatDirectory 任务来收集我们在客户端网络上部署的 Web 应用程序的文件 一直工作得很好 我现在想要部署第二组文件 这恰好是一些文档 并且它包含与先前 H
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了

随机推荐