本文说明VS2008安装部署使用问题,怎样使用VS2008安装部署的步骤。这些内容都是一些门户网站和技术论坛找到的,中间可能有不少错误是我没有挑出的,欢迎大家指正。
最近使用VS2008的安装部署项目时,发现了很奇怪的问题:
1、安装程序升级版本号后,安装完成却发现并没有升级程序。
2、升级windows服务时,提示“服务已经存在”,中止安装。
3、升级后,UserSetting配置数据恢复到默认值,VS2008安装部署并没有继承上一版本配置数据。
经过反复测试我确认是VS2008有了新的改动。在网上找了很多时间,发现国内还几乎没有人提出这个问题。在国外的一些论坛里,也有人发现了和我一样的问题,并进行了一定的讨论。通过总结和大量实验,我总算圆满解决以上三个问题。#t#
一、VS2008安装部署项目的最新改动
VS2008帮助文档明确说明,VS2008安装部署方面与VS2005不同。综合各种资料,总结如下:VS2005安装程序,先完全卸载旧版本,然后全新安装新版本。
VS2008安装程序,则只是升级,没有卸载旧版本。安装程序只是更新确实需要更新的文件,在最后安装新文件的时候,才删除旧文件。在MSI文件安装过程中旧版本文件的删除是在InstallExecute和InstallFinalize.之间执行,而不是在一开始就执行。
可以参考http://msdn2.microsoft.com/en-us/library/aa371197(VS.85).aspx文件根据Fileversioningrules进行升级。虽然FileVersion对VS生成的MSI文件没有影响。文件的修改日期不能作为升级的依据。
可以参考http://msdn2.microsoft.com/en-us/library/aa368599(VS.85).aspxVS并没有对文件进行hash处理。所以,如果仅仅升级了安装程序的Version,没有升级程序集的FileVersion,安装程序将不会对这些文件进行升级。
二、VS2008安装部署解决方法
1、程序安装后并没有升级的问题
解决的关键就是,必须升级程序集的FileVersion。
最简单的办法:修改解决方案中的所有AssemblyInfo.cs文件最后两行