Коротше, тиждень задалася не найкраща: якимось чином у мене почали сипатися помилки “Application error kernelbase.dll” (ім'я додатки не несе важливості)
Имя сбойного приложения: Connect.Service.ContentService.exe, версия: 3.0.84.0, отметка времени: 0x4f344200 Имя сбойного модуля: KERNELBASE.dll, версия: 6.1.7601.18798, отметка времени 0x5507b485 Код исключения: 0xe0434352 Смещение ошибки: 0x0000c42d Идентификатор сбойного процесса: 0x8e8 Время запуска сбойного приложения: 0x01d079586563378c Путь сбойного приложения: C:\Program Files (x86)\Autodesk\Content Service\Connect.Service.ContentService.exe Путь сбойного модуля: C:\Windows\syswow64\KERNELBASE.dll Код отчета: a327902f-e54b-11e4-b131-240a649fc3bc
Чого я тільки не пробував! Радили перевстановити повністю .NET – спочатку знести, а потім встановити, але в мене не спрацювало. У загальному, я опишу цей спосіб, оскільки він є досить простим на відміну від того, який застосував я.
Спосіб 1
- Додаємо цю сторінку в закладки і перезавантажуємося в безпечний режим з підтримкою мережевих драйверів (Ще спосіб).
- Відкриваємо знову сторінку мого крутого блогу і качаємо .NET Framework Cleanup Tool c мого сервера або з MSDN (на випадок, якщо ссикло)
- Запускаємо утиліту і тикаємо на Cleanup Now
- Йдемо на кухню і робимо чай або можна відмінно засісти в туалеті з телефоном в руках і читати дурні паблік в вк і т.д.
- Повертаємося – якщо ще не віддалилося – йдемо назад в поштовхом і дочитувати паблік. Повторюємо, поки не віддалиться.
- Віддалилося? ОК. Перезавантажуємося в звичайний режим.
- Тепер завантажуємо .NET Framework v4.0 і встановлюємо, схрестивши пальці, тому що цей гей дуже любить випендрюватися
- Перевіряємо – чи всі ок з додатками, які не працювали і чи є в логах помилки. Якщо все в цілому ОК, можна буде оновитися до .NET Framework 4.5, але не в якому разі не ставити відразу 4.5! Спочатку треба поставити версію 4.
Спосіб 2: Якщо спосіб 1 не допоміг
- Можна виконати перший спосіб і залишити .NET у встановленому стані. Далі потрібно на зламаній машині встановити всі оновлення, стосуються .NET (можна просто встановити всі обов'язкові поновлення)
- Попереджаю – спосіб тільки для джедаїв, бо сила дже-дай – це сила всесвіту. У загальному, тоскний спосіб.
- Якщо у вас є другий комп або ноутбук, на якому теж встановлена така ж система Windows з такою ж архітектурою (32 або 64 біт), то третій пунк можна пропустити. А якщо у вас встановлена Windows 7 x64, то можна спробувати завантажити мій підготовлений пакет і перейти до кроку 7
- Викачуємо VirtualBox або VMWare Player і встановлюємо на машину такий же Windows, який стоїть на зламаній тачці.
- Ставимо оновлення для новий Windows так, щоб вони збігалися з оновленнями на локальній тачці, хоча в цілому можна просто на новій винде поставити ВСЕ поновлення (хіба що окрім рекомендованих).
- Після установки оновлень перезавантажуємо віртуальну машину, йдемо в папку C:\Windows Microsoft.NET і архівуємо її в RAR або ZIP або просто копіюємо папку собі на локальну машину, наприклад в Мої документи recover, щоб вийшло Мої документи recover Microsoft.NET.
- Розпаковуємо або копіюємо БЕЗ ЗАМІНИ всі файли з папки recover Microsoft.NET в папку C:\Windows Microsoft.NET і перезавантажуємо комп.
- Все має тепер працювати, ну а якщо вже не працює – доведеться переставляти систему, я поняття не маю, що ще можна зробити в цьому випадку.
Опишу свою конкретну проблему: у мене вилітав часто Skype (може, ще й не перестав вилітати – хто його знає!) і не відкривався GEForce Experience – видавав мені помилку “Виявлена помилка. Додаток буде закрито” і ось таку ось єресь я знайшов в логах
Не удается загрузить один или более запрошенных типов. Обратитесь к свойству LoaderExceptions для получения дополнительных сведений. System.Reflection.ReflectionTypeLoadException в System.Reflection.RuntimeModule.GetTypes(RuntimeModule module) в System.Reflection.RuntimeModule.GetTypes() в System.Reflection.Assembly.GetTypes() в System.ComponentModel.Composition.Hosting.AssemblyCatalog.get_InnerCatalog() в System.ComponentModel.Composition.Hosting.AssemblyCatalog.GetEnumerator() в System.Linq.Enumerable.<SelectManyIterator>d__14`2.MoveNext() в Microsoft.Practices.Prism.MefExtensions.DefaultPrismServiceRegistrar.GetRequiredPrismPartsToRegister(AggregateCatalog aggregateCatalog) в Microsoft.Practices.Prism.MefExtensions.DefaultPrismServiceRegistrar.RegisterRequiredPrismServicesIfMissing(AggregateCatalog aggregateCatalog) в Microsoft.Practices.Prism.MefExtensions.MefBootstrapper.RegisterDefaultTypesIfMissing() в Microsoft.Practices.Prism.MefExtensions.MefBootstrapper.Run(Boolean runWithDefaultConfiguration) в Flame.Core.FlameBootstrapper`3.Run(Boolean runWithDefaultConfiguration) в Flame.Core.FlameApplicationGovernor`4.RunOnce() в Flame.Core.FlameApplicationGovernor`4.Application_Startup(Object sender, StartupEventArgs e) в System.Windows.Application.OnStartup(StartupEventArgs e) в GFEClient.App.OnStartup(StartupEventArgs e) в System.Windows.Application.<.ctor>b__1(Object unused) в System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) в MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
Мені допоміг саме другий спосіб. Перший не давав особливо нічого за два дні мук, в підсумку вирішилося за 10 секунд.
PS: Окреме спасибі Nvidia за те, що додали в свій додаток Список, які допомогли мені відстежити помилку. Якщо ви розробник, то пам'ятайте – Список – це добре! Чим більше логів – тим більше логів.
4 Responses to Позбавляємося від Application error kernelbase.dll і лікуємо .NET Framework