初步起草Visual Studio.NET2003制作詳細(xì)分析
本人把自己的資源管理器”加到了系統(tǒng)的右鍵菜單中。實(shí)現(xiàn)原理,在程序被安裝時(shí),修改用戶的注冊(cè)表,將自己的欄目添加到系統(tǒng)菜單中。這里介紹Visual Studio.NET2003制作,我發(fā)表一下個(gè)人理解,和大家討論討論。
當(dāng)用Visual Studio.NET2003制作安裝程序時(shí),要實(shí)現(xiàn)這個(gè)功能就非常非常的簡(jiǎn)單。下面是具體的制作步驟:
1先給你的工程添加一個(gè)“安裝項(xiàng)目”。怎么添加安裝項(xiàng)目,具體的就不說(shuō)了,在幫助文檔里有很好的說(shuō)明。
2在“解決方案資源管理器”中,右單擊你的安裝項(xiàng)目,在彈出菜單中選擇“視圖”->“注冊(cè)表”項(xiàng);
3單擊“注冊(cè)表”進(jìn)入注冊(cè)表修改視圖。
4在左邊的“目標(biāo)計(jì)算機(jī)上的注冊(cè)表”欄目右單擊“HKEY_CLASSES_ROOT”,在彈出菜單中選擇“新建Key”,命名為“*”。
5右單擊“*”,在彈出菜單中選擇“新建”->“項(xiàng)”,這里的命名隨便你自己選擇。比如“MyApp”。
6右單擊“MyApp”,在彈出菜單中選擇“新建”->“字符串值”。這時(shí)在右邊的窗口中會(huì)出現(xiàn)新添的項(xiàng)。將系統(tǒng)自動(dòng)給的名字刪掉(可單擊右鍵,在彈出菜單中選擇“刪除”),然后按回車,這時(shí),名稱會(huì)自動(dòng)改為“(默認(rèn)值)”。這一步很重要!
7右單擊“(默認(rèn)值)”,在“屬性”視圖中找到”value”這一欄,鍵入“我的資源管理器”。
8右單擊“MyApp”,在彈出菜單中選擇“新建”->“項(xiàng)”,命名為“command”。
9右單擊“command”,在彈出菜單中選擇“新建”->“字符串值”。然后跟剛才的步驟一樣,將其名稱改為“(默認(rèn)值)”。再在屬性欄中將他的“value”屬性設(shè)置為“[TARGETDIR][ProductName]”。大家一看就知道了拉,就是把他的值設(shè)置為你的程序在目標(biāo)計(jì)算機(jī)上的位置。這也是非常重要的。
10***,為了讓程序在卸載的時(shí)候能把我們?cè)谧?cè)表里添加的信息刪掉,別忘了將“MyApp”的屬性中“DeleterAtUninstall”屬性置為“true”
#t#一會(huì)兒后,提示說(shuō):Visual Studio.NET Enterprise Architect 2003 - CHS: [2] : ERROR: 錯(cuò)1309。讀取文件 i:\Win\Microsoft.NET\Framework\URTInstallPath\zh-CN\AutoProxy.xml 時(shí)出錯(cuò)。請(qǐng)驗(yàn)證文件是否存在以及是否可以訪問(wèn)它。剛開(kāi)始以為下載的安裝程序有缺,所以上網(wǎng)重新找源程序下載,下載了N次,重裝了N次,問(wèn)題依舊。后來(lái)上網(wǎng)查了資料,終于找到問(wèn)題所在,以下是解決方法:
1.將CD2內(nèi)的所有文件復(fù)制到CD1,選擇“覆蓋”。然后選擇“重試”,就可以了!
2.后來(lái)仔細(xì)察看給出的錯(cuò)誤提示,發(fā)現(xiàn)在i:\Win\Microsoft.NET\Framework\URTInstallPath\下沒(méi)有zh-CN目錄,只有zh-CNS目錄,難怪它提示找不到文件:AutoProxy.xml 。后來(lái)在CD2中發(fā)現(xiàn)有i:\Win\Microsoft.NET\Framework\URTInstallPath\zh-CN\目錄,于是在安裝中出現(xiàn)錯(cuò)誤提示后,保留畫(huà)面,換盤(pán)CD2,按“重試”按鈕,嘿嘿,安裝進(jìn)度條又開(kāi)始跑起來(lái)了。
好了,Visual Studio.NET2003制作大功告成了!把你的安裝項(xiàng)目生成一下,然后自己安裝一下試試,肯定沒(méi)有問(wèn)題了!
我們實(shí)現(xiàn)的這個(gè)是當(dāng)你右單擊文件時(shí)出現(xiàn)的彈出菜單中添加了我們自己的程序鏈接,如果想實(shí)現(xiàn)針對(duì)文件夾的,或者是特定文件的,方法都類似,只是修改的注冊(cè)表的位置不同。大家自己摸索著試試吧!很好玩的!

















