升级后文件丢失

2023-12-02

我安装的是1.1版本。我使用 1.2 版本创建了升级。 在这两种产品中我都有 2 个文件:

    <Component Win64="yes" Id="cmpFILE1" Guid="*">
  <File Id="filFILE1" KeyPath="yes" Source="$(var.BasePathCMP)\Performance.dll" />
</Component>
<Component Win64="yes" Id="cmpFILE2" Guid="*">
  <File Id="filFILE2" KeyPath="yes" Source="$(var.BasePathCMP)\LockLib.dll" />
</Component>

在升级过程中,LockLib.dll 被删除且未被替换。 在 1.2 的全新安装中它是存在的。 什么会导致这种行为?


我认为您更改了 MSI(旧版和升级版)中的文件的组件 guid。当RemoveExistingProducts安装即将结束时,升级的行为类似于合并,如有必要,会覆盖文件并增加共享组件guid的引用计数。最后,REP 将删除旧产品并减少组件指南的引用计数。如果该指南不再有客户端,它将被删除。如果“共享”文件的 guid 发生更改,它将不再有客户端并被删除。最后的 REP 的问题是您必须遵循组件共享规则,但如果您在升级开始时对 REP 进行排序,则不需要遵循组件共享规则。

我添加一个示例以供将来参考。

假设第一次安装有 3 个文件 A、B、C 和三个 guid,分别是 1、2 和 3。您的升级有相同的三个文件,但 guid 是 1、2 和 8。当 REP 结束时,升级安装首先是旧产品。 Guid 1 和 2 的引用计数从 1 增加到 2。Guid 3 保持为 1。然后卸载旧产品。指南 1 和 2 的引用计数减至 1,它们仍在使用中,因此附加到组件指南的文件会保留。 Guid 3 下降到零,没有引用计数,因此该组件被删除,但它附加到文件 C,因此即使您刚刚安装了它,C 也会被删除。

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

