我尝试使用Inno Setup为我的程序进行设置。
我在与.exe相同的文件夹中安装了更多文件XML。安装工作很好,但是当我运行程序并修改XML时,文件保存在另一个地方,而不是.exe
的文件夹中,我找不到它。我认为该文件存储在PC中,因为程序可以毫无问题地打开它。
我也尝试使用InstallAware Express 7进行相同的设置,效果很好。我认为这不是我的exe中的问题,而是在Inno Setup中。
由于
答案 0 :(得分:1)
我认为您是Windows文件虚拟化的受害者。
您可能会将数据文件安装到 Model.find({},null,{limit:2,skip:20},function(err,data){
//console.log(data)
})
文件夹。
该文件夹不可写(除非您的程序以提升的权限运行)。如果您的程序没有application manifest,则Windows会将其视为遗留应用程序,该应用程序无法识别其无法写入Program Files
并启用文件虚拟化。因此,当您的应用程序尝试编写数据/ XML文件时,Windows会将写入(以及将来的读取)重定向到虚拟存储(Program Files
)。 C:\Users\username\AppData\Local\VirtualStore
中的实际文件未被修改。
很难回答,为什么它适用于InstallAware Express。如果您在Inno Setup之后尝试过,结果可能会受到虚拟商店中文件存在的影响。
无论如何,根本原因是您的应用程序尝试在Program Files
中编写文件。这是错的。没有应用程序应写入Program Files
。