gpt4 book ai didi

wix - 使用 WiX 管理配置文件

转载 作者:行者123 更新时间:2023-12-01 16:50:19 30 4
gpt4 key购买 nike

我有一个应用程序,其中包含多个文件,其中包含配置参数和其他数据,这些数据会随着用户使用该应用程序而更改。这些文件可能会随着我的软件的较新版本而更改,但用户也可以修改它们(或者它们可能会被应用程序本身更改)。基本上,我正在寻找一种解决方案来防止用户对这些文件的更改被覆盖,同时也是一种在用户升级我的软件时安装可能更新的文件的方法。

使用 *NIX 上的 RPM,您可以使用 %config 函数将文件定义为配置文件,然后 RPM 会重命名现有文件(如果存在)并在升级时安装新文件(可能不理想,但对于 WiX,我可以接受这样的事情)。

我想将配置文件安装到子目录甚至不同的名称(例如default.cfg),然后使用 <CopyFile> WiX 中的元素将文件复制到正确的位置。这样,默认文件将在安装时被删除并在升级时被覆盖,但实际的用户文件将保持不变。不幸的是<CopyFile> ,Windows Installer 仍然想要管理(和删除)目标文件。

我还考虑过使用 WixUtilExtension 中的 QtExec 操作来基本上执行“复制 default.cfg reallocation.cfg”,但这不太有效,而且有点黑客行为。

处理这个问题的正确方法是什么?

最佳答案

我的建议通常是将用户可编辑的内容放在单独的文件中,并通过应用程序而不是安装进行管理。这也意味着单独的文件是“用户内容”,不应安装。

我发现尝试以声明方式迁移用户数据看似困难。当您需要考虑所有这些情况的安装、卸载、修复、修补和回滚时尝试在安装时执行此操作只会使情况变得更糟。

例如,RPM 行为对“修复”有何作用。将用户数据复制出来并用一个好的文件替换它?这在 60% - 80% 的情况下可能是正确的。并卸载,该文件是否应该被删除?如果用户只想升级到下一个版本,那就很棘手。

同样,最好让他们决定如何调整配置。恕我直言。

关于wix - 使用 WiX 管理配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/357911/

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