成人在线你懂的-成人在线免费小视频-成人在线免费网站-成人在线免费视频观看-日韩精品国产一区二区-日韩精品国产一区

掃一掃
關注微信公眾號

Vista開發新特性之你的文件存在哪?2
2007-08-21   網絡

當你的程序添加了UAC manifest的時候,那么同時也就喪失了Vista的這項兼容性保護;這個時候你必須在程序中使用正確的路徑,把配置文件,日志文件等等都寫入到用戶自己的AppData中去。我們可以從下面的記事本演示中看到,由于記事本已經對Vista進行了升級,那么訪問\program files\目錄將會返回“沒有權限”的錯誤信息: 


Vista開發新特性之你的文件存在哪?
“沒有權限”

  如果我們比較一下EditPlus和記事本的exe文件,我們就可以看到區別了:  

Vista開發新特性之你的文件存在哪?
比較一下EditPlus和記事本的exe文件

  我們會發現記事本exe文件的manifest中多了以下代碼:

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>

  以上代碼告訴Vista上的UAC,記事本現在使用asInvoker的權限,也就是和調用者同樣的權限;我在專門介紹UAC的文章中提到過,Vista上的用戶默認是標準用戶,沒有訪問\program files\的權限,這就是為什么記事本會保存失敗。

  多用戶應用環境

  從Windows開始支持多用戶開始,其實就已經有了用戶目錄的概念,但是我們一直都沒有在軟件開發中對這個問題作足夠多的重視,造成了很多的應用程序都把一些用戶自己的配置內容寫入到了\program files\application name目錄中。這個問題有很多人不理解,到底那些內容是應該保存在\program files\application name目錄中,那些應該保存到\users\username\appdata目錄中。其實我們可以簡單的這樣區分:

  \program files\application name:保存安裝過程中固化的應用程序配置,這些配置不應被個別用戶更改;比如:固定的網關,服務器地址,應用程序的動態鏈接庫列表,程序版本信息等。

  \users\username\appdata:保存可以由用戶修改的內容,并且這個配置文件應該是在應用程序第一次運行的時候由程序動態創建的。比如:窗口的位置,大小,上次登錄的時間,用戶名,cookie等等。

  為什么不能由安裝程序創建這個文件呢?主要是為了支持無值守的部署情況,這種情況下安裝程序無從知曉個別用戶的具體情況;所以無法正確創建這個文件。

  其實,創建這個文件最簡單的方式就是使用.net framework 中的Appl???$?icationBlock的Configuration模塊,因為它會自動的處理文件的讀寫和創建;對應用程序是完全透明的。

熱詞搜索:

上一篇:Vista開發新特性之你的文件存在哪?1
下一篇:UNIX二十年發展經典回顧

分享到: 收藏
主站蜘蛛池模板: 寿比南山一般指多少岁| 蛇花| 马伊琍于和伟主演的电视剧| 当代大学德语2答案| 女生的宿舍2| 忏悔三昧全文及回向文| 无常电影| cgtn news在线直播| 爱四| 左耳演员表| 100以内加减法题库100题可打印| 乡村女老师| 陈学冬演过的电视剧有哪些| 屁屁视频| 金瓶儿| 搜狐搜狐| 梦想建筑师泰国百合剧| 历史试卷反思| 底线电影| 自拍成人| 发狂的现代史在线观看| 黄色网址视频在线播放| 惊悚电影| 青山知可子最经典十部电视剧| 梁祝吉他谱独奏完整| 黎明电影| 1988年英国的白蛇传说| 天天操免费视频| 会说话的金杰| 生死劫杀1946| 宁死不屈电影免费观看| 打美女屁股免费| 欲海浮沉| 膨腹爱好者撑肚子视频| 黄色污污视频| 天河电影演员表| 5年级英语上册单词| 杨国| 风月宝鉴电影剧情解析| 液氨化学性质| 带上她的眼睛|