添加/刪除/讀寫c盤文件——c#
一、前言:
有時候我們為自己的程式添加配置文件,如tet、ini、xml等文件,又或者保存軟體運行時的日誌
當我們把軟體打包後,默認安裝在c盤,而配置文件也會跟隨生成在安裝目錄下
此時你會發現,配置文件無法生成/修改
這是因為操作c盤文件需要管理員身份
二、有兩種方法可以達到目的,一種是修改安裝後的軟體屬性,另一種是修改打包前的程式屬性
方法一:修改安裝後的軟體屬性
步驟:1.右鍵軟體選擇屬性
2.選擇兼容性目錄欄
3.勾選以管理員身份運行此軟體
總結:此方法操作簡單,不用重新打包,對只有一次安裝該軟體比較友好,但如果需要多次安裝,就顯得很繁瑣,沒安裝一次都要去修改一次,發行 給別人不推薦
方法二:在vs修改打包前的程式屬性
步驟:1.查看自己項目的Properties是否有app.manifest,如果有,直接跳到第3步
2.如果沒有第1步所說的文件,則右鍵項目——>屬性——>安全性——>勾選啟動ClickOnce安全設置選項
3.雙擊打開Properties下的app.manifest文件,按照按照注釋把requestedExecutionLevel 節點的 level=”asInvoker”
替換成level=”requireAdministrator” 即可
其中許可權解析如下:
(1)asInvoker 當前許可權,可以理解為只有一般用戶的許可權;
(2)requireAdministrator 管理員許可權,如果運行此程式的賬戶沒有管理員許可權則直接不運行;
(3)highestAvailable 用戶所能拿到的最高許可權,如果用戶不是管理員也會運行。
下圖是修改後的截圖:
4.把步驟2的ClickOnce取消掉:右鍵項目——>屬性——>安全性——>取消勾選啟動ClickOnce安全設置選項
如果不取消,會報錯誤:「ClickOnce 不支援請求執行級別「requireAdministr」「
總結:此方法從根部解決問題,雖然繁瑣,而且需要重新打包,但是可以一勞永逸