目前我有一个用 Squirrel.Windows 构建的安装程序。卸载时,应用程序目录位于:
C:\Users\Me\AppData\Local\MyApplicationDirectory
遗迹。我曾尝试在钩子下使用rimraf--squirrel-uninstall
删除目录,但由于文件正在使用中而失败。
这是我所拥有的不起作用的:
case '--squirrel-uninstall':
var myLocalAppData = "C:\\Users\\Me\\AppData\\Local\\MyApplication";
rimraf(myLocalAppData);
app.quit();
我尝试了以下方法无济于事:
- 使用 a
setTimeout()
来延迟rimraf(myLocalAppData)
通话 - 如果在尝试清理目录时遇到错误代码,则使用
maxBusyTries
rimraf 选项中的参数继续重试 10 秒EBUSY
ENOTEMPTY
EPERM
- 运行
app.exit()
前rimraf(myLocalAppData)
我知道electron-builder提供的 NSIS 安装程序可以正确清理应用程序数据目录,但我无法使用它,因为我需要 MSI 来通过组策略管理支持机器范围的安装。
任何帮助表示赞赏!