自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

瞬間學(xué)會(huì)VS2003制作安裝的過(guò)程及注意事項(xiàng)

開(kāi)發(fā) 后端
希望我的一點(diǎn)經(jīng)驗(yàn)?zāi)芙o大家?guī)?lái)些幫助,介紹VS2003制作安裝的全過(guò)程,下面就是我的對(duì)于vs2003制作安裝的一點(diǎn)點(diǎn)看法,還請(qǐng)大家多多切磋、

VS2003制作安裝在目標(biāo)機(jī)器上裝這個(gè)msi,安裝完畢會(huì)在C:\WINDOWS\assembly找到剛才類(lèi)庫(kù)中生成的dll,已經(jīng)作為一個(gè)全局程序集加入到GAC中,奇怪的是,項(xiàng)目中其它的文件不需要將Permanent設(shè)置為ture,它也會(huì)在升級(jí)安裝時(shí)先刪除文件,然后安裝新的文件。

1.VS2003新建一個(gè)空解決方案這個(gè)解決方案是為了容納下面幾個(gè)項(xiàng)目。

2.VS2003新建類(lèi)庫(kù)項(xiàng)目在解決方案下新建類(lèi)庫(kù)項(xiàng)目,這個(gè)類(lèi)庫(kù)項(xiàng)目就是要生成的程序集,它會(huì)被編譯為一個(gè)獨(dú)立的dll。但是要把一個(gè)程序集放入GAC中,需要給這個(gè)程序集賦予一個(gè)強(qiáng)名稱(chēng)的簽名

3.VS2003生成加密密鑰對(duì)
Sdk帶有一個(gè)生成強(qiáng)名稱(chēng)程序集簽名用的密鑰對(duì)的命令sn.exe(可以在C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin目錄下找到),使用下面的命令生成一個(gè)密鑰對(duì)叫做Testkey.snk,命令如下:

sn -k Testkey.snk
將生成密鑰對(duì)拷貝到類(lèi)庫(kù)項(xiàng)目的根目錄下。
編輯類(lèi)型項(xiàng)目的AssemblyInfo.cs文件,將密鑰文件屬性指向上面那個(gè)密鑰對(duì)文件
[assembly: AssemblyKeyFile("..\\..\\Testkey.snk")]
這里的路徑是相對(duì)于編譯后的項(xiàng)目輸出的位置。
AssemblyInfo.cs中其他的設(shè)置根據(jù)實(shí)際需要設(shè)置即可。
一個(gè)帶有強(qiáng)名稱(chēng)的程序集設(shè)計(jì)即告完成

4.VS2003新建主項(xiàng)目
一般情況都是一個(gè)exe的主項(xiàng)目引用一個(gè)或者多個(gè)dll的類(lèi)庫(kù)項(xiàng)目,我們?cè)诮鉀Q方案中新建一個(gè)主項(xiàng)目,引用上面步驟建立的類(lèi)庫(kù)項(xiàng)目。
項(xiàng)目實(shí)現(xiàn)你自己想做的功能。

5.VS2003新建一個(gè)部署項(xiàng)目
在解決方案中新建一個(gè)部署項(xiàng)目。
在部署項(xiàng)目的“文件系統(tǒng)”中,點(diǎn)擊右鍵“添加特殊文件夾”中選擇“Global Assembly Cache Folder文件夾”,這樣在文件系統(tǒng)中新建了一個(gè)Global Assembly Cache Folder文件夾,這個(gè)文件夾指向系統(tǒng)的GAC目錄。

添加項(xiàng)目輸出,選擇主項(xiàng)目的項(xiàng)目主輸出,主項(xiàng)目的輸出會(huì)自動(dòng)加入到“應(yīng)用程序文件夾”。
再添加項(xiàng)目輸出,選擇類(lèi)庫(kù)項(xiàng)目的主輸出,同樣類(lèi)庫(kù)項(xiàng)目的dll也會(huì)被加入到“應(yīng)用程序文件夾”。我們把這個(gè)dll從“應(yīng)用程序文件夾”拖到“Global Assembly Cache Folder文件夾”。這樣系統(tǒng)安裝時(shí)會(huì)把這個(gè)dll安裝到GAC了。

6.  最后設(shè)置程序目錄和桌面上是否要放置程序的輸出項(xiàng)

7.VS2003build部署項(xiàng)目,生成msi

