gpt4 book ai didi

WIX/MSI - 是否可以制作一个软件包,在卸载时保留安装前存在的文件

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

我正在使用 WIX 创建安装标准文件的 MSI(无 exe、com、DLL 等)。在某些用户计算机上,MSI 中的某些文件可能已经存在。在安装过程中,这不是问题,因为 MSI 会自动更新较旧的文件等。但是,在卸载过程中,我遇到了问题。

用一个例子来解释是最容易的:
Joe Bloggs 在他们的计算机上有“文件 B”。该文件尚未由 MSI 软件包安装,并且无论如何也不会被 Microsoft 安装程序系统跟踪。它只是计算机上的一个普通文件。

Joe Bloggs 下载并安装了我的软件包,其中包含“文件 A”、“文件 B”和“文件 C”。当他安装我的软件包时,Microsoft 安装程序系统会检查“文件 B”并确定它与我的软件包中的“文件 B”相同。因此,它不会替换“文件 B”,但会将文件 B 所属的 MSI 组件标记为已安装。

Joe Bloggs 然后决定他不喜欢我的软件,因此卸载了我的软件包。当他执行此操作时,尽管在安装我的软件包之前就存在“文件 B”,但所有 3 个文件都被删除。我的调查表明,这是因为包含“文件 B”的组件被标记为已安装。因此,当您卸载该软件包时,它会删除“文件 B”。

这有点技术性,但希望有一位 WIX/MSi 专家知道解决方案。

谢谢

吉姆

最佳答案

如果文件可能已存在于计算机上,请标记Component/@SharedDllRefCount="yes"

如果 Windows 安装程序发现文件已存在,它将自动更新引用计数。

关于WIX/MSI - 是否可以制作一个软件包,在卸载时保留安装前存在的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5730104/

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