我们正在开发一个框架,其中包括许多基于Qt库的EXE。为了让其中一个EXE正确加载SVG图形,我们需要在我们的应用程序的主工作目录中包含ImageFormats
子目录和qsvg.dll
插件。由于我们的框架的自动更新系统的工作方式,出现了一个问题。它会下载一组全新的应用程序,库和其他文件,并使用其名称和.new
扩展名保存它们。然后,它使用.old
扩展名重命名旧文件,并通过从应用程序加载期间删除文件名中的所有.new
扩展名,重新启动和删除.old
扩展名的文件来完成升级。问题是由于某种原因,Qt不要求ImageFormats
目录中的文件具有.dll
扩展名。这意味着在应用程序加载期间,qsvg.dll.old
文件由应用程序加载,因此不可删除。修复此问题的最快方法似乎是我们可以过滤Qt加载的ImageFormats
插件的名称,但我找不到这样做的方法。有什么想法吗?