如何在使用 qt 安装程序框架卸载期间 delete/clear AppData/Roaming/MyFolder 文件?
How to delete/clear AppData/Roaming/MyFolder files during uninstall using qt installer framework?
我使用 qt 安装程序框架创建了一个应用程序。现在卸载我的应用程序不会删除 AppData/Roaming/My 应用程序文件夹。所以我尝试了我的自定义卸载代码以清除我的 AppData。但这使我的安装程序没有响应。
Controller.prototype.FinishedPageCallback = function() {
if (installer.isUninstaller() && installer.status == QInstaller.Success)
{
var appDataPath = QDesktopServices.storageLocation(QDesktopServices.AppDataLocation) + "\My app";
if(installer.fileExists(appDataPath) === true)
{
installer.executeDetached("cmd",["/c", "rd", "/q", "/s", appDataPath]);
}
gui.clickButton(buttons.FinishButton);
}
}
我也试过使用
if(installer.runUninstall === true)
{
installer.performOperation("Execute" , "cmd" "C:/Users/%USERNAME%/AppData/Roaming/My App", "rd", "/s", "/q");
}
也不行。我错过了什么吗?
我猜罪魁祸首是 'My' 和 'App' 之间的 space。在 字符串中提供引号 :
"\"C:/Users/%USERNAME%/AppData/Roaming/My App\""
通过安装程序操作测试后发现 Rmdir/Execute 没有按预期工作。但是删除操作对我有用。
installer.performOperation("Delete","@HomeDir@/AppData/Roaming/My App/myfile.txt");
我使用 qt 安装程序框架创建了一个应用程序。现在卸载我的应用程序不会删除 AppData/Roaming/My 应用程序文件夹。所以我尝试了我的自定义卸载代码以清除我的 AppData。但这使我的安装程序没有响应。
Controller.prototype.FinishedPageCallback = function() {
if (installer.isUninstaller() && installer.status == QInstaller.Success)
{
var appDataPath = QDesktopServices.storageLocation(QDesktopServices.AppDataLocation) + "\My app";
if(installer.fileExists(appDataPath) === true)
{
installer.executeDetached("cmd",["/c", "rd", "/q", "/s", appDataPath]);
}
gui.clickButton(buttons.FinishButton);
}
}
我也试过使用
if(installer.runUninstall === true)
{
installer.performOperation("Execute" , "cmd" "C:/Users/%USERNAME%/AppData/Roaming/My App", "rd", "/s", "/q");
}
也不行。我错过了什么吗?
我猜罪魁祸首是 'My' 和 'App' 之间的 space。在 字符串中提供引号 :
"\"C:/Users/%USERNAME%/AppData/Roaming/My App\""
通过安装程序操作测试后发现 Rmdir/Execute 没有按预期工作。但是删除操作对我有用。
installer.performOperation("Delete","@HomeDir@/AppData/Roaming/My App/myfile.txt");