问题描述
我的应用程序在 appinstalldirectory\log 目录中使用 log4net 写入日志,但该应用程序无法创建日志目录和创建文件。这是因为在安全选项卡上,当前登录用户(Windows 10 中的本地管理员)未添加为对该文件夹具有完全访问权限的用户列表。
因此在 wix 安装程序中我创建了一个组件,如下所示
<CreateFolder>
<util:PermissionEx
GenericAll="yes"
CreateFile="yes"
User="[UserSID]"
Domain="[%USERDOMAIN]"/>
<!--<Permission
GenericAll="yes"
CreateFile="yes"
User="[UserSID]"
Domain="[%USERDOMAIN]"/>-->
</CreateFolder>
使用 PermissionEx 安装程序未完成并显示如下消息 https://i.stack.imgur.com/SiCbk.png
但是当使用时我得到如下错误 https://i.stack.imgur.com/AXNpO.png
当我检查命令中的用户名时,我可以看到用户名 https://i.stack.imgur.com/KDVpC.png
有人可以指出我有什么问题或我该怎么办吗?我不想不断修改每个系统并授予当前用户完全访问权限,以便我的应用程序可以写入日志。
解决方法
使用用户名,而不是 SID
<CreateFolder>
<util:PermissionEx
GenericAll="yes"
CreateFile="yes"
User="[LogonUser]"
Domain="[%USERDOMAIN]"/>
</CreateFolder>