2

目前我有一个用 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();

我尝试了以下方法无济于事:

  1. 使用 asetTimeout()来延迟rimraf(myLocalAppData)通话
  2. 如果在尝试清理目录时遇到错误代码,则使用maxBusyTriesrimraf 选项中的参数继续重试 10 秒EBUSYENOTEMPTYEPERM
  3. 运行app.exit()rimraf(myLocalAppData)

我知道electron-builder提供的 NSIS 安装程序可以正确清理应用程序数据目录,但我无法使用它,因为我需要 MSI 来通过组策略管理支持机器范围的安装。

任何帮助表示赞赏!

4

0 回答 0