windows10更新独立安装程序遇到错误:0x80096002 求解决方案

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows10更新独立安装程序遇到错误:0x80096002 求解决方案相关的知识,希望对你有一定的参考价值。

windows10更新独立安装程序遇到错误:0x80096002 求解决方案

windows10更新独立安装程序遇到错误:0x80096002,是设置错误造成的,解决方法如下:

1、首先在电脑上按“Win”键,输入“services.msc”,回车;打开【服务】窗口。

2、找到“Windows Update”,查看状态是否已启动。

3、若未正常启动“Windows Update”服务,双击“Windows Update”;如图:若启动类型为“禁用”;建议修改为“手动”或“自动”。

4、启动类型修改为“手动”后,单击“应用”,单击“启动”。

5、成功启动 “Windows Update”服务,服务状态为:已启动;即可正常安装更新或程序。

参考技术A 这个问题可能是第三方软件干扰导致的,建议您使用干净启动。
干净启动:
1.在传统界面同时按下Win键+ R键,在搜索框中输入msconfig然后按回车键。
2.点击”服务”标签卡,选择”隐藏所有的微软服务”,然后点击全部禁用。(如果可选)
3.点击”启动”标签卡, 点击”打开任务管理器”,然后点击全部禁用并确定。
参考技术B 1、按下“Windows+X”>>计算机管理>>服务和应用程序>>服务;

2、找到Windows update和Background Intelligent Transfer Service服务,关闭。

3、删除路径 C:\Windows\SoftwareDistribution\DataStore和C:\Windows\SoftwareDistribution\Download下的所有文件。
4、重新开启Windows update和Background Intelligent Transfer Service服务。

5、再次尝试升级更新。

Windows 更新破坏了 .Net 4.x 中的结构构造

【中文标题】Windows 更新破坏了 .Net 4.x 中的结构构造【英文标题】:Windows update corrupts struct construction in .Net 4.x 【发布时间】:2017-09-14 16:02:08 【问题描述】:

自 14.9.2017 安装 Windows 更新以来,我们在发布版本中创建某些结构时遇到了问题。我注意到没有该更新的计算机上的编译代码按预期运行(“错误启动:1.1.1990 ...”),在安装了相关更新的计算机上,代码无法正常工作(“错误启动:1.1. 2000...”)。从 4.x 版开始的所有 .NET Framework 版本都会出现这种情况。

 class Program
    
        static void Main(string[] args)
        
            DateTime start1 = new DateTime(1990, 1, 1, 6, 0, 0);
            DateTime end1 = new DateTime(2000, 1, 1, 6, 0, 0);
            var r2 = new DateTimeRange(start1, end1);
            var r3 = new Range<DateTime>(r2.From, r2.To);
            Console.WriteLine($"Wrong start: r3.From, correct start: start1");
            Console.ReadLine();
        
    

   public struct DateTimeRange 
    
        private Range<DateTime> m_range;

        public DateTimeRange(DateTime from, DateTime to)
        
            m_range = new Range<DateTime>(from, to);
        


        public DateTime From
        
            get  return m_range.From; 
        

        public DateTime To
        
            get  return m_range.To; 
        
    

    public struct Range<T> where T : struct
    
        private T m_from;
        private T m_to;


        public Range(T from, T to)
        
            m_from = from;
            m_to = to;
        


        public T From
        
            get  return m_from; 
        

        public T To
        
            get  return m_to; 
        
    

【问题讨论】:

定义“工作错误”。有什么症状/错误? 在该日期安装了哪些 Windows 更新? 删除项目中的bin文件夹并重新编译。将创建新的 Bin 文件夹。编译器无法识别对 Framework 的依赖,因此编译器不会自动更新所有对象。所以删除 bin 将强制编译器完全重新编译项目。 这是否也会影响您的调试版本,如果是,您能否调试它以查看设置的日期? 它不影响调试构建。错误行为意味着 end1 被传播到 Range 类中的 From 属性,因此 r3.From 在示例中的年份值为 2000,而不是 1990(它也传播了不同的日期)。 Win10 上的更新版本是 KB4038782(可能是这个更新:blogs.msdn.microsoft.com/dotnet/2017/09/12/…),但它影响了今天安装任何更新的所有服务器和个人计算机。 【参考方案1】:

重启我的机器后我看到了。肯定会像更新中的错误一样嘎嘎作响。在我的机器上,我看到 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\corjit.dll,日期为 2017 年 9 月 6 日,CDT 上午 9:23,版本 4.7.2110.0。

该错误特定于 x64 抖动,并且仅在启用优化器的发布版本中出现。它符合我之前在 jitter 中看到的那种错误,过去大多数优化器错误都与代码处理结构有关。

不幸的是,我很难描述该错误,代码生成过于强大,而且我发现的解决方法乍一看似乎对机器代码没有足够的影响。但这是绕过这些优化器错误的典型方法:

using System.Runtime.CompilerServices;
...
    public DateTime From 
        [MethodImpl(MethodImplOptions.NoInlining)]
        get  return m_range.From; 
    

其他解决方法是强制使用 32 位模式或回退到 the legacy jitter。请report the bug 以便他们修复它,如果您不想花时间,请告诉我,我会处理它。

【讨论】:

感谢您的建议和帮助,我们报告了这个问题。提到的属性是有效的,但我们希望它会得到普遍解决。

以上是关于windows10更新独立安装程序遇到错误:0x80096002 求解决方案的主要内容,如果未能解决你的问题,请参考以下文章

windows 10 服务组件安装出现0x80070422错误解决方法

win7 32位 windows已找到设备的驱动程序软件,但在试图安装它时遇到错误

JDK-8u74-windows-i586安装提示以下应用程序正在使用需要由此安装程序更新的文件。怎么回事?

电脑安装win10显示0x80070017–0x90002错误代码是怎么回事?

Win10电脑玩着玩着就会收集信息错误,重启之后还可以玩,过一会就又说收集错误?

win10更新 ,使用window更新解决问题, 结果说检测到可能的更新数据库错误怎么回事?