加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-installer – InstallShield如何永不覆盖文件

发布时间:2020-12-14 01:55:40 所属栏目:Windows 来源:网络整理
导读:我的文件结构(FireBird数据库)中有一个文件,一旦第一次安装,就不应再被覆盖了.这似乎是一项足够简单的任务,但是我浪费了大量的时间来毫无结果地找到答案. 如果右键单击该文件并选择“属性”,则只有“始终覆盖”复选框.我只是保持版本号相同,我被告知会阻止文
我的文件结构(FireBird数据库)中有一个文件,一旦第一次安装,就不应再被覆盖了.这似乎是一项足够简单的任务,但是我浪费了大量的时间来毫无结果地找到答案.

如果右键单击该文件并选择“属性”,则只有“始终覆盖”复选框.我只是保持版本号相同,我被告知会阻止文件被覆盖,但在我的情况下这可能是危险的,并且在实际的文件属性中,tere甚至无法放置一个版本号.

我原以为这会有相当直接的解决方案,但我当然还没找到.

伙计们,请提前感谢您的帮助.你摇滚.

解决方法

两种方法:

1)InstallShield永远不会覆盖文件的“最简单”方法是首先从不安装它.安装它作为a.txt并让你的应用程序在第一次运行时将其复制到b.txt,我nstallShield首先甚至都不会知道b.txt.

2)在InstallShield中创建一个组件,并将您的数据库添加为密钥文件.据推测,数据库的内容将随着时间的推移而改变,并导致创建日期和修改日期不同.在这种情况下,InstallShield(实际上是Windows Installer)默认文件版本控制规则(OMUS)规定不会覆盖该文件.

3)如果#2仍然无法正常工作,则将组件上的Never Overwrite属性设置为Yes.

请记住,文件成本核算基于KeyFile.无论密钥文件是什么,组件中的所有其他文件都会对覆盖做同样的事情. “Always Overwrite”是“版本说谎”,我们错误地告诉MSI文件Verison是65535.0.0.0,因此Createed Modtation规则被Versioned胜过非版本文件规则取代.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读