NSIS脚本实现卸载时保留文件夹策略

4星 · 超过85%的资源 需积分: 50 151 下载量 122 浏览量 更新于2024-09-15 1 收藏 3KB TXT 举报
NSIS(Nullsoft Scriptable Install System)是一种强大的Windows安装脚本语言,用于创建自定义的安装程序。在这个特定的NSIS脚本中,主要关注的是如何在卸载过程中进行文件管理和保留特定文件夹的功能。 1. **逻辑库包含**: 首先,脚本包含了"LogicLib.nsh"库,这是一个逻辑操作的集合,可能包含了处理安装和卸载逻辑所需的基本函数。 2. **日志设置**: Section "-LogSetOn"部分设置了日志记录,这使得在安装和卸载过程中,对操作过程有详细记录,以便于调试和了解具体执行情况。 3. **卸载过程中的文件管理**: !macroDelFileByLogLogFile 是一个自定义宏,用于根据安装日志文件(`$LogFile`)删除指定的文件。它检查文件是否存在,如果存在,则调用un.DelFileByLog 函数进行安全删除,以避免误删重要文件。 4. **卸载步骤**: - 删除应用图标组中的应用程序快捷方式:`Delete "$INSTDIR\${PRODUCT_NAME}.url"` - 移除安装日志文件:`Delete "$INSTDIR\install.log"` - 清理开始菜单:`RMDir "$SMPROGRAMS\$ICONS_GROUP"`,这将删除产品在开始菜单中的图标。 5. **自定义函数**: `un.DelFileByLog` 函数是关键部分,它负责根据日志文件中的信息(如"File:wrote"、"CreateShortCut:out:"等)定位和删除文件。通过逐行读取日志文件,判断是否是需要删除的文件,并确保只删除非关键文件。 6. **特殊情况处理**: 在删除文件时,脚本特别提到需要谨慎对待 `/r` 参数,可能意味着某些情况下需要递归删除文件夹,或者在删除前进行额外的检查,以防止意外删除。 这个NSIS脚本在卸载过程中展示了如何使用日志记录、自定义宏以及对特定文件和文件夹的处理策略,以确保安装和卸载的完整性,同时尽可能地保留用户可能希望保留的文件或数据。对于IT专业人士来说,理解和调整这样的脚本可以帮助优化安装体验并减少潜在的问题。