Я в полном замешательстве, поэтому то, что я ищу, это спекуляция.Или, может быть, кто-то на самом деле знает, что происходит.
У меня есть программа, написанная на VB6, в которой каждый шрифт элемента пользовательского интерфейса установлен на "MS Sans Serif, 7 point", чтобы создать английский / турецкий язык.локализация.Локализованные строки скомпилированы в EXE-файл VB6, и существует специальный код для горячего переключения между языками.
Программа обращается через COM к сборке .NET DLL, которая содержит спутниковую сборку "tr" сэто, так что это тоже в миксе.
С чистой тестовой системой, установленной с языком дисплея (НЕ настройкой не-unicode, другой, более общий) на "английский", программа работает без проблем,
Когда установлено турецкое значение, система .NET Interop возвращает «Ошибка времени выполнения -2147024894 (80070002)» - Ошибка автоматизации - Система не может найти указанный файл. "как только (оказывается) .NET DLL вызывается.(РЕДАКТИРОВАТЬ: Это может быть не .NET DLL. Я открыл инцидент с Microsoft для получения дополнительной информации из глубокой трассировки.)
Поскольку это тест чистой системы, не было установлено никаких диагностических инструментов, но трассировка с Sysinternals ProcMon не смогла показать мне что-то, что я мог бы распознать.
Возникает вопрос: это правильный инструмент для отслеживания моей неясной маленькой ошибки «файл не найден»?Есть ли лучшие инструменты?Что я должен искать?
Но, по сути, кто-нибудь знает, что изменится при изменении языка дисплея, что может привести к сбою EXE VB6 или Interop DLL?
(РЕДАКТИРОВАТЬ) - я проверил это на пяти разных языках отображения;только турецкий терпит неудачу.