【发布时间】:2010-12-10 01:53:27
【问题描述】:
我正在尝试使用基本的 MSI 安装程序在 programdata 文件夹中安装一组文件。由于文件的内容是动态的并在安装过程中生成,因此我在安装过程中使用 C# 代码创建文件。
文件在适当的文件夹中创建,一切都很好,除了文件权限。据我了解,文件应该从父文件夹继承其权限(如果启用),但在这种情况下,这不会发生。我创建的文件应该对普通用户是可写的,我不想为每个创建的文件明确设置权限。问题可能是安装程序以不同的权限运行,因此文件没有从其父文件夹继承权限吗?
提前感谢您的帮助。
【问题讨论】:
-
我觉得这很奇怪。安装后检查权限了吗?即它们不只是只读的?
-
是的。问题是在安装过程中创建的文件夹获得了管理员的默认权限(或类似的权限)。我手动设置了文件夹权限,让普通用户可以写。但是在文件夹中创建的文件不会继承在文件夹上手动设置的权限(当然,文件是在安装程序中创建的,可能以管理员身份运行)。也许解决方案是手动调整文件的权限,但是,我认为这不是一个好方法。
标签: c# file installation permissions windows-installer