【问题标题】:Application installed with Inno Setup writes files to unknown location instead of its installation folder使用 Inno Setup 安装的应用程序将文件写入未知位置而不是其安装文件夹
【发布时间】:2016-09-27 07:38:46
【问题描述】:

我尝试使用 Inno Setup 为我的程序进行设置。

我在 .exe 所在的文件夹中安装了更多文件 XML。安装运行良好,但是当我运行程序并修改 XML 时,文件保存在另一个地方,而不是 .exe 的文件夹,我找不到它。我认为该文件存储在 PC 中,因为程序可以毫无问题地打开它。

我也尝试使用 InstallAware Express 7 进行相同的设置,并且效果很好。 Io 我认为这不是我的 exe 中的问题,而是 Inno Setup 中的问题。

谢谢

【问题讨论】:

    标签: inno-setup


    【解决方案1】:

    我认为你是 Windows 文件虚拟化的受害者。

    您可能将数据文件安装到Program Files 文件夹。

    该文件夹不可写(除非您的程序以提升的权限运行)。如果您的程序没有application manifest,Windows 会认为它是一个遗留应用程序,它不知道它无法写入Program Files 并启用文件虚拟化。因此,当您的应用程序尝试写入数据/XML 文件时,Windows 会将写入(以及将来的读取)重定向到虚拟存储 (C:\Users\username\AppData\Local\VirtualStore)。 Program Files 中的实际文件没有被修改。

    很难回答,为什么它可以与 InstallAware Express 一起使用。如果您在 Inno Setup 之后尝试过,结果可能会受到虚拟商店中存在文件的影响。

    无论如何,根本原因是您的应用程序试图将文件写入Program Files。那是错误的。任何应用程序都不应该写信给Program Files
    另见Application does not work when installed with Inno Setup

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-16
      • 1970-01-01
      • 1970-01-01
      • 2013-03-14
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多