![](/img/trans.png)
[英]How do I grant permission for the application folder to full access during installation in a target machine?
[英]Grant write permission during installation
我有一個正在實現log4net.dll
的應用程序。 我在不同的計算機上安裝了此應用程序,並且工作正常。
我的應用程序安裝在C:\\ ProgramFile \\ myApplication。
但是問題是當用戶在ProgramFile下沒有寫權限時。 它不寫日志嗎?
我想知道有什么方法可以在安裝過程中為文件夾分配所有訪問權限。 我瀏覽了不同的文章,但找不到滿意的答案。
任何幫助,將不勝感激。
您不應該將日志文件放在應用程序的(子)文件夾中! 將它們放置在可以確定每個用戶都具有寫權限的位置,例如$ Appdata或$ LocalAppdata(我更喜歡使用日志文件)
log4net配置示例:
<file value="${APPDATA}/My Company/My Product/Logs/My Application.log" />
從這里取:
我在WIX安裝程序中處理了類似的問題,這是代碼:
DirectoryInfo directoryInfo = new DirectoryInfo(session["..."]);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
SecurityIdentifier localService = new SecurityIdentifier(WellKnownSidType.LocalServiceSid, null);
FileSystemAccessRule directoryAccessRule = new FileSystemAccessRule(localService, FileSystemRights.FullControl, AccessControlType.Allow);
directorySecurity.AddAccessRule(directoryAccessRule);
directoryInfo.SetAccessControl(directorySecurity);
授予本地服務帳戶對文件夾的完全訪問權限。 只需通過將使用您的應用程序的用戶的SID來更改本地服務用戶的SID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.