【问题标题】:InstallShield remove file not originally installed on uninstall using RemoveFile使用 RemoveFile 卸载时未安装的 InstallShield 删除文件
【发布时间】:2011-08-30 14:47:59
【问题描述】:

首先,我知道关于 SO 有类似的问题,但我还没有看到任何适合我的问题的答案。

InstallShield 2009 安装我的程序,我的程序会创建一个 ini 文件。当程序卸载时,它会留下 ini(因为它不在原始安装中)。我尝试在直接编辑器中使用 RemoveFile。我给了它属性,正确的安装模式,但我不知道“组件”是什么,或者我应该用它做什么。我浏览了每个 InstallShield 帮助文件并在线查看,但所有描述“组件”的内容都非常模棱两可。调试器不会抛出与 RemoveFile 相关的任何错误或警告,但当我运行新的卸载程序时,该文件会继续保留。我已经在这个问题上苦苦挣扎了好几天,并且在 RemoveFile 中尝试了各种方法,但都无济于事!

只是...我只想删除一个位于安装可执行文件的安装目录中的ini。解决此问题的最简单方法是什么,“组件”是什么?

【问题讨论】:

    标签: windows-installer installshield installshield-2009


    【解决方案1】:

    Windows Installer 需要该组件来检测是否要处理“删除文件指令”。我引用这个词是因为实际上没有这个词——只是为了便于解释。

    因此,如果组件已计划安装(包含在正在安装的功能中,条件解析为 true),并且 InstallMode 为“安装时删除或两者兼有”,Windows Installer 将尝试查找您的文件在位于 DirProperty 中的 FileName 中指定,并将尝试将其删除。

    如果组件已计划删除,并且 InstallMode 是“卸载时删除或两者都删除”,则相同的逻辑将适用于卸载。

    如果不安装/卸载组件(例如,正在安装另一个功能或条件为假),Windows Installer 将忽略“删除文件指令”。

    希望现在这更有意义。

    【讨论】:

      猜你喜欢
      • 2010-10-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-02
      • 1970-01-01
      • 1970-01-01
      • 2011-11-18
      • 1970-01-01
      • 2013-12-10
      相关资源
      最近更新 更多