0

首先,无论如何,我都不是专业的程序员,所以如果我的术语不正确,请原谅。

我为学校编写了一个小项目,基本上它只是一个简单的收银应用程序。用户可以选择要销售的产品、创建新产品等。在销售产品时,用户可以选择“打印”账单,即程序用一些信息填充字符串并通过流写入器创建新的文本文件。此外,一旦程序关闭,当前的产品库存就会保存在序列化文件中。每次程序启动时都会加载相同的文件。

在调试过程中一切正常,但是我创建了一个 msi 包来测试它,并且保存文本文件和序列化文件都不起作用,因为显然我没有足够的权限这样做。

有人可以告诉我如何为使用 msi 安装程序的用户授予使我的程序运行所需的权限吗?

4

1 回答 1

1

我假设您在 Vista 或更新的操作系统上运行?在这种情况下,UAC 会阻止您的正常应用程序写入 Programs Files(我再次假设您已经安装了该应用程序)。

此 StackOverflow 线程中提到了保存用户数据的推荐位置: Best place to save user information for Windows XP and Vista applications

您还可以在安装过程中使用 MsiLocakPermissions 表在包中设置权限,但我不建议这样做。Program Files 文件夹应该用于存储应用程序资源,而不是用户数据。

于 2013-05-22T14:02:54.917 回答