亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號(hào)

Vista開(kāi)發(fā)新特性之你的文件存在哪?2
2007-08-21   網(wǎng)絡(luò)

當(dāng)你的程序添加了UAC manifest的時(shí)候,那么同時(shí)也就喪失了Vista的這項(xiàng)兼容性保護(hù);這個(gè)時(shí)候你必須在程序中使用正確的路徑,把配置文件,日志文件等等都寫入到用戶自己的AppData中去。我們可以從下面的記事本演示中看到,由于記事本已經(jīng)對(duì)Vista進(jìn)行了升級(jí),那么訪問(wèn)\program files\目錄將會(huì)返回“沒(méi)有權(quán)限”的錯(cuò)誤信息: 


Vista開(kāi)發(fā)新特性之你的文件存在哪?
“沒(méi)有權(quán)限”

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

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

  我們會(huì)發(fā)現(xiàn)記事本exe文件的manifest中多了以下代碼:

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

  以上代碼告訴Vista上的UAC,記事本現(xiàn)在使用asInvoker的權(quán)限,也就是和調(diào)用者同樣的權(quán)限;我在專門介紹UAC的文章中提到過(guò),Vista上的用戶默認(rèn)是標(biāo)準(zhǔn)用戶,沒(méi)有訪問(wèn)\program files\的權(quán)限,這就是為什么記事本會(huì)保存失敗。

  多用戶應(yīng)用環(huán)境

  從Windows開(kāi)始支持多用戶開(kāi)始,其實(shí)就已經(jīng)有了用戶目錄的概念,但是我們一直都沒(méi)有在軟件開(kāi)發(fā)中對(duì)這個(gè)問(wèn)題作足夠多的重視,造成了很多的應(yīng)用程序都把一些用戶自己的配置內(nèi)容寫入到了\program files\application name目錄中。這個(gè)問(wèn)題有很多人不理解,到底那些內(nèi)容是應(yīng)該保存在\program files\application name目錄中,那些應(yīng)該保存到\users\username\appdata目錄中。其實(shí)我們可以簡(jiǎn)單的這樣區(qū)分:

  \program files\application name:保存安裝過(guò)程中固化的應(yīng)用程序配置,這些配置不應(yīng)被個(gè)別用戶更改;比如:固定的網(wǎng)關(guān),服務(wù)器地址,應(yīng)用程序的動(dòng)態(tài)鏈接庫(kù)列表,程序版本信息等。

  \users\username\appdata:保存可以由用戶修改的內(nèi)容,并且這個(gè)配置文件應(yīng)該是在應(yīng)用程序第一次運(yùn)行的時(shí)候由程序動(dòng)態(tài)創(chuàng)建的。比如:窗口的位置,大小,上次登錄的時(shí)間,用戶名,cookie等等。

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

  其實(shí),創(chuàng)建這個(gè)文件最簡(jiǎn)單的方式就是使用.net framework 中的Appl???$?icationBlock的Configuration模塊,因?yàn)樗鼤?huì)自動(dòng)的處理文件的讀寫和創(chuàng)建;對(duì)應(yīng)用程序是完全透明的。

熱詞搜索:

上一篇:Vista開(kāi)發(fā)新特性之你的文件存在哪?1
下一篇:UNIX二十年發(fā)展經(jīng)典回顧

分享到: 收藏