0

我正在使用 installshield 11 创建基本 MSI 项目。我的要求是,当我卸载项目时,我想保留某些文件。(我不希望在卸载时删除这些特定文件)。此外,这些文件不是组件的一部分,而是在安装过程中通过从特定位置使用 copyfile(脚本)命令创建(复制)的。

-开发

4

4 回答 4

2

使用禁用(记录)....启用(记录)。在这些方法之间使用 CopyFile() 将防止卸载删除文件

于 2013-09-04T09:51:52.470 回答
0

感谢 Balachandra 的回复,但我有以下观察结果可能会有所帮助。

我要保留的文件是由 CopyFile 创建的,而我在 copyfile 命令中提到的目标目录不存在。因此 CopyFile 创建文件夹并将文件复制到该文件夹​​。所以很明显我们在 installsheild 的 dir 表中不会有这个文件夹条目

但是这种方法没有帮助,卸载正在从该文件夹中删除所有复制的文件。-开发

于 2011-09-23T05:00:56.753 回答
0

Windows 安装程序仅删除它安装的那些文件和文件夹。那就是文件表和文件夹表中存在于其数据库中的每个文件。它不会删除文件表中没有条目的任何文件,类似于文件夹。

此外,如果文件夹不为空,则卸载期间不会删除该文件夹。

如果您使用 Copyfile 脚本安装某些文件(可能正在使用任何自定义操作),则在卸载期间不会删除这些文件。

于 2011-09-22T19:44:03.287 回答
0

谢谢,Alerter,我已经为此奋斗了 2 天。

我们安装一个示例配置文件并创建它的副本(在第一次安装时)。如果客户更改了配置文件,我们需要保留它,但卸载时该文件总是被删除。禁用 CopyFile 命令周围的 LOGGING 正是这种情况的解决方案。

开发人员,我知道这是一篇旧帖子,但您应该接受它作为正确答案。

希望这句话可以帮助其他人通过搜索引擎更轻松地找到此解决方案:使用 CopyFile 创建的 Installshield 文件在卸载过程中始终被删除

于 2016-09-01T12:28:15.880 回答