首先,我不是一个专家程序员,所以请原谅我的术语是否已关闭。
我为学校编写了一个小项目,基本上它只是一个简单的收银机应用程序。用户可以选择要销售的产品,创建新产品等。 在销售产品时,用户可以选择“打印”账单,即程序用一些信息填充字符串并通过流写器创建新的文本文件。此外,一旦程序关闭,当前的产品库存将保存在序列化文件中。每次程序启动时都会加载相同的文件。
在调试过程中一切正常,但是我创建了一个msi包来测试它,既不保存文本文件也不保存序列化文件,因为显然我没有足够的权限这样做。
有人可以告诉我如何为安装了程序的用户提供使用我的程序所需的权限吗?
答案 0 :(得分:1)
我假设您在Vista或更新的操作系统上运行?在这种情况下,UAC会阻止您的普通应用程序写入程序文件(我再次假设您已经安装了该应用程序)。
此StackOverflow线程中提到了保存用户数据的建议位置: Best place to save user information for Windows XP and Vista applications
您还可以在安装过程中使用MsiLocakPermissions表在包中设置权限,但我不推荐它。 Program Files文件夹应该用于存储应用程序资源,而不是用户数据。