8.VS2003制作安裝在目標(biāo)機(jī)器上裝這個(gè)msi,安裝完畢會(huì)在C:\WINDOWS\assembly找到剛才類(lèi)庫(kù)中生成的dll,已經(jīng)作為一個(gè)全局程序集加入到GAC中。在GAC中同時(shí)能夠看到這個(gè)dll的版本,語(yǔ)言和強(qiáng)名稱(chēng)中的public key的一部分public key token。
 
#t#在整個(gè)過(guò)程中有幾點(diǎn)需要特別注意:

1.VS2003一般的軟件我們都希望能夠在出了新版本后生成msi在客戶(hù)機(jī)上安裝能夠自動(dòng)刪除原先的版本后安裝新版本。同樣VS20032003也提供了這樣的選項(xiàng),在部署項(xiàng)目屬性中RemovePreviousVersion屬性設(shè)置為true,指示系統(tǒng)在安裝之前刪除老版本。

2.VS2003如果一個(gè)部署項(xiàng)目上ProductName和應(yīng)用文件夾的DefaultLocation不變,則會(huì)被認(rèn)為是同一個(gè)程序。部署項(xiàng)目的version和ProductCode和UpgradeCode改變后會(huì)被認(rèn)為同一個(gè)程序的版本升級(jí)。如果只改變了version沒(méi)有同時(shí)更改ProductCode和UpgradeCode,會(huì)被系統(tǒng)認(rèn)為還是同一個(gè)版本的程序,在已有了原來(lái)系統(tǒng)的機(jī)器上不能再次安裝。

3.VS2003制作安裝到GAC的dll項(xiàng)目也會(huì)同整個(gè)軟件一起被安裝被卸載,但是這個(gè)dll的版本跟部署項(xiàng)目設(shè)置的版本不同,刪除時(shí)系統(tǒng)會(huì)根據(jù)msi中帶的dll的程序集的完整標(biāo)識(shí)即程序集名稱(chēng)、version、cultrue、key token四項(xiàng)來(lái)檢查。當(dāng)msi中的dll的四項(xiàng)跟在GAC中的dll有一項(xiàng)不同,則被認(rèn)為是不同版本的dll,在升級(jí)安裝時(shí)不會(huì)刪除原來(lái)的dll,同時(shí)將新版本的dll加入到GAC。

4.VS2003在部署項(xiàng)目中加入到GAC的dll需要有個(gè)特殊的設(shè)置,就是要把這個(gè)dll的屬性中Permanent設(shè)置為ture,表示卸載應(yīng)用程序時(shí)是否移除項(xiàng)目輸出文件。這里一定要設(shè)為true,在每次更新安裝時(shí)會(huì)將沒(méi)有改動(dòng)的dll先從gac刪除然后再安裝進(jìn)去。如果沒(méi)設(shè)為true,程序更新安裝時(shí)不會(huì)先將gac中的這個(gè)dll卸掉,安裝時(shí)會(huì)把這個(gè)dll再安裝一次,結(jié)果發(fā)現(xiàn)gac中有一個(gè)跟自己一模一樣的dll,msi就會(huì)執(zhí)行一個(gè)刪除操作,把這個(gè)dll從gac中刪除。最后的結(jié)果就是,項(xiàng)目中的其他部分都更新了,但是這個(gè)dll卻沒(méi)有了,導(dǎo)致系統(tǒng)不能正常使用。

奇怪的是,項(xiàng)目中其它的文件不需要將Permanent設(shè)置為ture,它也會(huì)在升級(jí)安裝時(shí)先刪除文件,然后安裝新的文件。

責(zé)任編輯:chenqingxiang 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2009-11-27 14:09:44

VS2003模板

2009-12-01 11:21:25

VS2003 報(bào)表

2009-11-26 10:46:38

VS2003制作安裝

2009-12-01 13:50:19

VS2003水晶報(bào)表

2009-11-26 11:30:12

VS2003控件

2009-12-11 15:08:34

VS2008驅(qū)動(dòng)

2009-12-10 09:50:49

VS.NET 2003

2009-11-30 17:00:05

VS2003窗口

2009-12-11 13:41:18

2010-10-29 16:33:45

ORACLE存儲(chǔ)過(guò)程

2011-05-19 14:29:50

Oracle存儲(chǔ)語(yǔ)法

2009-11-27 10:14:44

2009-12-11 14:38:06

VS2003安裝程序

2009-12-10 13:11:47

VS2003安裝

2009-12-15 10:10:38

VS 2008開(kāi)發(fā)

2009-12-03 14:37:47

安裝phpMyAdmi

2009-11-25 13:41:53

使用VS2003

2009-12-01 09:30:45

2009-11-27 10:03:48

VS2003安裝失敗

2009-11-27 09:53:15

VS2003安裝程序
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)