簡體   English   中英

在安裝過程中授予寫權限

[英]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" />

從這里取:

http://malor.se/blog/?p=23

我在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM