我可以告诉你非管理员不允许写信的地方:
Environment::GetFolderPath(Environment::SpecialFolder::ApplicationData) + "\\Config.ini";
Environment::GetFolderPath(Environment::SpecialFolder::CommonApplicationData) + "\\monitorService\\Config.ini";
Environment::GetFolderPath(Environment::SpecialFolder::ProgramFiles) + "\\monitorService\\Config.ini";
我寄予厚望,Environment::SpecialFolder::CommonApplicationData
但遗憾的是,普通受限用户也无法使用。我需要一个通用的、易于出错、知道和查找的目录,我可以从中加载配置数据并将其保存到其中。我想我可以支持每个用户的配置文件,但我宁愿让事情尽可能简单。
我是否可以让我的安装程序留出注册表或文件系统的某些区域以供普遍访问?我使用 Innosetup 和 .NET 代码进行安装。我注意到(IRC)firefox 为命名用户和默认用户填充了“应用程序数据”文件夹,所以我猜这是另一种可能性。由于服务需要配置数据,因此将几个 shortstring
和int
s 存储在注册表之外的任何地方可能会太麻烦。