sqlceme40.dll за что отвечает?

Сразу скажу, что я не программист, но кое-что в этом понимаю. Есть программа, не моя, авторская, которую наша фирма использует для своих целях. После обновления призошла проблема: после рестарта программа повторно не запускается. Повторный запуск возможен, если принудительно заменить sqlceme40.dll в папке с программой. Как я понимаю, это файл SQL Server Compact Edition 4 версии. Так как у нас нет исходного кода, не могу сказать что присходит. Через dnSpy-net-win32 сделал дебаг программы. Прилагаю часть где возникает ошибка:

    // Token: 0x06000400 RID: 1024 RVA: 0x000181B0 File Offset: 0x000163B0
    [SecurityCritical]
    [SecurityTreatAsSafe]
    public static bool IsValidBinary(string filename)
    {
        bool flag = HashProvider.MatchHash(filename);
        if (!flag)
        {
            throw SqlCeException.CreateException(string.Format(Res.GetString("SQLCE_NativeBinaryIsNotProper"), "sqlceme40.dll"));
        }
        return flag;
    }

    // Token: 0x06000401 RID: 1025 RVA: 0x000181E4 File Offset: 0x000163E4
    private static void ThrowIfNativeLibraryNotLoaded()
    {
        if (NativeMethods.NativeMethodsHelper == null)
        {
            throw SqlCeException.CreateException(Res.GetString("SQLCE_NativeEngineNotLoaded"));
        }
    }

именно в строке throw SqlCeException.CreateException(Res.GetString("SQLCE_NativeEngineNotLoaded")); присходит ошибка.

Извиняюсь, если возможно не очень конкретно объяснил проблему. Программисты отказываюся верить, что проблемма программная.

Пока я написал скрипт, который заменяет sqlceme40.dll до запуска программы, это дало возможность использовать программу. Заранее спасибо!


Ответы (0 шт):