除此之外,還有沒有其他更好的解決方法呢?
我們都知道,在Windows Vista中,除系統(tǒng)級(jí)的共享Gadgets外,其他與Sidebar與Gadgets有關(guān)的設(shè)置均保存在用戶的個(gè)人文件夾中,因此,只要讓這些設(shè)置能夠在多臺(tái)Windows Vista客戶機(jī)間能夠共用或漫游,便可實(shí)現(xiàn)共用Gadgets的目的。
這需要幾個(gè)步驟來操作:首先,需要將有關(guān)的Gadgets運(yùn)行文件與設(shè)置拷貝到U盤中;然后,修改Gadgets與目錄有關(guān)的參數(shù),讓其能夠在膝脫離原始安裝路徑的條件下運(yùn)行等等。下面我們具體介紹如何通過U盤來實(shí)現(xiàn)在多臺(tái)Windows Vista客戶機(jī)間共用Gadgets的方法,以幫助用戶打造自己的“隨身”Gadgets。
將已安裝的Gadgets拷貝到U盤
在Windows Vista的默認(rèn)設(shè)置中,用戶的Sidebar設(shè)置與安裝的Gadgets被保存在“%userprofile% \appdata \local \microsoft \windows sidebar”文件夾中,系統(tǒng)公用的Gadgets則保存于“%programfiles% \windows sidebar \shared gadgets”。(不會(huì)不清楚“%userprofile%\”與“%programfiles%”的含義吧? 實(shí)在不行的話可以在命令窗口中運(yùn)行“set”查看相關(guān)環(huán)境參數(shù)的設(shè)置。)
插入U(xiǎn)盤,此處假設(shè)U盤在Windows Vista中的盤符為“E:”,創(chuàng)建一個(gè)用于保存Sidebar與Gadgets文件、設(shè)置的目錄“sblocal”;
將“%userprofile% \appdata \local \microsoft \windows sidebar”文件夾拷貝到e:\sblocal下,拷貝完成后即可看到設(shè)置文件路徑為“ e:\sblocal\setting.ini ”,而所有的用戶Gadgets則保存在“ e:\sblocal\gadgets”目錄中;
如果希望將系統(tǒng)共享的Gadgets也可在多臺(tái)Windows vista PC中共用,可按同樣的方法將 “%programfiles% \windows sidebar \shared gadgets” 文件夾中的內(nèi)容拷貝到“ e:\sblocal\gadgets” (注意目錄,不要拷錯(cuò)了)。
編輯配置文件讓Gadgets可在不同環(huán)境下運(yùn)行
單純地將Gadgets文件拷貝到U盤上并不能使Gadgets在脫離原始安裝環(huán)境后能夠使用,因?yàn)槠溥\(yùn)行依賴于原始的安裝目錄,如“%userprofile%\ appdata \local \microsoft \windows sidebar”,我們還需要將相關(guān)的路徑修改到U盤上,這樣才能使其可以在U盤上單獨(dú)運(yùn)行。
使用記事本或其他文本編輯器打開“ e:\sblocal\settings.ini ”文件;
可以看到,在settings.ini中針對(duì)每個(gè)Gadgets都有一項(xiàng)名為 “PrivateSetting_GadgetName” 的參數(shù),其值即為Gadgets運(yùn)行中所需文件的保存位置,比如說,對(duì)于常用的計(jì)算器小配件,該參數(shù)項(xiàng)即為類似如下的格式:
PrivateSetting_GadgetName=“C:%5CUsers%5Chighdiy %5CAppData%5CLocal%5CMicrosoft%5CWindows%20Sidebar%5C Gadgets%5Ccalculator%5B1%5D.gadget”
(注:該參數(shù)中“%5C”代表“\”,是”\”的十六進(jìn)制代碼,而“%5B1%5D”則代表“[1]”,更詳細(xì)信息請(qǐng)參考ASCII碼表。而“C:%5CUsers%5Chighdiy”則為上文中的“%userprofile%”,即對(duì)應(yīng)于用戶名為“highdiy”的情況。)
要讓Gadgets能夠在多臺(tái)Windows Vista系統(tǒng)中運(yùn)行,必須將這些與用戶有關(guān)的路徑修改為通用路徑。Windows Vista提供了一個(gè)環(huán)境變量來實(shí)現(xiàn)這一點(diǎn):GADGETS_USER,它可以告訴Sidebar去哪些尋找用戶安裝的Gadgets。也即是說,我們需要將setting.ini中與用戶目錄有關(guān)的參量如上面例子中的 “C:%5CUsers %5Chighdiy %5CAppData %5CLocal %5CMicrosoft %5CWindows %20Sidebar %5CGadgets%5C” 替換為 “%GADGET_USER%”,以計(jì)算器小配件的例子來說,修改后即為:
PrivateSetting_GadgetName=“%GADGETS_USER% \calculator%5B1%5D.gadget”
同樣地,對(duì)于系統(tǒng)默認(rèn)安裝的Gadget(從“%programfiles%\ windows sidebar \shared gadgets”中拷貝來的),則需將字符串 “C:%5CProgram%20Files” 修改為 “%PROGRAMFILES%”,這可避免因?qū)indows Vista安裝不同分區(qū)而可能導(dǎo)致Sidebar加載時(shí)無法正確找到Gadgets文件的情況。
而對(duì)于那些雖然可以讓多個(gè)用戶使用但卻是由系統(tǒng)管理員安裝的Gadgets,因其他計(jì)算機(jī)上未必存在,則只能通過U盤來加載了,即與用戶自安裝的Gadgets采用類似的方法,將字符串 “C:%5C Program%20 Files %5CWindows %20Sidebar %5CShared %20Gadgets” 修改為 “%GADGETS_USER%” 。
創(chuàng)建Sidebar加載腳本
完成上面的修改后,便進(jìn)入了最后一步,在這里我們需要設(shè)置環(huán)境變量,為Sidebar加載提供相關(guān)信息。其中,GADGETS_SETTINGS告知sidebar 配置文件“settings.ini”的位置,而 GADGETS_USER 則告知sidebar去哪些尋找待加載的Gadgets。
在 e:\sblocal目錄下,創(chuàng)建一個(gè)名為sb.cmd的批處理文件,其內(nèi)容如下:
pushd %~dp0
set GADGETS_SETTINGS=%~dp0
set GADGETS_USER=%~dp0\gadgets
start sidebar
popd
大功告成。
這樣,在任何一臺(tái)Windows Vista系統(tǒng)中插入U(xiǎn)盤,在登錄時(shí)關(guān)閉系統(tǒng)默認(rèn)的Sidebar,然后運(yùn)行“sblocal\sb.cmd” 腳本即可讓我們的“隨身”Gadgets運(yùn)行了。
客觀地說,通過這樣的方式,可以大大方便Gadgets在Windows Vista中的使用,但從安全性的角度而言,這是不是個(gè)好的選擇則存在疑問:假如不法用戶通過U盤攜帶惡意Gadgets呢?這可以使其方便地加載任何其想要使用的Gadgets,難道Gadgets真的要成為未來流氓軟件的主戰(zhàn)場(chǎng)?