我的build/installer.nsh文件中有以下脚本,用于在卸载时删除文件。
!macro customUnInstall
SetShellVarContext current
Delete "$LocalAppdata\MyUI\.settings.db"
Delete "$LocalAppdata\MyUI\.contrib.db"
!macroend
但是,当安装以及以下文件被删除。下面是我的package.json的nsis部分的样子:
"nsis": {
"oneClick": false,
"uninstallDisplayName": "Equella Sync Uninstaller",
"allowToChangeInstallationDirectory": true,
"deleteAppDataOnUninstall": true,
"runAfterFinish": true,
"createDesktopShortcut": true,
"createStartMenuShortcut": true,
"perMachine": true,
"license": "license.txt",
"include": "build/installer.nsh",
"installerIcon": "build/gadoeicon.ico"
}
任何帮助将不胜感激。
1条答案
按热度按时间eaf3rand1#
如果Electron是鬼鬼祟祟的,并且还在安装程序中插入了宏,那么你可以通过以下方式解决这个问题:
但它更有可能是运行以前的卸载程序时,你安装在一个现有的安装。我假设有一种方法可以禁用它,但我对Electron Builder一无所知,所以我不能告诉你要设置哪个JSON属性。
快速查看一下它们的源代码确实表明,您可以在
customUnInstall
中检查$CMDLINE
中的/KEEP_APP_DATA
。