我们目前有4所安装用于我们的客户软件:

  • ClientSetupTest
  • ClientSetupProduction
  • ClientUpdateTest
  • ClientUpdateProduction

唯一的差别是,设置包含晶报告可重新分发文件,并更新。测试和生产只是指定环境中,他们运行在和差别只存在一个在线客户。exe。配置文件。

愚蠢的,我知道,这就是为什么我代替他们都与一个安装后摆脱晶报告。新安装程序写入选环境中出的设置。config,其引用的该文件的属性(看看这里).

"文件"的属性是新的配置文件,与这个新的安装。这问题我跑到的是,如果我们修改的客户。exe。配置文件,在一个古老的安装,然后运行的新的安装、配置文件从来没有得到更新"文件"的属性。

是否有任何办法迫使它更新一个文件?RemovePreviousVersions不完全工作,因为这是一个不同的安装,除非我误解的东西。我现在的想法,这将可能的工作,是加码,在OnBeforeInstall方法重新命名的老客户。exe。config到备份文件,因此它将始终写下新的一个。似乎是应该有一个更简单的解决方案内安装程序本身,虽然。任何想法?

编辑:重命名的古老的配置文件的客户。exe。config。老话之前的基础。OnBeforeInstall()没有工作。它重新命名的文件,但从来没有写新的一个。

有帮助吗?

解决方案

窗户安装不会更新修改的文件.

非版本化文件用户的数据—如果修改后的日期后面 比创建日期的计算机上的文件,不安装 该文件,因为用户自定义,将删除。如果修改后的 并创建日期是相同的,安装的文件。如果创建日期 晚于该修改的日期,本文件被认为未经修改的, 安装的文件。

你有一些选择:

  • 包括一个自定义的行动,修改文件。这可能是一个 脚本 或.净码。

  • 做为你说-移动现有文件的方式。安装不会停止。但你需要确保它发生在以您想象的。你可能需要 逆戟鲸 图出的订货。

  • 包括一个自定义的选择来设定创建日期是"今天"。这应该是真正简单的一个脚本定义的行动,使用 脚本。实例.那窗户安装将复盖它。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top