升级后文件丢失 的相关文章

  • 有没有办法在 WIX 安装程序中创建符号链接?

    我需要为特定文件夹创建符号链接 该文件夹是由 WIX 安装程序创建的 有没有办法从 WIX 安装程序创建符号链接 我读过关于mklink 但我不知道如何在 WIX v3 中使用它 您可以使用自定义操作来运行 mklink InstallFi
  • Wix:如何警告用户而不是使用属性终止安装?

    我正在 x64 计算机上搜索 Microsoft Access 数据库引擎的注册表项 这是我的代码
  • MSDeploy 是否足够“友好”,或者可以将其封装在 MSI 文件中

    您认为 MSDeploy 包是让最终用户在其系统上安装 Web 应用程序的一个不错的选择吗 与使用 MSI 文件安装 Web 应用程序的体验相比如何 有人尝试过将 MSDeploy 包封装在 MSI 包中吗 会起作用吗 据我描述 MSDep
  • 是否可以使用 WIX 创建多语言安装程序?

    是否可以使用 WIX 创建多语言安装程序 如果您创建嵌入式转换 则无需引导程序即可执行此操作 并且 MSI 安装程序将根据您的系统区域设置自动应用其中之一 有关完整的详细信息和脚本 请点击以下链接 http www geektieguy c
  • Wix 自定义对话框

    目前 我们的安装向导使用的是 Wix 经典主题 现在 我们计划改进安装程序的外观和感觉 1 我如何将自定义对话框经典主题更改为其他主题 2 在安装我们的设置时 我们计划显示一些图像 例如幻灯片放映 是否可以像 Wix 中那样显示图像 我是否
  • Wix引导程序

    我使用 WPF 编写了一个托管 wix 引导程序 实际的安装步骤需要链接多个 msi exe 和批处理文件
  • 在 WiX 中重新启动后继续安装

    我正在尝试使用 WixStandardBootstrapperApplication 创建引导应用程序 除了处理重启之外 它可以很好地完成我需要它做的所有事情 我需要安装一组EXE文件 只有第一个是 NET 4 5 需要重新启动 我会延迟重
  • Windows 安装程序中的主要与次要升级

    是否有任何理由不设置安装 以便始终完成主要升级并更改产品代码 我发现支持不同类型的安装需要更多代码 并且 修复 安装似乎通过重大升级更容易工作 而且需要安装的应用程序不是很大 因此不需要 服务包 或补丁安装程序 不会 如果您的应用程序很小并
  • WiX:如果虚拟目录包含嵌套目录,如何跳过删除 iis:WebVirtualDir?

    我的msi安装和卸载共享资源 IIS虚拟目录 MyTeamServices 它工作得很好 除了在卸载过程中删除该虚拟目录 即使有人创建了嵌套虚拟目录 不是通过使用安装程序 只是 手动 当我期望看到 WiX 处理 HDD 文件夹的标准行为时
  • 在 WiX 中如何通过名称选择 IIS 网站?

    我想做的是向安装程序用户显示其服务器上的网站列表 并允许他们选择一个 使用此处描述的方法 http www cmcrossroads com content view 13160 120 http www cmcrossroads com
  • App.Config 应该是应用程序的伴随文件还是放在自己的组件中?

    当我创建 Windows Installer 程序包 例如使用 WiX 并安装该应用程序时App exe以及App exe config配置文件应该有自己的组件还是应该是应用程序可执行文件的伴随文件
  • WiX 在构建服务器上失败

    我有一个使用 WiX 的项目 它在我的本地计算机上运行良好 但是当我发布到构建服务器时 构建会因以下内容而崩溃 来自 MSBuild 日志 Using HeatDirectory task from assembly C Program F
  • 获取生成的 ProductCode 作为 Wix 中的变量

    在我们的产品中我们使用Product Id 在 Wix 中告诉它为每个新版本生成新的产品代码 现在 我们需要在安装期间将正在安装的 MSI 的产品代码记录到我们的注册表项之一中 我们可以通过循环遍历 卸载 注册表项中的条目来查找产品名称和版
  • WiX 无法正确渲染图像

    我正在尝试编写一个自定义 WiX 对话框 作为其工作流程的一部分 它会根据某些条件显示错误图像 然而 WiX 似乎忽略了我的尺寸并按其感觉合适的方式显示 这是我的代码
  • 当自动为 WIX 安装程序收集文件时,我的目录结构有多灵活?

    请原谅我的无知 我一直在阅读一些书 但还没有准备好尝试任何东西 目前 我们有一个 wxs 文件 该文件无法轻松维护 每当从 SVN 提交 删除新文件时 都会手动添加 删除所有文件 由于在创建新文件和更新 wxs 安装文件之间发生了失误 我们
  • ICE61:该产品应仅删除其自身的旧版本

    我正在关注第二个答案here https stackoverflow com questions 500703 how to get wix to update a previously installed version of a pro
  • 与 WiX 3.0 一起安装 WiX 3.5

    是否可以同时安装 WiX 3 0 和 3 5 如果我在安装 3 0 后安装 3 5 它会删除 3 0 文件 如果我尝试在 3 5 之后安装 3 0 它会告诉我已经安装了较新的版本 我正在从 VS 2008 迁移到 VS 2010 因此我的应
  • WIX MSI 软件包卸载

    我正在使用 WIX 作为安装程序包 当我通过双击原始 msi 包卸载该包时 一切都很好 当我从控制面板卸载时 它会给我一个最小的用户界面卸载 我已在 MSI 中写入一个自定义操作 询问用户是否要卸载某些数据库等 最小 UI 卸载时不会发生这
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序
  • 将构建参数传递给 .wxs 文件以动态构建 wix 安装程序

    我是一名学生开发人员 我已经为我现在工作的公司构建了几个安装程序 所以我对WIX还是比较熟悉的 我们最近决定拥有一个构建服务器来自动构建我们的解决方案 它构建调试和发布以及混淆 和非混淆 项目 你真的不需要理解这些 您需要了解的是 我有相同

