前輩對于VS 2003系統(tǒng)的深度討論與學(xué)習(xí)
集成VS 2003的SP1 未遂VS 2003系統(tǒng)安裝SP 時(shí)對時(shí)間和空間的消耗都不少,即便是有些年代的VS 2003系統(tǒng),于是便想試試能不能直接將 SP1 集成進(jìn)安裝光盤。所以拿出來和大家進(jìn)行充分的研究探討。
網(wǎng)上有些相關(guān)的帖子,方法挺簡單,我參照著做的大致步驟是:
提取 SP1 中的 msp 文件(VS7.1sp1-KB918007-X86.exe /xp:d:,后頭的參數(shù)表示解壓到D盤根目錄),得到一個(gè) S918007.msp,文件長度為279,625,216字節(jié),如果機(jī)器中已經(jīng)安裝有 VS2003 + SP1,應(yīng)該可以在 C:\Windows\Installer 下找到該文件,不需要再解壓一次了。
執(zhí)行:msiexec /p S918007.msp /a d:\VS2003\VS_SETUP.MSI,然后就會開始更新解壓出來的安裝光盤文件
再次使用 UltraISO 將更新好的文件打包成 ISO 格式,應(yīng)該就算大功告成了。
過程還算順利,隨后卸載掉機(jī)器里已安裝好的 VS2003+SP1,用這個(gè)新的 ISO 來安裝,結(jié)果發(fā)現(xiàn)安裝時(shí)不能設(shè)置一個(gè)總的安裝路徑(原來是裝在 C 盤,現(xiàn)因?yàn)?C 盤空間漸漸吃緊,想放在 D 盤),而且安裝過程中還會提示說要插入原始安裝光盤,郁悶。
#t#不知道問題出在哪,只好仍用原始光盤進(jìn)行安裝,比較奇怪的是,這回也不能設(shè)置總的安裝路徑了。。。
前一排在做項(xiàng)目的時(shí)候,碰到個(gè)很郁悶的問題。
在vss管控下進(jìn)行開發(fā)。數(shù)據(jù)庫連接字符串都是
而大家都還停留在2000年代。所以在程序中判斷這個(gè)bit類型時(shí),用0和1來區(qū)別。問題就出現(xiàn)了,在我這邊怎么都不能正常運(yùn)行,在另一客戶端就正常。我想來想去都搞不通。也用vs 2005的調(diào)試工具一步一步的跟蹤,就是找不到。后來一對比數(shù)據(jù)庫。哦,真相大白,就是bit類型在數(shù)據(jù)庫中的表現(xiàn)形式。所以在開發(fā)中要注意這點(diǎn)區(qū)別。在sql server 2000中bit數(shù)據(jù)類型是0和1,而在sql server 2005中bit類型是true和false。 在這里產(chǎn)生過幾次問題,第一個(gè)就是由于integrated security=SSPI造成部署到iis中怎么都運(yùn)行不了,dotnet framework之類的東西都是正確了的。
就是運(yùn)行出錯(cuò),并且可以定位到打開數(shù)據(jù)庫的時(shí)候產(chǎn)生異常。而用vs 2005自帶的iis瀏覽時(shí)是正常的。后來在網(wǎng)上找資料和請教別人的時(shí)候,終于找到原因,在連接字符串中"integrated security=SSPI"表示采用的安全認(rèn)證。因?yàn)橛胿s2005運(yùn)行程序的時(shí)候,用戶的身份是administrator,在部署到iis中運(yùn)行程序的用戶身份為network service,用戶采用該安全認(rèn)證,所以以network service運(yùn)行時(shí),就沒有足夠的權(quán)限打開數(shù)據(jù)庫。呵呵,去掉integrated security=SSPI,正常了。唉,這些都不是程序中能學(xué)到的。
最后一個(gè)問題,就是某天,我先在VS 2003環(huán)境中編寫代碼,并運(yùn)行過該環(huán)境下的程序,后來換成vs2005環(huán)境,我發(fā)現(xiàn)以前能正常運(yùn)行的程序,就tmd變成了應(yīng)用程序不可用,我考,太神奇了。我百思不得其解。算了關(guān)了vs2005,重啟iis,問題依舊。
上網(wǎng)找了一下資料,有些人說什么由于dotnet framework1.1打了sp補(bǔ)丁,我日,哪有這門子事。況且我也沒打過。繼續(xù)查詢虛擬目錄屬性,framework版本正常,奇怪了。不經(jīng)意看到程序池,是default程序池。呵呵什么問題都出來了,就是這里,兩個(gè)不同版本的framework共用一個(gè)程序池,發(fā)生沖突。之后把framework2.0版本的程序的程序池都遷移到2.0的程序池中,不采用默認(rèn)程序池。重啟iis,VS 2003系統(tǒng)問題解決。 所以有好多東西真的要碰到才知道是什么回事。希望這里能對讀者提個(gè)醒,少走點(diǎn)彎路。






