集成VS 2003的SP1 未遂VS 2003系统安装SP 时对时间和空间的消耗都不少,即便是有些年代的VS 2003系统,于是便想试试能不能直接将 SP1 集成进安装光盘。所以拿出来和大家进行充分的研究探讨。
网上有些相关的帖子,方法挺简单,我参照着做的大致步骤是:
提取 SP1 中的 msp 文件(VS7.1sp1-KB918007-X86.exe /xp:d:,后头的参数表示解压到D盘根目录),得到一个 S918007.msp,文件长度为279,625,216字节,如果机器中已经安装有 VS2003 + SP1,应该可以在 C:\Windows\Installer 下找到该文件,不需要再解压一次了。
执行:msiexec /p S918007.msp /a d:\VS2003\VS_SETUP.MSI,然后就会开始更新解压出来的安装光盘文件
再次使用 UltraISO 将更新好的文件打包成 ISO 格式,应该就算大功告成了。
过程还算顺利,随后卸载掉机器里已安装好的 VS2003+SP1,用这个新的 ISO 来安装,结果发现安装时不能设置一个总的安装路径(原来是装在 C 盘,现因为 C 盘空间渐渐吃紧,想放在 D 盘),而且安装过程中还会提示说要插入原始安装光盘,郁闷。
#t#不知道问题出在哪,只好仍用原始光盘进行安装,比较奇怪的是,这回也不能设置总的安装路径了。。。
前一排在做项目的时候,碰到个很郁闷的问题。
在vss管控下进行开发。数据库连接字符串都是
而大家都还停留在2000年代。所以在程序中判断这个bit类型时,用0和1来区别。问题就出现了,在我这边怎么都不能正常运行,在另一客户端就正常。我想来想去都搞不通。也用vs 2005的调试工具一步一步的跟踪,就是找不到。后来一对比数据库。哦,真相大白,就是bit类型在数据库中的表现形式。所以在开发中要注意这点区别。在sql server 2000中bit数据类型是0和1,而在sql server 2005中bit类型是true和false。 在这里产生过几次问题,第一个就是由于integrated security=SSPI造成部署到iis中怎么都运行不了,dotnet framework之类的东西都是正确了的。
就是运行出错,并且可以定位到打开数据库的时候产生异常。而用vs 2005自带的iis浏览时是正常的。后来在网上找资料和请教别人的时候,终于找到原因,在连接字符串中"integrated security=SSPI"表示采用的安全认证。因为用vs2005运行程序的时候,用户的身份是administrator,在部署到iis中运行程序的用户身份为network service,用户采用该安全认证,所以以network service运行时,就没有足够的权限打开数据库。呵呵,去掉integrated security=SSPI,正常了。唉,这些都不是程序中能学到的。
最后一个问题,就是某天,我先在VS 2003环境中编写代码,并运行过该环境下的程序,后来换成vs2005环境,我发现以前能正常运行的程序,就tmd变成了应用程序不可用,我考,太神奇了。我百思不得其解。算了关了vs2005,重启iis,问题依旧。
上网找了一下资料,有些人说什么由于dotnet framework1.1打了sp补丁,我日,哪有这门子事。况且我也没打过。继续查询虚拟目录属性,framework版本正常,奇怪了。不经意看到程序池,是default程序池。呵呵什么问题都出来了,就是这里,两个不同版本的framework共用一个程序池,发生冲突。之后把framework2.0版本的程序的程序池都迁移到2.0的程序池中,不采用默认程序池。重启iis,VS 2003系统问题解决。 所以有好多东西真的要碰到才知道是什么回事。希望这里能对读者提个醒,少走点弯路。