• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
鱼要的是海洋,鸟要的是天空,我要的是自由!
平凡的人不平凡的人生
博客园    首页    新随笔    联系   管理    订阅  订阅

VS2005 SP1 “无法使用此产品的安装源,请确认安装源存在,并且您可以访问它”的错误

系统:Windows 2003 std

安装的是 Visual Studio 2005 Team Suite 中文版, 昨天下了SP1准备打上, 却在提取文件后出现“无法使用此产品的安装源,请确认安装源存在,并且您可以访问它”的错误。 开始怀疑是自己装的VS版本的问题(下载版+正式序列号)。 于是卸了,再去找来貌似完Retail的TS英文版装上, 下了个英文版的SP1, 问題依旧。

Google了一下, 光见有问的,没见有回答的。 看来大多人安装都挺顺的, 自己找原因吧。

打开临时文件夹看了看, 找到安装Log, 看到了错误所在:“Error 1718. File was rejected by digital signature policy”。 有的放矢,解决问题就容易了。


原因

当计算机没有足够的连续内存可供 Windows Server 2003 或 Windows XP 用于验证是否对 .msi 包或 .msp 包正确进行了签名时将出现此问题。
数字签名可帮助确保程序包不会被篡改。当 Windows Installer 调用 SaferIdentifyLevel 函数时,Windows Server 2003 和 Windows XP 使用其他安全级别,即软件限制策略。

当 Windows Installer 同时调用 SaferIdentifyLevel 函数和 SAFER_CRITERIA_IMAGEHASH 标志时,整个程序包被加载到计算机上的内存中。计算机必须拥有程序包大小所需的足够连续内存。如果计算机没有足够的连续内存,则会出现错误。由于出现错误,Windows Installer 将无法验证是否对该程序包正确地进行了签名。因此,会收到“症状”部分中提到的错误消息。


方法一(建议使用)
1. 打开注册表编辑器, 转到项:HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers

2.将 PolicyScope 的注册表值从0改为1. (没有就新建一个)
3.命令行中执行 net stop msiserver 停止Windows Installer服务。
4.安装 SP1 (好慢,不过这回挺顺了)
5.装完把步骤2中的 PolicyScope值改回0.
6.喜欢的话就重启一下。

方法二
如果以上步骤不能解决该问题,请按照下列步骤操作:
1. 管理工具-》本地安全设置-》软件限制策略。(如果如果没有软件限制,右击“软件限制策略”,新建一个。)
2. “对象类型”下双击“强制”,并将第2个勾选从“所有用户”改为“除本地管理员以外的所有用户”
3. 重启,安装SP1.
4.改回原先设置。
posted @ 2008-02-29 13:32  伊凡  阅读(5484)  评论(4)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3