2010-07-28 45 views
1

我正在开发使用Installshield 2008入门版的软件包,项目类型是Installscript MSI项目。如何防止Installshield删除文件?

我现在面临的问题是安装我安装的一些文件到以下位置时“C:\ Program Files文件\企业\ SystemFiles”从这个位置我正在复制并添加组文件到System32文件夹,它包含DLL和OCX文件,拷贝到使用Installscript的System32文件夹中。

由于此过程在卸载安装的文件正在从System32中删除,因为这个其他依赖应用程序需要相同的一组DLL已停止工作。

我已经找到Installscript来将文件从ProgramFiles复制到System32文件夹,而不是使用内置选项,因为我们在升级过程中遇到了问题,以免我使用Installscript。后文件拷贝到System32下使用的InstallScript像FILE_ATTR_SYSTEM其设置系统属性 但仍文件卸载过程中不被删除

即使我尝试了好几种解决方法,如设置文件属性。

任何想法如何给文件属性为PERMENANTSHARED将这个去帮助,如果是,那么使用INSTALLSCRIPT怎么设置呢?

回答

1

我有两个想法 1)我认为你可以使用SHARED选项,因为这不会在卸载时删除文件。

2)另外,当我面临类似的问题时,我所做的是将所有必需的文件放入安装目录本身,以便卸载只安装的文件将被删除(我知道这不是一个最佳的解决方案)

(注:我已经上安装屏蔽大约6年前,所以要记住只有某些事情的来龙去脉)的安装脚本

+0

感谢Raghu的帮助:)。 我已检查SHARED选项,仍然存在问题.... – Chetan 2010-07-28 08:36:14

0

您还可以禁用日志记录。这将使安装程序“忘记”它安装了特定的文件组或功能。

您应该确保在复制了要永久保留在系统上的文件后再次启用日志记录。

如果您在禁用之后不记得启用日志记录,则卸载过程可能无法正常工作。

语法如下: 禁用(LOGGING);

//添加代码将您的永久文件复制到此处 启用(LOGGING);