代码之家  ›  专栏  ›  技术社区  ›  Tom

升级软件:installshield c#和。网

  •  0
  • Tom  · 技术社区  · 10 年前

    我有一个关于软件更新的问题。目前,我每次都会将新版本安装到不同的文件夹中。然后要求用户重新输入配置参数。这当然不太理想。软件是Windows窗体,我使用设置。设置文件。 所以问题是,如果我将较新版本安装到与先前安装相同的文件夹中,会发生什么?文件会被替换吗?如果我在新版本中添加了设置怎么办?他们会合并吗? 有什么需要注意的吗? 谢谢

    2 回复  |  直到 10 年前
        1
  •  1
  •   Michael Urman    10 年前

    当MSI相关时,通常一次只能安装它的一个实例。如果是这种情况,首先可能会卸载早期版本,所以问题是,是否通过卸载MSI来删除存储设置的文件。

    如果MSIs不相关,您可以通过重叠它们的安装(可能会打破组件规则,因为两个不同的组件在同一位置描述相同的文件,但使用不同的组件代码)来进入痛苦的世界,但核心问题归结为同一件事:更新的安装是否会放置存储设置的文件。

    这些可能是相同的问题,因为删除或安装文件的最简单方法是直接将其包含在MSI中。(还有其他方法,但我假设您还没有使用这些方法。)如果该文件不是安装的一部分,它将不会发生任何变化,问题的答案取决于应用程序在使用不同版本创建的设置文件运行时会做什么。如果该文件是安装的一部分,并且组件规则未被破坏,则将卸载该文件,然后重新安装(擦除任何配置),或者根据 File Versioning Rules Default File Versioning ,该文件将保持不变或完全替换为新版本。Windows Installer不知道如何合并设置文件。

        2
  •  0
  •   Tom    10 年前

    谢谢你抽出时间回答我的问题。 所以,底线是我应该避免这些问题,并安装到另一个文件夹中。我还应该制作一份设置副本,并将它们放在我自己的文件中,该文件可用于更新我的新安装。我想那是最安全的路线。 谢谢