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

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

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

谢谢

请您参考如下方法:

我认为您是 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 .


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!