我在Visual Studio中构建了一个程序。该程序创建一个日志文件,并在程序通过log4net运行时写入该文件。因此,无论哪个用户使用该程序,我都应该为我的程序文件夹设置写权限。
当我访问我的应用程序时,它会抛出错误
文件访问被拒绝
所以我做了它我已经给了iis_users管理员权限,因为它工作得很好......
但我的问题是没有设置权限,我应该能够通过iis运行我的应用程序
所以我已经完成了
1)创建app.manifest文件,代码为
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<!-- UAC Manifest Options
If you want to change the Windows User Account Control level replace the
requestedExecutionLevel node with one of the following.
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
Specifying requestedExecutionLevel node will disable file and registry virtualization.
If you want to utilize File and Registry Virtualization for backward
compatibility then delete the requestedExecutionLevel node.
-->
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
</requestedPrivileges>
但这对我解决这个问题没有帮助
答案 0 :(得分:0)
首先,您不应该这样做 - 我的意思是,将日志写入您的程序文件夹。这就是TEMP文件夹的用途。
也就是说,我认为在程序文件夹中为文件设置权限的一种方法是在自定义安装操作中执行此操作。
以下是一个类似的问题:How to give Read/Write permissions to a Folder during installation using .NET