添加/刪除/讀寫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」「

 

  總結:此方法從根部解決問題,雖然繁瑣,而且需要重新打包,但是可以一勞永逸