我有自己的安装程序,用于安装我编写的几个应用程序。我一直在更新这个程序以避免应用程序的数据文件更新进入用户的VirtualStore,因为我读到这是一件“坏事”。为此,我将程序和公共(public)数据文件分别存储在正确的位置,而不是像我们在XP时代那样将所有内容都放在程序文件中。我现在也在使用SHGetFolderPath(是的,它已被弃用,但我仍然需要支持我的XP用户)来获取已知文件夹,而不是拖网注册表,这是另一个“坏事”(我读过)。我接下来要做的是重写安装程序代码,以避免在向HKLM写入内容时将注册表重定向到Wow6432Node,因为我认为这是另一件“坏事”。但是,尽管我可以将
我为从windows目录读取数据的遗留应用程序编写了一个接口(interface)。所以我需要将数据写入windows目录。(Windows8操作系统)我正在使用下面的代码获取写入文件的Windows文件夹路径。Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Windows),"test.txt");正如我在MSDN上阅读的那样,如果我们运行应用程序,作为普通用户,它将数据写入虚拟商店windows文件夹,但它似乎不起作用。我收到拒绝访问错误。我的应用程序使用x86平台构建。我缺少的东西或Windows8
我有一个用C++编写的软件安装在大约1000台PC上,它在使用WindowsUAC时遇到了一些困难。我正在努力让事情正常进行,但我需要一些帮助来理解问题并找到正确的解决方案。情况如下:我需要在一些文本/xml文件中写入一些数据,所以我开始(在XP中)将它们写入可执行文件夹中。不推荐,我知道。当Vista启动时,所有文件都开始保存到VirtualStore文件夹中,这对我来说很好,所以我保持原样。当时我遇到了几个用户的一些问题(参见问题1),但我手动修复了它们,仅此而已。现在使用Windows8,我面临着不同的问题(问题2),我想一劳永逸地正确修复它们。第一个问题:使用WindowsVi
我们终于开始着手将我们软件的文档从程序自己的目录中移出并移至“我的文档”中。我们还在list中添加了“requestedPrivileges”行,以防止虚拟化出现更多问题。但是,如果我们只这样做,那么在Vista/7中运行旧版本的任何人都可能在更新后丢失隐藏VirtualStore目录中某处的工作。那么,迁移到21世纪的首选方式是什么?坦率地说,我对四处复制文件有点谨慎,尤其是因为我似乎无法找到进入影子目录的编程方式,但想必很多其他人在我们之前遇到过同样的问题。 最佳答案 不要添加requestedPrivileges,除非您合法地
我正在使用C#和.net3.5我将我的程序数据保存在一个文件中:C:\ProgramData\MyProgramName\fileName.xml在安装并运行我的应用程序一次后,我卸载了它(在卸载过程中,我从“程序数据”中删除了所有文件)然后我重新安装应用程序并运行它。奇怪的是,我的应用程序启动时就好像程序数据中的文件存在一样——这意味着,即使数据文件已被删除,我的应用程序中仍有旧数据。运行时:File.Exists("C:\ProgramData\MyProgramName\fileName.xml")即使我确定该文件不存在,我也得到了“真”。当我以管理员身份运行应用程序然后文件不存
我希望我的程序在尝试在C:\驱动器的根目录等protected位置创建文件时抛出错误(例如:FILE*FileHandle=fopen("\\file.txt",一))。相反,该文件会在%APPDATA%下的虚拟商店中创建。如何禁用该虚拟商店?谢谢编辑:澄清一下,我不是在问如何规避安全措施并在protected位置创建我的文件。我希望文件创建失败,这样我就可以告诉用户他是个白痴。 最佳答案 您添加一个应用程序list。选择asInvoker、highestAvailable或requireAdministrator。听起来你想要as