diff --git a/Deploy/Deploy.pro b/Deploy/Deploy.pro
index 0b13736..fa9f05e 100644
--- a/Deploy/Deploy.pro
+++ b/Deploy/Deploy.pro
@@ -19,7 +19,7 @@ TEMPLATE = lib
 
 DEFINES += DEPLOY_LIBRARY
 
-VERSION = 1.5.0.25
+VERSION = 1.5.0.26
 
 DEFINES += APP_VERSION='\\"$$VERSION\\"'
 
diff --git a/Deploy/configparser.cpp b/Deploy/configparser.cpp
index 54ca76e..8daf129 100644
--- a/Deploy/configparser.cpp
+++ b/Deploy/configparser.cpp
@@ -775,18 +775,6 @@ QSet<QString> ConfigParser::getQtPathesFromTargets() {
     return res;
 }
 
-QtMajorVersion ConfigParser::isNeededQt() const {
-
-    auto Qt = QtMajorVersion::NoQt;
-    for (const auto &i: _config.targets()) {
-        if (i.isValid()) {
-            Qt = Qt | i.isDependetOfQt();
-        }
-    }
-
-    return Qt;
-}
-
 void ConfigParser::setTargetDir(const QString &target) {
 
     if (QuasarAppUtils::Params::isEndable("targetDir")) {
@@ -1083,7 +1071,7 @@ bool ConfigParser::initQmakePrivate(const QString &qmake) {
 bool ConfigParser::initQmake() {
 
 
-    if (!isNeededQt()) {
+    if (!_config.isNeededQt()) {
         QuasarAppUtils::Params::log("deploy only C/C++ libraryes because a qmake is not needed"
                                     " for the distribution",
                                      QuasarAppUtils::Info);
@@ -1191,7 +1179,7 @@ bool ConfigParser::setQmake(const QString &value) {
         }
     }
 
-    _config.qtDir.setQtVersion(isNeededQt());
+    _config.qtDir.setQtVersion(_config.isNeededQt());
 
     _config.envirement.addEnv(_config.qtDir.getLibs());
     _config.envirement.addEnv(_config.qtDir.getBins());
@@ -1257,7 +1245,7 @@ bool ConfigParser::setQtDir(const QString &value) {
     _config.qtDir.setQtPlatform(Platform::Win);
 #endif
 
-    _config.qtDir.setQtVersion(isNeededQt());
+    _config.qtDir.setQtVersion(_config.isNeededQt());
 
     _config.envirement.addEnv(_config.qtDir.getLibs());
     _config.envirement.addEnv(_config.qtDir.getBins());
@@ -1326,7 +1314,7 @@ void ConfigParser::initExtraNames() {
  * We need to add to extra names libraries without which qt will not work,
  *
 */
-    if (isNeededQt()) {
+    if (_config.isNeededQt()) {
         auto libs = DeployCore::Qt3rdpartyLibs( _config.getPlatformOfAll());
         deployExtraNames(libs);
     }
diff --git a/Deploy/configparser.h b/Deploy/configparser.h
index 0df2a11..2079e3f 100644
--- a/Deploy/configparser.h
+++ b/Deploy/configparser.h
@@ -115,7 +115,6 @@ private:
 
     QList<iDistribution *> getDistribution();
 
-    QtMajorVersion isNeededQt() const;
 };
 
 #endif // CQT_H
diff --git a/Deploy/deployconfig.cpp b/Deploy/deployconfig.cpp
index fc1a9dc..09836b2 100644
--- a/Deploy/deployconfig.cpp
+++ b/Deploy/deployconfig.cpp
@@ -113,6 +113,32 @@ QString DeployConfig::getRunScript(const QString &targetName) const {
     return _runScripts.value(targetName, "");
 }
 
+QtMajorVersion DeployConfig::isNeededQt() const {
+
+    auto Qt = QtMajorVersion::NoQt;
+    for (const auto &i: targets()) {
+        if (i.isValid()) {
+            Qt = Qt | i.isDependetOfQt();
+        }
+    }
+
+    return Qt;
+}
+
+QtMajorVersion DeployConfig::isNeededQt(const QString &pacakge) const {
+    const auto targetsKeys = packages().value(pacakge, DistroModule{""}).targets();
+
+    auto Qt = QtMajorVersion::NoQt;
+    for (const auto &i: targetsKeys) {
+        auto target = targets().value(i);
+        if (target.isValid()) {
+            Qt = Qt | target.isDependetOfQt();
+        }
+    }
+
+    return Qt;
+}
+
 const QHash<QString, TargetInfo> &DeployConfig::targets() const {
     return _targets;
 }
diff --git a/Deploy/deployconfig.h b/Deploy/deployconfig.h
index 9138989..2abdf08 100644
--- a/Deploy/deployconfig.h
+++ b/Deploy/deployconfig.h
@@ -125,6 +125,19 @@ public:
     void registerRunScript(const QString& targetName, const QString& scriptPath);
     QString getRunScript(const QString& targetName) const;
 
+     /**
+     * @brief isNeededQt This method return all needed qt major version for all targets.
+     * @return qt major version
+     */
+    QtMajorVersion isNeededQt() const;
+
+    /**
+     * @brief isNeededQt This method return all needed qt major versions for the @a pacakge.
+     * @param pacakge This is validation pacakge.
+     * @return qt major version
+     */
+    QtMajorVersion isNeededQt(const QString& pacakge) const;
+
 private:
 
     /**
diff --git a/Deploy/extracter.cpp b/Deploy/extracter.cpp
index b10b5c9..f305cd6 100644
--- a/Deploy/extracter.cpp
+++ b/Deploy/extracter.cpp
@@ -438,7 +438,7 @@ bool Extracter::extractQml() {
                     continue;
                 }
 
-                QML ownQmlScaner(cnf->qtDir.getQmls());
+                QML ownQmlScaner(cnf->qtDir.getQmls(), cnf->isNeededQt(i.key()));
 
                 if (!ownQmlScaner.scan(plugins, info.absoluteFilePath())) {
                     QuasarAppUtils::Params::log("qml scaner run failed!",
diff --git a/Deploy/qml.cpp b/Deploy/qml.cpp
index 0426307..09e0abb 100644
--- a/Deploy/qml.cpp
+++ b/Deploy/qml.cpp
@@ -9,11 +9,31 @@
 
 #include <QDir>
 #include <QFile>
-#include <quasarapp.h>
-#include <deploycore.h>
+#include "quasarapp.h"
+#include "deploycore.h"
 #include "deployconfig.h"
 
-QStringList QML::extractImportsFromFile(const QString &filepath) {
+QStringList QML::extractImportLine(const QString& line) const {
+    QStringList result;
+    QStringList list = line.split(" ", splitbehavior);
+
+    if (list.count() == 3 || (list.count() == 5  && list[3] == "as")) {
+        if (list[2] == "auto" || (_qtVersion & QtMajorVersion::Qt6)) {
+            // qt6
+            result << (list[1].replace(".", "/"));
+            return result;
+        }
+        // qt5
+        result << (list[2][0] + "#" + list[1].replace(".", "/"));
+    } else if (list.count() == 2 || (list.count() == 4  && list[2] == "as")) {
+        // qt6
+        result << (list[1].replace(".", "/"));
+    }
+
+    return result;
+}
+
+QStringList QML::extractImportsFromFile(const QString &filepath) const {
     QStringList imports;
     QFile F(filepath);
     if (!F.open(QIODevice::ReadOnly)) return QStringList();
@@ -21,28 +41,15 @@ QStringList QML::extractImportsFromFile(const QString &filepath) {
     QString content = F.readAll();
     content.remove(QRegExp("\\{(.*)\\}"));
     content.remove(QRegExp("/\\*(.*)\\*/"));
-
-    for (const QString &line : content.split("\n"))
+    const auto list = content.split("\n");
+    for (const QString &line : list)
         for (QString &word : line.split(";", splitbehavior))
         {
             word = word.simplified();
             if (word.startsWith("//")) continue;
             if (!word.startsWith("import")) continue;
 
-            QStringList list = word.split(" ", splitbehavior);
-
-            if (list.count() == 3 || (list.count() == 5  && list[3] == "as")) {
-                if (list[2] == "auto") {
-                    // qt6
-                    imports << (list[1].replace(".", "/"));
-                    continue;
-                }
-                // qt5
-                imports << (list[2][0] + "#" + list[1].replace(".", "/"));
-            } else if (list.count() == 2 || (list.count() == 4  && list[2] == "as")) {
-                // qt6
-                imports << (list[1].replace(".", "/"));
-            }
+            imports += extractImportLine(word);
         }
 
     return imports;
@@ -56,11 +63,24 @@ bool QML::extractImportsFromDir(const QString &path, bool recursive) {
     }
 
     auto files = dir.entryInfoList(QStringList() << "*.qml" << "*.QML", QDir::Files);
+    auto qmlmodule = dir.entryInfoList(QStringList() << "qmldir", QDir::Files);
+
     auto dirs = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs);
 
     for (const auto &info: files) {
         auto imports = extractImportsFromFile(info.absoluteFilePath());
-        for (auto import : imports) {
+        for (const auto &import : qAsConst(imports)) {
+            if (!_imports.contains(import)) {
+                _imports.insert(import);
+                extractImportsFromDir(getPathFromImport(import), recursive);
+            }
+        }
+    }
+
+    for (const auto& module: qAsConst(qmlmodule)) {
+        QStringList imports = extractImportsFromQmlModule(module.absoluteFilePath());
+
+        for (const auto &import : qAsConst(imports)) {
             if (!_imports.contains(import)) {
                 _imports.insert(import);
                 extractImportsFromDir(getPathFromImport(import), recursive);
@@ -123,7 +143,7 @@ bool QML::deployPath(const QString &path, QStringList &res) {
     QDir dir(path);
     auto infoList = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Files | QDir::Dirs);
 
-    for (auto info : infoList) {
+    for (const auto &info : qAsConst(infoList)) {
         if (DeployCore::isDebugFile(info.fileName())) {
             QuasarAppUtils::Params::log("sciped debug lib " +
                                         info.absoluteFilePath());
@@ -156,12 +176,32 @@ bool QML::scanQmlTree(const QString &qmlTree) {
     return true;
 }
 
-void QML::addImport() {
+QStringList QML::extractImportsFromQmlModule(const QString &module) const {
+    QStringList imports;
+    QFile F(module);
+    if (!F.open(QIODevice::ReadOnly)) return QStringList();
 
+    QString content = F.readAll();
+    const auto list = content.split("\n");
+    for (QString line : list) {
+        line = line.simplified();
+        if (line.startsWith("//") || line.startsWith("#")) continue;
+        if (!line.startsWith("depends")) continue;
+
+        QStringList list = line.split(" ", splitbehavior);
+        imports += extractImportLine(line);
+    }
+
+    return imports;
 }
 
-QML::QML(const QString &qmlRoot) {
+void QML::setQtVersion(const QtMajorVersion &qtVersion) {
+    _qtVersion = qtVersion;
+}
+
+QML::QML(const QString &qmlRoot, QtMajorVersion qtVersion) {
     _qmlRoot = qmlRoot;
+    setQtVersion(qtVersion);
 
 }
 
@@ -175,7 +215,7 @@ bool QML::scan(QStringList &res, const QString& _qmlProjectDir) {
         return false;
     }
 
-    for (const auto &import : _imports) {
+    for (const auto &import : qAsConst(_imports)) {
         res.push_back(getPathFromImport(import));
     }
 
diff --git a/Deploy/qml.h b/Deploy/qml.h
index de59ef3..90a9e9a 100644
--- a/Deploy/qml.h
+++ b/Deploy/qml.h
@@ -11,11 +11,12 @@
 #include <QSet>
 #include <QStringList>
 #include "deploy_global.h"
+#include "deploycore.h"
 
 class DEPLOYSHARED_EXPORT QML {
 private:
 
-    QStringList extractImportsFromFile(const QString &filepath);
+    QStringList extractImportsFromFile(const QString &filepath) const;
 
     bool extractImportsFromDir(const QString &path, bool recursive = false);
 
@@ -23,15 +24,19 @@ private:
 
     bool deployPath( const QString& path, QStringList& res);
     bool scanQmlTree(const QString& qmlTree);
-    void addImport();
+    QStringList extractImportsFromQmlModule(const QString& module) const;
     QString _qmlRoot = "";
     QSet<QString> _imports;
     QSet<QString> secondVersions;
+    QtMajorVersion _qtVersion = QtMajorVersion::Qt5;
 
+    QStringList extractImportLine(const QString &line) const;
+    
 public:
-    QML(const QString& qmlRoot);
+    QML(const QString& qmlRoot, QtMajorVersion isQt6);
 
     bool scan(QStringList &res, const QString &_qmlProjectDir);
+    void setQtVersion(const QtMajorVersion &qtVersion);
 
     friend class deploytest;
 };
diff --git a/QIFData/config/configLinux.xml b/QIFData/config/configLinux.xml
index 21675b2..1e24e0d 100644
--- a/QIFData/config/configLinux.xml
+++ b/QIFData/config/configLinux.xml
@@ -3,7 +3,7 @@
     <WizardDefaultWidth>640px</WizardDefaultWidth>
     <WizardDefaultHeight>400px</WizardDefaultHeight>
     <Name>CQtDeployer</Name>
-    <Version>1.5.0.25</Version>
+    <Version>1.5.0.26</Version>
     <Title>CQtDeployer</Title>
     <Publisher>QuasarApp</Publisher>
     <StartMenuDir>CQtDeployer</StartMenuDir>
diff --git a/QIFData/config/configWin.xml b/QIFData/config/configWin.xml
index 8c29e92..578719c 100644
--- a/QIFData/config/configWin.xml
+++ b/QIFData/config/configWin.xml
@@ -3,7 +3,7 @@
     <WizardDefaultWidth>640px</WizardDefaultWidth>
     <WizardDefaultHeight>400px</WizardDefaultHeight>
     <Name>CQtDeployer</Name>
-    <Version>1.5.0.25</Version>
+    <Version>1.5.0.26</Version>
     <Title>CQtDeployer</Title>
     <Publisher>QuasarApp</Publisher>
     <StartMenuDir>CQtDeployer</StartMenuDir>
diff --git a/QIFData/packages/cqtdeployer.1_5/meta/package.xml b/QIFData/packages/cqtdeployer.1_5/meta/package.xml
index fb0def4..8042dfd 100644
--- a/QIFData/packages/cqtdeployer.1_5/meta/package.xml
+++ b/QIFData/packages/cqtdeployer.1_5/meta/package.xml
@@ -2,7 +2,7 @@
 <Package>
     <DisplayName>CQtDeployer 1.5 Alpha</DisplayName>
     <Description>CQtDeployer 1.5 Alpha. Do not use this version because it is unstable and may lead to unwanted bugs or consequences. Use this version exclusively for testing new functionality.</Description>
-    <Version>1.5.0.25</Version>
+    <Version>1.5.0.26</Version>
     <Default>true</Default>
     <ForcedInstallation>false</ForcedInstallation>
     <Script>installscript.js</Script>
diff --git a/UnitTests/UnitTests.pro b/UnitTests/UnitTests.pro
index 78025e0..5b6a96d 100644
--- a/UnitTests/UnitTests.pro
+++ b/UnitTests/UnitTests.pro
@@ -38,6 +38,7 @@ SOURCES +=  tst_deploytest.cpp \
     modulesqt513.cpp \
     modulesqt514.cpp \
     modulesqt515.cpp \
+    modulesqt5152.cpp \
     qmlcreator.cpp \
     testutils.cpp
 
@@ -51,6 +52,7 @@ HEADERS += \
     modulesqt513.h \
     modulesqt514.h \
     modulesqt515.h \
+    modulesqt5152.h \
     qmlcreator.h \
     testutils.h
 
diff --git a/UnitTests/modules.h b/UnitTests/modules.h
index a9ada6f..820a37d 100644
--- a/UnitTests/modules.h
+++ b/UnitTests/modules.h
@@ -12,7 +12,11 @@
 #include <configparser.h>
 #include <QSet>
 
-#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
+#if QT_VERSION >= QT_VERSION_CHECK(5, 15, 2)
+    #include "modulesqt5152.h"
+    class Modules : public ModulesQt5152
+
+#elif QT_VERSION >= QT_VERSION_CHECK(5, 15, 0)
     #include "modulesqt515.h"
     class Modules : public ModulesQt515
 
diff --git a/UnitTests/modulesqt513.cpp b/UnitTests/modulesqt513.cpp
index 211ee90..c90807c 100644
--- a/UnitTests/modulesqt513.cpp
+++ b/UnitTests/modulesqt513.cpp
@@ -1312,7 +1312,10 @@ QSet<QString> ModulesQt513::qmlVirtualKeyBoadrLibs(const QString &distDir) const
         "./" + distDir + "/qml/QtQuick/VirtualKeyboard/Styles/qmldir",
         "./" + distDir + "/qml/QtQuick/VirtualKeyboard/libqtquickvirtualkeyboardplugin.so",
         "./" + distDir + "/qml/QtQuick/VirtualKeyboard/plugins.qmltypes",
-        "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qmldir"
+        "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qmldir",
+        "./" + distDir + "/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so",
+        "./" + distDir + "/qml/Qt/labs/folderlistmodel/plugins.qmltypes",
+        "./" + distDir + "/qml/Qt/labs/folderlistmodel/qmldir"
     });
 #else
     Tree += utils.createTree({
@@ -1350,7 +1353,10 @@ QSet<QString> ModulesQt513::qmlVirtualKeyBoadrLibs(const QString &distDir) const
          "./" + distDir + "/qml/QtQuick/VirtualKeyboard/Styles/qtquickvirtualkeyboardstylesplugin.dll",
          "./" + distDir + "/qml/QtQuick/VirtualKeyboard/plugins.qmltypes",
          "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qmldir",
-         "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qtquickvirtualkeyboardplugin.dll"
+         "./" + distDir + "/qml/QtQuick/VirtualKeyboard/qtquickvirtualkeyboardplugin.dll",
+         "./" + distDir + "/qml/Qt/labs/folderlistmodel/qmlfolderlistmodelplugin.dll",
+         "./" + distDir + "/qml/Qt/labs/folderlistmodel/plugins.qmltypes",
+         "./" + distDir + "/qml/Qt/labs/folderlistmodel/qmldir"
      });
 #endif
     return Tree;
diff --git a/UnitTests/modulesqt515.cpp b/UnitTests/modulesqt515.cpp
index 0e41f0e..ab5ad0e 100644
--- a/UnitTests/modulesqt515.cpp
+++ b/UnitTests/modulesqt515.cpp
@@ -210,6 +210,7 @@ QSet<QString> ModulesQt515::testOutLibs(const QString &distDir) const {
                                 "./" + distDir + "/lolTr/qtdeclarative_tr.qm",
                                 "./" + distDir + "/lolTr/qtbase_tr.qm",
 
+
     });
 #else
     res += utils.createTree({
@@ -235,6 +236,7 @@ QSet<QString> ModulesQt515::testOutLibs(const QString &distDir) const {
                                 "./" + distDir + "/q/QtQuick/Controls.2/designer/InsetSection.qml",
                                 "./" + distDir + "/lolTr/qtdeclarative_tr.qm",
                                 "./" + distDir + "/lolTr/qtbase_tr.qm",
+
                             });
 
     res -= utils.createTree({
diff --git a/UnitTests/modulesqt5152.cpp b/UnitTests/modulesqt5152.cpp
new file mode 100644
index 0000000..2ab14f0
--- /dev/null
+++ b/UnitTests/modulesqt5152.cpp
@@ -0,0 +1,162 @@
+#include "modulesqt5152.h"
+
+ModulesQt5152::ModulesQt5152()
+{
+
+}
+
+QSet<QString> ModulesQt5152::qmlLibs(const QString &distDir) const {
+    TestUtils utils;
+
+    auto res = ModulesQt515::qmlLibs(distDir);
+#ifdef Q_OS_WIN
+    res += utils.createTree({
+                                "./" + distDir + "/qml/QtQml/WorkerScript.2/qmldir",
+                                "./" + distDir + "/qml/QtQml/qmldir",
+                                "./" + distDir + "/qml/QtQml/qmlplugin.dll",
+                                "./" + distDir + "/qml/QtQml/RemoteObjects/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/RemoteObjects/qtqmlremoteobjects.dll",
+                                "./" + distDir + "/qml/QtQml/StateMachine/qtqmlstatemachine.dll",
+                                "./" + distDir + "/qml/QtQml/Models.2/modelsplugin.dll",
+                                "./" + distDir + "/lib/Qt5RemoteObjects.dll",
+                                "./" + distDir + "/qml/QtQml/Models.2/qmldir",
+                                "./" + distDir + "/qml/QtQml/WorkerScript.2/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/RemoteObjects/qmldir",
+                                "./" + distDir + "/qml/QtQml/Models.2/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/StateMachine/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/WorkerScript.2/workerscriptplugin.dll",
+                                "./" + distDir + "/qml/QtQml/StateMachine/qmldir",
+
+    });
+#else
+    res += utils.createTree({
+                                "./" + distDir + "/qml/QtQml/WorkerScript.2/qmldir",
+                                "./" + distDir + "/qml/QtQml/qmldir",
+                                "./" + distDir + "/qml/QtQml/libqmlplugin.so",
+                                "./" + distDir + "/qml/QtQml/RemoteObjects/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/RemoteObjects/libqtqmlremoteobjects.so",
+                                "./" + distDir + "/qml/QtQml/StateMachine/libqtqmlstatemachine.so",
+                                "./" + distDir + "/qml/QtQml/Models.2/libmodelsplugin.so",
+                                "./" + distDir + "/lib/libQt5RemoteObjects.so",
+                                "./" + distDir + "/qml/QtQml/Models.2/qmldir",
+                                "./" + distDir + "/qml/QtQml/WorkerScript.2/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/RemoteObjects/qmldir",
+                                "./" + distDir + "/qml/QtQml/Models.2/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/StateMachine/plugins.qmltypes",
+                                "./" + distDir + "/qml/QtQml/WorkerScript.2/libworkerscriptplugin.so",
+                                "./" + distDir + "/qml/QtQml/StateMachine/qmldir",
+
+
+    });
+#endif
+
+    return res;
+}
+
+QSet<QString> ModulesQt5152::testDistroLibs(const QString &distDir) const {
+    TestUtils utils;
+
+    auto res = ModulesQt515::testDistroLibs(distDir);
+
+#ifdef Q_OS_WIN
+
+    res += utils.createTree({
+                                "./" + distDir + "/package2/ZzZ/Qt5RemoteObjects.dll",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/modelsplugin.dll",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/qmldir",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qtqmlremoteobjects.dll",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qmldir",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qtqmlstatemachine.dll",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qmldir",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/workerscriptplugin.dll",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/qmldir",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmlplugin.dll",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmldir",
+
+    });
+
+#else
+    res += utils.createTree({
+
+                                "./" + distDir + "/package2/ZzZ/lib/libQt5RemoteObjects.so",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/libmodelsplugin.so",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/Models.2/qmldir",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/libqtqmlremoteobjects.so",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/RemoteObjects/qmldir",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/libqtqmlstatemachine.so",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/StateMachine/qmldir",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/libworkerscriptplugin.so",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/WorkerScript.2/qmldir",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/libqmlplugin.so",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/plugins.qmltypes",
+                                "./" + distDir + "/package2/ZzZ/q/and/q/QtQml/qmldir",
+
+                            });
+
+
+#endif
+    return res;
+}
+
+QSet<QString> ModulesQt5152::testOutLibs(const QString &distDir) const {
+    TestUtils utils;
+
+    auto res = ModulesQt515::testOutLibs(distDir);
+
+#ifdef Q_OS_WIN
+    res += utils.createTree({
+                                "./" + distDir + "/lolLib/Qt5RemoteObjects.dll",
+                                "./" + distDir + "/q/QtQml/Models.2/modelsplugin.dll",
+                                "./" + distDir + "/q/QtQml/Models.2/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/Models.2/qmldir",
+                                "./" + distDir + "/q/QtQml/RemoteObjects/qtqmlremoteobjects.dll",
+                                "./" + distDir + "/q/QtQml/RemoteObjects/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/RemoteObjects/qmldir",
+                                "./" + distDir + "/q/QtQml/StateMachine/qtqmlstatemachine.dll",
+                                "./" + distDir + "/q/QtQml/StateMachine/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/StateMachine/qmldir",
+                                "./" + distDir + "/q/QtQml/WorkerScript.2/workerscriptplugin.dll",
+                                "./" + distDir + "/q/QtQml/WorkerScript.2/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/WorkerScript.2/qmldir",
+                                "./" + distDir + "/q/QtQml/qmlplugin.dll",
+                                "./" + distDir + "/q/QtQml/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/qmldir",
+
+
+    });
+#else
+    res += utils.createTree({
+                                "./" + distDir + "/lolLib/libQt5RemoteObjects.so",
+                                "./" + distDir + "/q/QtQml/Models.2/libmodelsplugin.so",
+                                "./" + distDir + "/q/QtQml/Models.2/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/Models.2/qmldir",
+                                "./" + distDir + "/q/QtQml/RemoteObjects/libqtqmlremoteobjects.so",
+                                "./" + distDir + "/q/QtQml/RemoteObjects/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/RemoteObjects/qmldir",
+                                "./" + distDir + "/q/QtQml/StateMachine/libqtqmlstatemachine.so",
+                                "./" + distDir + "/q/QtQml/StateMachine/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/StateMachine/qmldir",
+                                "./" + distDir + "/q/QtQml/WorkerScript.2/libworkerscriptplugin.so",
+                                "./" + distDir + "/q/QtQml/WorkerScript.2/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/WorkerScript.2/qmldir",
+                                "./" + distDir + "/q/QtQml/libqmlplugin.so",
+                                "./" + distDir + "/q/QtQml/plugins.qmltypes",
+                                "./" + distDir + "/q/QtQml/qmldir",
+                            });
+
+#endif
+    return res;
+
+
+}
diff --git a/UnitTests/modulesqt5152.h b/UnitTests/modulesqt5152.h
new file mode 100644
index 0000000..9f82e47
--- /dev/null
+++ b/UnitTests/modulesqt5152.h
@@ -0,0 +1,18 @@
+#ifndef MODULESQT5152_H
+#define MODULESQT5152_H
+
+#include "modulesqt515.h"
+
+class ModulesQt5152: public ModulesQt515
+{
+public:
+    ModulesQt5152();
+
+    // ModulesQt513 interface
+public:
+    QSet<QString> qmlLibs(const QString &distDir = DISTRO_DIR) const override;
+    QSet<QString> testDistroLibs(const QString &distDir = DISTRO_DIR) const override;
+    QSet<QString> testOutLibs(const QString &distDir = DISTRO_DIR) const override;
+};
+
+#endif // MODULESQT5152_H
diff --git a/UnitTests/res.qrc b/UnitTests/res.qrc
index cd6e2e3..9d01e3e 100644
--- a/UnitTests/res.qrc
+++ b/UnitTests/res.qrc
@@ -13,6 +13,7 @@
         <file alias="win64msvc.dll">testRes/win64/msvc/lib.dll</file>
         <file alias="qmlFile.qml">testRes/qml/Scene</file>
         <file alias="qmlFileQt6.qml">testRes/qml/SceneQt6</file>
+        <file alias="qmlDir">testRes/qml/qmldir</file>
     </qresource>
     <qresource prefix="/testResurces">
         <file>testRes/TestQMLWidgets.sh</file>
diff --git a/UnitTests/testRes/qml/qmldir b/UnitTests/testRes/qml/qmldir
new file mode 100644
index 0000000..e1110f1
--- /dev/null
+++ b/UnitTests/testRes/qml/qmldir
@@ -0,0 +1,10 @@
+module QtQuick.VirtualKeyboard
+plugin qtquickvirtualkeyboardplugin
+classname QtQuickVirtualKeyboardPlugin
+typeinfo plugins.qmltypes
+depends QtQuick 2.0
+depends QtQuick.Window 2.2
+depends QtQuick.Layouts 1.0
+depends Qt.labs.folderlistmodel 2.1
+depends QtQuick.VirtualKeyboard.Settings 2.2
+depends QtQuick.VirtualKeyboard.Styles 2.2
diff --git a/UnitTests/tst_deploytest.cpp b/UnitTests/tst_deploytest.cpp
index 04273cf..289cc6c 100644
--- a/UnitTests/tst_deploytest.cpp
+++ b/UnitTests/tst_deploytest.cpp
@@ -920,7 +920,7 @@ void deploytest::testQmlScaner() {
 
     // qt5
     auto qmlRoot = QFileInfo(TestQtDir + "/qml").absoluteFilePath();
-    QML *scaner = new QML(qmlRoot);
+    QML *scaner = new QML(qmlRoot, QtMajorVersion::Qt5);
     auto imports = scaner->extractImportsFromFile(":/qmlFile.qml");
 
     scaner->scanQmlTree(qmlRoot);
@@ -940,6 +940,8 @@ void deploytest::testQmlScaner() {
     }
 
 
+    scaner->setQtVersion(QtMajorVersion::Qt6);
+
     // qt6
 
     results = {
@@ -958,6 +960,57 @@ void deploytest::testQmlScaner() {
         QVERIFY(results.contains(path));
     }
 
+    imports = scaner->extractImportsFromFile(":/qmlFile.qml");
+
+    QVERIFY(results.size() == imports.size());
+
+    for (const auto & import: qAsConst(imports)) {
+        auto path = scaner->getPathFromImport(import);
+        QVERIFY(results.contains(path));
+    }
+
+    // qt5
+    scaner->setQtVersion(QtMajorVersion::Qt5);
+
+    results = {
+        {qmlRoot + "/QtQuick.2/"},
+        {qmlRoot + "/QtQuick/Window.2/"},
+        {qmlRoot + "/QtQuick/Layouts/"},
+        {qmlRoot + "/Qt/labs/folderlistmodel/"},
+        {qmlRoot + "/QtQuick/VirtualKeyboard/Settings/"},
+        {qmlRoot + "/QtQuick/VirtualKeyboard/Styles/"},
+    };
+
+    imports = scaner->extractImportsFromQmlModule(":/qmlDir");
+
+    QVERIFY(results.size() == imports.size());
+
+    for (const auto &import: qAsConst(imports)) {
+        auto path = scaner->getPathFromImport(import);
+        QVERIFY(results.contains(path));
+    }
+
+    // qt6
+    scaner->setQtVersion(QtMajorVersion::Qt6);
+
+    results = {
+        {qmlRoot + "/QtQuick"},
+        {qmlRoot + "/QtQuick/Window"},
+        {qmlRoot + "/QtQuick/Layouts"},
+        {qmlRoot + "/Qt/labs/folderlistmodel"},
+        {qmlRoot + "/QtQuick/VirtualKeyboard/Settings"},
+        {qmlRoot + "/QtQuick/VirtualKeyboard/Styles"},
+    };
+
+    imports = scaner->extractImportsFromQmlModule(":/qmlDir");
+
+    QVERIFY(results.size() == imports.size());
+
+    for (const auto &import: qAsConst(imports)) {
+        auto path = scaner->getPathFromImport(import);
+        QVERIFY(results.contains(path));
+    }
+
 }
 
 void deploytest::testPrefix() {
@@ -1316,7 +1369,7 @@ void deploytest::testQmlExtrct() {
     auto qmlFiles = creator.getCopyedQml();
 
 
-    QML scaner("./");
+    QML scaner("./", QtMajorVersion::Qt5);
 
 
     for (const auto &file : qAsConst(qmlFiles)) {
diff --git a/snap/gui/cqtdeployer.desktop b/snap/gui/cqtdeployer.desktop
index 06c4122..d6ffdc3 100755
--- a/snap/gui/cqtdeployer.desktop
+++ b/snap/gui/cqtdeployer.desktop
@@ -1,5 +1,5 @@
 [Desktop Entry]
-Version=1.5.0.25
+Version=1.5.0.26
 Name=CQtDeployer
 Comment=CQtDeployer Help.
 Exec=cqtdeployer
@@ -10,6 +10,6 @@ Categories=Application;
 X-GNOME-Bugzilla-Bugzilla=GNOME
 X-GNOME-Bugzilla-Product=CQtDeployer
 X-GNOME-Bugzilla-Component=General
-X-GNOME-Bugzilla-Version=1.5.0.25
+X-GNOME-Bugzilla-Version=1.5.0.26
 StartupNotify=true
 Name[ru_RU]=CQtDeployer
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index 824d8f8..648b2a0 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -6,7 +6,7 @@
 #
 
 name: cqtdeployer # you probably want to 'snapcraft register <name>'
-version: '1.5.0.25' # just for humans, typically '1.2+git' or '1.3.2'
+version: '1.5.0.26' # just for humans, typically '1.2+git' or '1.3.2'
 summary: deploy your qt projects # 79 char long summary
 description: |
   Console app for deploy qt libs.