VS2008生成安装包问题:验证时出错。HRESULT = '80004005'
最近在做接口程序,Web服务器又不能访问外网,只能通过另一台有网的服务器转出去。折腾了几天,真是受不了。还好接近尾声了,碰到个很有意思的问题。
在最后生成服务的时候报错,HRESULT = '80004005'。还好有Google,不然不知道啥时才能解决呢。
【产生原因】
解决方案中的某些项目已被其他版本的vs修改,如当前解决方案是使用vs2008创建使用的,而解决方案中的某些项目被vs2010打开修改,当重新用vs2008打开项目并生成安装包时,出现此错误。
【处理方法】
使用外部文本编辑器如记事本打开相关项目文件(*.csproj),即上述所说的{关注此项目名字}。
找到类似行:
<Project ToolsVersion="4.0"DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<OldToolsVersion>3.5</ OldToolsVersion>
修改它们:
<Project ToolsVersion="3.5" DefaultTargets="Build"xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<OldToolsVersion>2.0</ OldToolsVersion>
...然后重新加载项目文件,重新生成安装程序,一切都应该恢复正常,假设你有没有其他隐藏的问题的话!
转自:http://hi.baidu.com/jx_xcbw/blog/item/b687181e7a1e171e304e15f0.htmls
PS:还有几个问题
1.安装的时候需要登录。解决办法:在 serviceProcessInstaller1中把属性Account改为LocalSystem
2.如何安装。解决办法: 在VS命令提示符中,找到安装的服务路径,输入InstallUtil 服务文件名.exe。
3.需要手动安装。解决办法:在安装程序中,右键“视图”->“添加自定义操作”,出现的对话框中,选中“应用程序文件夹”,再选中其中的InstallUtil.exe文件,添加好后,会在安装操作下面多出一个InstallUtil.exe的分支。点一下它,在右边的属性页里,设置Arguments=“ 你的Windows服务文件名”。
2011.10.20日补充
ServerInstall服务参数说明:
Description:描述,显示在服务列表的描述中。
DisplayName:显示名称,显示在服务列表中。
ServiceName:服务名称,显示在安装列表中。
作 者:doku
出 处:http://www.cnblogs.com/kulong995/
关于作者:喜欢编程,喜欢美食,专注于.NET项目开发。
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!