Как удалить/очистить файлы AppData/Roaming/MyFolder во время удаления с помощью установщика qt?

Я создаю приложение, используя структуру установщика qt. Теперь удаление моего приложения не удаляет папку AppData/Roaming/My app. Итак, я попробовал свой собственный код для удаления, чтобы очистить файл 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");  
     }

Тоже не работает. Я что-то упускаю?


person Rubina    schedule 05.05.2018    source источник
comment
Ваша команда работает в командной строке?   -  person Heri    schedule 05.05.2018
comment
да работает в командной строке   -  person Rubina    schedule 05.05.2018


Ответы (2)


После проверки работы установщика выяснилось, что Rmdir/Execute работает не так, как ожидалось. Но операция удаления сработала для меня.

installer.performOperation("Delete","@HomeDir@/AppData/Roaming/My App/myfile.txt");  
person Rubina    schedule 07.05.2018
comment
Здорово! Пробовал с компонентом. Это не работает. - person Hareen Laks; 05.06.2020

Я предполагаю, что виновником является пространство между «Моим» и «Приложением». Обеспечьте кавычки внутри строки:

"\"C:/Users/%USERNAME%/AppData/Roaming/My App\""
person Heri    schedule 05.05.2018
comment
Пробовал Не работает, может есть другой способ очистить AppData при UnInstall?? - person Rubina; 05.05.2018