QT:文件存储在appdata下名为VirtualStore的文件夹中

时间:2015-07-25 20:57:54

标签: c++ qt inno-setup

我的应用程序正在生成缩略图和sqlite数据库。

在第一次创建inno安装程序并安装应用程序之后,我发现我的文件不是在程序的目录中创建的,而是在名为VirtualStore的目录下创建的。

这是可取的吗?有没有办法禁用它?

我面临的问题是,在我卸载程序后,文件仍然在VirtualStore的子文件夹中......而且,我不确定这是预期的行为。

2 个答案:

答案 0 :(得分:1)

您的问题不清楚是否询问如何将文件移动到{app}目录中,或者问题是否实际上是因为文件是在安装程序外部创建的,因此不会自动删除卸载?

我将回答第二部分,假设您只是希望在卸载时删除文件,无论它们是在VirtualStore文件夹中创建还是在您自己的{app}目录中创建,它们仍然会卸载应用程序时不能删除。这是因为在安装时自动创建的卸载程序不知道这些文件是否存在。要解决此问题,只需将以下部分和行添加到脚本中:

[UninstallDelete]
;Define files and folders that were not created by the installer to be deleted on uninstall
Type: filesandordirs; Name: "{app}\VirtualStore"

如果我从您的问题解释的位置不正确,只需修改路径即可。您可以在此部分添加多个条目,以便删除最初未安装但在安装后创建的文件。有关详细信息,请参阅文档。

答案 1 :(得分:0)

  

我面临的问题是我卸载程序后的文件   仍在该子文件夹中

默认情况下,InnoSetup在卸载安装后不会删除应用程序创建的文件。它跟踪它创建的文件并仅卸载它们。

然而,这似乎不是Qt问题。