我正在开发一个AIR应用程序,该应用程序将具有免费的基本版本和更高级的付费版本,该版本已使用许可证密钥解锁。理想情况下,一旦输入许可证密钥,我希望它为计算机的所有用户解锁应用程序。
但是,我无法找到适合存储许可证密钥文件的系统范围的位置。 File类中的所有预配置位置(例如File.applicationStorageDirectory
)都是用户特定的或只读的。
在AIR中是否存在标准的系统范围位置,我可以存储这样的内容?如果不是文件系统,可能是共享对象,SQLite,还是加密的本地存储?如果不这样,每个系统(Windows,Mac,Linux)上的标准位置是否可以保证所有用户都可以写入硬编码?由于缺乏对任何环境变量的访问,最后一个选项变得更加困难。
如果所有其他方法都失败了,我想我可以要求每个用户解锁应用程序,但这听起来不像是一个快乐的客户的食谱(“你的意思是我必须为我的妻子买两次使用它?我们只有一台电脑!“)。
(好的,是的,这是每个用户我可能会让一个键解锁应用程序3到4次就可以了解它,但用户激活多次仍然不太方便。)
答案 0 :(得分:1)
您可以使用可以是系统范围和可写的文字路径来选择您自己的位置,例如:
//windows:
new File("C:\whatever ...");
//mac:
new File("/System/whatever ...");
flash.fileSystem.File中的可用目录(IE:File.desktopDirectory
)对于开发人员来说是方便的,因为这些目录在每个系统上都是常用的而且不同,但您不限于使用它们。
我建议您只需将密钥存储在应用程序的每次安装的File.applicationStorageDirectory
中,但可能包含每个购买密钥的用户限制书面许可证。