随机推荐

  • 如何在 RabbitMQ 中设置重试次数?

    我正在使用 RabbitMQ 并且有一个保存电子邮件消息的队列 我的消费者服务使消息出队并尝试发送它们 如果由于任何原因我的消费者无法发送消息 我想重新排队消息以再次发送 我意识到我可以执行 basicNack 并将重新排队标志设置为 tr
  • Android SDK 管理器的 GUI 消失了吗?

    我很少为 Android 做一些事情 所以我有点困惑 以前有两种类型的安装 Android Studio 和 Android SDK 我有IDEA 所以不需要Studio 通常我会下载带有 UI 工具来下载其组件的 SDK 我刚得到http
  • cakephp 模型验证错误消息未显示在 hasOne 关联中

    我想要做model验证与association以单一形式 我有两张桌子users 父表 和user details 子表 现在模型验证仅适用于用户表 我也希望它适用于 userDetails 表 它们之间的关系是hasOne 验证仅适用于用
  • CSS 2.1 规范:不折叠父级边距的基本原理(当父级是浮动的或具有除可见之外的溢出时)

    The CSS 2 1 规范 第 8 3 1 节在折叠边距上指出 建立新块格式化上下文的元素的边距 例如 因为浮动和带有 可见 以外的 溢出 的元素 不会 与他们流入的孩子一起崩溃 我花了一段时间才意识到块格式化上下文是 由父母建立并应用于
  • Spring security 自定义 FilterInitationSecurityMetadataSource 实现 403 禁止问题

    简而言之 我正在尝试实现一个自定义 FilterInitationSecurityMetadataSource 以便使用 spring security 5 0 6 和 Spring Boot 2 0 3 在我的 Web 应用程序中动态保护
  • 在 Symfony 2 中使用 gzip / 压缩而不使用 mod_deflate

    我正在研究两个不同的Symfony 2 8项目运行在不同的服务器上 它想使用压缩来加快加载速度 我找到的所有资源都指向mod deflate 但是虽然第一台服务器不提供mod deflate根本 第二个服务器无法使用mod deflate
  • 使用 Powershell Out-Printer 到文件时控制输出位置

    我有一个 Powershell 脚本 它从服务器上的文件夹中检索所有图像文件 jpg png 并将它们 打印 到一个文件 特别是使用特定打印驱动程序的 prn 文件 所有这些都运行良好 问题是我无法弄清楚如何控制 打印 的输出的位置 即它将
  • 如何在 vb.net 中闪烁/闪烁任务栏图标?

    我需要使我的 vb net 应用程序能够在应用程序中收到通知时闪烁 闪烁以吸引用户的注意 就像此图中的 DW 图标一样 我已经在谷歌上搜索了一段时间 并尝试了各种代码示例 但都没有成功 这是我到目前为止所得到的 Public Class F
  • [[NSDate date] keep] 和 [[NSDate alloc] init] 之间的区别

    由于以下两者具有相同的目的 today NSDate date retain and today NSDate alloc init 那么它们之间有什么区别呢 这里的任何事情都与内存分配方法有关 或者其他什么是相应地使用它们的原因 NSDa
  • 如何左右对齐 Flexbox 列?

    使用典型的 CSS 我可以将两列中的一列向左浮动 另一列向右浮动 中间有一些装订线空间 我该如何使用 Flexbox 来做到这一点 http jsfiddle net 1sp9jd32 container width 500px borde
  • Perl:V 5.8.8:在 CentOS5/RHEL5 上找不到 auto/XML/LibXSLT/new.al

    我正进入 状态 无法找到 auto XML LibXSLT new al 我的 CentOS5 机器上安装 Perl 5 8 8 时出错 此问题与 libxml2 和 perl 模块有关XML LibXML XML LibXSLT 对于 1
  • 为什么在函数调用中捕获对象的值?

    当您单击此代码时 应该会弹出一个带有图像编号的警报 for var i 0 i lt 10 i img i click function alert i 你可以看到它不起作用http jsfiddle net upFaJ 我知道这是因为所有
  • DIV 未显示在 Chrome 中

    我刚刚做了一个非常简单的网站 但遇到了问题 在 Firefox 和 Safari 中 我可以看到 id 为 sponsors 的 DIV 但在 Chrome 中它消失了 我在Mac上 有人有解决办法吗 http www tweetup vn
  • 异常:[!]您的应用程序正在使用不受支持的 Gradle 项目

    我正在尝试运行现有的 flutter 应用程序 但收到此异常 我该如何解决这个问题 例外 您的应用程序正在使用不受支持的 Gradle 项目 要解决此问题 请通过运行创建一个新项目flutter create t app
  • HTTP 到 HTTPS 重定向不适用于现有规则

    我已经做了三天了 没有任何结果 我有一个现有的 http 网站 它有很多重定向规则 具体取决于 URL 友好链接 我现在需要强制加载到 https Google 最终会将它们从索引中删除 但有很多指向我的第三方网站页面的链接无法物理改变 下
  • 在 Haskell 中生成斐波那契数?

    在Haskell中 如何根据第n个斐波那契数等于第 n 2 个斐波那契数加上第 n 1 个斐波那契数的性质生成斐波那契数 我见过这个 fibs Integer fibs 1 1 zipWith fibs tail fibs 我不太明白这一点
  • 如何在 R 中提取 1x1 数组切片作为矩阵?

    我正在使用 3D 阵列 函数从用户处获取 2D 数组切片 矩阵 并使用行和列名称 数组的相应暗名称 将其可视化 如果数组维度 gt 1 它就可以正常工作 但是 如果我有 1x1x1 数组 我无法将切片提取为矩阵 a lt array 1 c
  • 左操作数为负数时未定义的行为

    几天前 我在那里参加了微软 GD 实习在线考试 我一直在研究负数左移是一种未定义的行为 但该论文的 30 个问题中几乎有 7 个问题与移位运算符相关 其中大约 5 个问题涉及将负数向左移动 而且他们没有选择说 未定义 行为 看到这一幕我很震
  • 使用 Andengine 绘制圆

    我正在寻找一种使用 Andengine 画圆的方法 正如我所看到的 我只能绘制线条 矩形和放置精灵 但我找不到绘制圆形的方法 我怎样才能做到这一点 事实上 你不能直接画一个圆 替代方案是 渲染具有圆形纹理的四边形 请参见这个链接 例如 渲染
  • 升级后文件丢失

    我安装的是1 1版本 我使用 1 2 版本创建了升级 在这两种产品中我都有 2 个文件