Невозможно найти файл miinstallutil dll mapinfo

Обновлено: 06.07.2024

Когда я запускаю свое приложение в VS, все работает нормально. Однако всякий раз, когда я публикую его (с помощью ClickOnce) и пытаюсь запустить приложение, оно вылетает со следующей ошибкой: System.DllNotFoundException: не удалось загрузить DLL 'SQLite.Interop.dll': указанный модуль не найден (исключение из HRESULT: 0x8007007E)

После некоторого исследования я нашел эту dll в папке Debug и скопировал ее в папку, где создается версия моей программы ".exe" (после публикации и выполнения "setup.exe"). Таким образом, приложение работает нормально.

Но я не очень доволен этим решением, так как оно кажется действительно грязным. Я не хочу, чтобы будущим пользователям приходилось делать это вручную при установке моего приложения!

Поэтому у меня вопрос: что я могу сделать, чтобы эта dll была установлена ​​вместе с моей программой?

Примечание. Я попробовал первый ответ в этом посте: невозможно загрузить dll sqlite interop dll WPF Но, похоже, я не работал на меня.

Вероятно, вам нужно включить папки x86 и x64 в другую DLL SQLite.

Изменить: я добавил соответствующую информацию ниже на случай, если указанная выше ссылка когда-либо умрет / изменится.

Если на машинах разработчика и клиента могут быть разные архитектуры процессоров, может потребоваться более одного двоичного пакета. В этой ситуации настоятельно рекомендуется использовать функцию предварительной загрузки собственной библиотеки. Он доступен с версии 1.0.80.0 и включен по умолчанию. Чтобы воспользоваться преимуществами этой функции, отдельные управляемые сборки и сборки взаимодействия должны использоваться с развертыванием XCOPY (т. Е. Эта функция не поддерживается сборкой смешанного режима или когда сборка развертывается в глобальном кэше сборок), в результате чего развертывание приложения, которое выглядит примерно так:

  • bin \ App.exe (необязательная, исполняемая сборка только управляемого приложения)
  • bin \ App.dll (необязательная сборка библиотеки только управляемого приложения)
  • bin \ System.Data.SQLite.dll (обязательная, только управляемая сборка ядра)
  • bin \ System.Data.SQLite.Linq.dll (необязательная сборка LINQ только для управления)
  • bin \ System.Data.SQLite.EF6.dll (необязательная, только управляемая сборка EF6)
  • bin \ x86 \ SQLite.Interop.dll (требуется, собственная сборка взаимодействия x86)
  • bin \ x64 \ SQLite.Interop.dll (требуется, собственная сборка взаимодействия x64)

Строка «bin» выше представляет каталог, в котором двоичные файлы приложения должны быть развернуты на целевой машине. При включенной функции предварительной загрузки собственной библиотеки и развертывании приложения, показанном выше, управляемая сборка System.Data.SQLite попытается автоматически определить архитектуру процессора текущего процесса и предварительно загрузить соответствующую собственную библиотеку.

Я также столкнулся с аналогичной проблемой в моей среде Visual Studio 2017 и NET Framework 4.5, обстоятельства таковы:

Я сравнил две среды и обнаружил, что файл DLL «SQLite.Interop.dll» не был опубликован на клиентском компьютере, что мы видим на следующем рисунке.

Итак, мое решение - добавить эти две библиотеки DLL в проект, а затем их можно будет опубликовать на клиентском компьютере с помощью ClickOnce.

(Примечание: выбранная версия DLL должна быть такой же, как версия NET Framework в вашей среде.)

Не храните dll самостоятельно и не копируйте ее в / bin вручную, она потеряет контроль над обновлением версии и зависимостью.

TL; DR;

для старого файла csproj:

для нового файла csproj: (т.е. проекты, начинающиеся с <Project Sdk="Microsoft.NET.Sdk.*"> )

Если это устанавливаемый файл. то есть, если вы создаете файл установки, вам необходимо вручную добавить dll в основной выходной файл.

Перейдите в свойства проекта установки и в настройках конфигурации выберите необходимые компоненты SQLite, выберите (Флажок) установить его из местоположения проекта.

Посмотрите, решит ли это вашу проблему.

«Примечание: я попробовал первый ответ этого поста: не удалось загрузить dll sqlite interop dll WPF, но, похоже, у меня не получилось».

Я тоже пробовал это, и, наконец, он заработал. Однако важно следующее:

  1. Вставьте sqlite.interop.dll как существующий элемент в корень проекта, который вы собираетесь построить.
  2. В свойствах этого файла убедитесь, что его обработка сборки является «содержимым» (а не встроенным ресурсом, как предлагается) и, конечно же, всегда копируется в выходной каталог.

Надеюсь, что это поможет победить эту надоедливую ошибку.

На SQlite.Interop нельзя ссылаться, вам необходимо:

  1. В вашем проекте VS добавьте существующий файл: Sqlite.Interop.dll actual расположение: \ bin \ Debug \ x86 или \ bin \ Debug \ x64

  2. Выберите свойства и установите действие компиляции в "Содержимое" и скопируйте в выходной каталог = "Всегда копировать"

  3. Восстановить

Пакет Nuget System.Data.SQLite включает папку Build с целевым файлом, который будет копировать эти DLL взаимодействия. Чтобы решить эту проблему, мы должны были сообщить проекту, который мы упаковываем в наш собственный nuget, чтобы НЕ исключать эту цель / папку сборки.

Наш проект (тот, который мы упаковываем, а затем используем в другом месте) должен иметь PrivateAssets = "None" или PrivateAssets = "Analyzers", если вы хотите убедиться, что в него не включены анализаторы.

Забавный баг InstallShield'a. Возникает тогда, когда системе недостаточно прав для осуществления действия. Из решение я могу посоветовать следующее.

1) Запустить от имени администратора САМ инсталлятор. По идее он будет находится в "папка с mapinfo/install/MI_PRO". На инсталлере правой кнопкой - запустить от имени администратора. Если повезёт - всё сработает.

2) Не сработало. Тогда попробуем принудительно сказать инсталшилду, что устанавливать софт может любой. Для этого:

2.1. В Пуск-Выполнить набрать "dcomcnfg.exe" (без кавычек)
2.2. Службы компонентов - Компьютеры - Мой компьютер - Настройка DCOM.
2.3 Находите драйверы (или драйверы!) инсталшилда. Они должны называться InstallShield InstallDriver
2.4. Правой кнопкой - Свойства. Выбрать вкладку безопасность.
2.5 У всех трёх настроек (запуск, доступ и возможность менять настройки) нужно нажать кнопку Изменить, далее Настроить, затем добавить (если его нет в списке) пользователя с именем "Все" (без кавычек). После чего нажать ок.
2.6. Проделать это для всех настроек всех драйверов. Таким образом мы принудительно "всем" юзерам раздали полный доступ.

По идее второй способ должен прокатить. Наверное ))

з.ы. У меня стоят 7.5 и 8.5 и прекрасно уживаются. Win7 x64.

Репутация: 494 Ваше звание: хрюкало Откуда: Санкт-Петербург Контактная информация: тогда наверное после установки мапы надо все оттрубить назад, а то вирусяки набегут
а почему не катит актуальная версия? nadiopt писал(а): очень мохнатые, возможно они не умеют под семеркой становиться А какую тогда версию (не мохнатую) попробовать установить?

Slinger писал(а): Забавный баг InstallShield'a. Возникает тогда, когда системе недостаточно прав для осуществления действия. Из решение я могу посоветовать следующее.

1) Запустить от имени администратора САМ инсталлятор. По идее он будет находится в "папка с mapinfo/install/MI_PRO". На инсталлере правой кнопкой - запустить от имени администратора. Если повезёт - всё сработает.

2) Не сработало. Тогда попробуем принудительно сказать инсталшилду, что устанавливать софт может любой. Для этого:

Interop.MapInfo.dll это файл библиотеки динамических ссылок, который является частью разработанный Синий мрамор География, Версия программного обеспечения: обычно о по размеру, но версия у вас может отличаться. Файлы DLL - это формат файлов для динамических библиотек, который используется для хранения нескольких кодов и процедур для программ Windows. Файлы DLL были созданы, чтобы позволить нескольким программам использовать их информацию одновременно, тем самым сохраняя память. Это также позволяет пользователю изменять кодировку нескольких приложений одновременно, не изменяя сами приложения. Библиотеки DLL могут быть преобразованы в статические библиотеки с помощью дизассемблирования MSIL или DLL в Lib 3.00. Формат файла .exe файлов аналогичен формату DLL. Файлы DLL, и оба типа файлов содержат код, данные и ресурсы.

Наиболее важные факты о Interop.MapInfo.dll:

Interop.MapInfo.dll безопасный, или это вирус или вредоносное ПО?

Ответ - нет, сам по себе Interop.MapInfo.dll не должен повредить ваш компьютер.

В отличие от исполняемых программ, таких как программы с расширением EXE, файлы DLL не могут быть выполнены напрямую, но должны вызываться другим кодом, который уже выполнен. Тем не менее, DLL имеют тот же формат, что и EXE, и некоторые могут даже использовать расширение .EXE. В то время как большинство динамических библиотек заканчиваются расширением .DLL, другие могут использовать .OCX, .CPL или .DRV.

Файлы DLL полезны, потому что они позволяют программе разделять свои различные компоненты на отдельные модули, которые затем могут быть добавлены или удалены для включения или исключения определенных функций. Если программное обеспечение работает таким образом с библиотеками DLL, программа может использовать меньше памяти, поскольку ей не нужно загружать все одновременно.

С другой стороны, если файл .dll прикреплен к исполняемому файлу, который предназначен для повреждения вашего компьютера, возможно, это опасно. Мы рекомендуем вам запустить сканирование вашей системы с инструмент, подобный этому это может помочь выявить любые проблемы, которые могут существовать.

Вот почему обычно, когда вы видите новый файл .dll на вашем компьютере, где-то будет файл .exe.

Убедитесь, что вы сканируете оба вместе, чтобы вам не пришлось беспокоиться о заражении вашего компьютера чем-то плохим.

Могу ли я удалить или удалить Interop.MapInfo.dll?


Согласно различным источникам онлайн, 2% людей удаляют этот файл, поэтому он может быть безвредным, но рекомендуется проверить надежность этого исполняемого файла самостоятельно, чтобы определить, является ли он безопасным или вирусом.

Программные программы хранят файлы DLL в одной или нескольких папках во время установки. Эти файлы содержат код, который объясняет работу программ.

Если вы планируете удалить Interop.MapInfo.dll, лучше оставить его в покое. Причина этой логики заключается в том, что некоторые программы совместно используют эти файлы, поэтому удаление определенного файла DLL может непреднамеренно вызвать проблемы. Это означает, что удаление Interop.MapInfo.dll может привести к прекращению работы одной или нескольких других программ или только в ограниченной степени.

Некоторые программы также могут устанавливать файлы DLL в несколько папок вне папки Program Files (где установлено большинство программ). Поиск этих DLL-файлов может быть очень трудным, а удаление их может быть опасным.

Как уже упоминалось выше, если вы не уверены, что Interop.MapInfo.dll используется другой программой, мы рекомендуем оставить его в покое. Однако, если вам нужно удалить файл, мы рекомендуем сначала сделать копию. Если после этого у вас возникнут проблемы с другой программой, требующей использования недавно удаленного DLL-файла, вы можете восстановить файл из резервной копии.


  • Не удалось запустить приложение, так как Interop.MapInfo.dll не был найден. Переустановка приложения может решить проблему.
  • Interop.MapInfo.dll не найден
  • Interop.MapInfo.dll отсутствует
  • Обязательная DLL Interop.MapInfo.dll не найдена
  • Приложение или Interop.MapInfo.dll не является допустимым образом Windows
  • Interop.MapInfo.dll отсутствует или поврежден
  • Не удается найти Interop.MapInfo.dll
  • Не удается запустить Interop.MapInfo.dll. Отсутствует необходимый компонент: Interop.MapInfo.dll. Пожалуйста, установите Interop.MapInfo.dll снова.

Обновлено ноябрь 2021 г .:

Мы рекомендуем вам попробовать этот новый инструмент. Он исправляет множество компьютерных ошибок, а также защищает от таких вещей, как потеря файлов, вредоносное ПО, сбои оборудования и оптимизирует ваш компьютер для максимальной производительности. Это исправило наш компьютер быстрее, чем делать это вручную:

скачать


(опциональное предложение для Reimage - Cайт | Лицензионное соглашение | Политика конфиденциальности | Удалить)

Если Interop.MapInfo.dll отсутствует или поврежден, это может повлиять на многие приложения, включая операционную систему, что может помешать вам выполнить вашу работу или использовать критические функции в критически важных программах.

Запустить SFC

SFC для поврежденной DLL

Самый безопасный способ восстановить отсутствующий или поврежденный файл Interop.MapInfo.dll, вызванный вашей операционной системой Windows, - запустить встроенную проверку системных файлов, которая заменяет отсутствующие или поврежденные системные файлы.

Для этого щелкните правой кнопкой мыши кнопку «Пуск» на компьютере Windows 10, чтобы открыть меню WinX, и щелкните ссылку «Командная строка (администратор)».

В окне CMD скопируйте следующую команду и нажмите Enter:

Сканирование может занять 10 минут, и если оно успешно завершено, вы должны перезагрузить компьютер. Запуск sfc / scannow в безопасном режиме или при запуске может дать лучшие результаты.

Обновить драйверы

Обновление-драйверы

Иногда, при использовании аппаратного обеспечения, такого как принтер, вы получаете отсутствующую ошибку файла Interop.MapInfo.dll. Эта ошибка может быть связана с более старой версией драйвера, который не совместим с обновленным файлом .dll, поэтому принтер ищет неправильный файл .dll и не может его найти.

Обновите драйверы вашего устройства, чтобы увидеть, решит ли это проблему.

Восстановление при загрузке

инструмент для восстановления при запуске

Восстановление при загрузке - это еще один способ восстановить все DLL-файлы, такие как Interop.MapInfo.dll, до их первоначального рабочего состояния. Однако это исправление может вызвать проблемы в других программах, особенно если программа обновила файлы DLL.

заменить отсутствующие файлы DLL

В большинстве учебников и руководств авторы предупреждают своих читателей, чтобы они не загружали недостающие файлы Interop.MapInfo.dll со случайных и непригодных для использования веб-сайтов, которые могут предоставить им вредоносное ПО. Это не без причины, конечно. Правда состоит в том, что в Интернете полно сайтов, которые обещают пользователям решить их проблемы, открывая определенные приложения или программы как можно скорее. К сожалению, очень немногие могут действительно оправдать ваши ожидания.

Хотя эта проблема встречается реже, потенциально гораздо более серьезная проблема заключается в том, что библиотеки DLL, которые вы загружаете из источников, отличных от поставщика, иногда могут быть загружены вирусами или другими вредоносными программами, которые могут заразить ваш компьютер. Это особенно верно для веб-сайтов, которые не слишком заботятся о том, откуда берутся их файлы. И это не так, как будто эти сайты сделают что-нибудь, чтобы рассказать вам о своих источниках высокого риска.

Часть 1 , Что такое DLL?

DLL, что означает Dynamic Link Library, представляет собой файл, в котором хранятся инструкции, которые могут вызывать программы для выполнения определенных задач, включая встроенные и сторонние программы. На самом деле, несколько программ могут совместно использовать возможности в одном файле DLL и даже делать это одновременно. В отличие от клиентского файла программы, который заканчивается расширением EXE, файлы DLL не могут быть открыты или прочитаны напрямую. И они хранят молчание на вашем жестком диске, пока не будут вызваны определенным кодом, который работает. Другими словами, ошибка DLL может привести к повреждению программ и некоторых функций в Windows.

Большинство файлов DLL заканчиваются расширением .DLL; другие могут использовать .EXE, .OCX, .CPL или .DRV.

DDL файл

Часть 2 , Распространенные ошибки DLL

1. D3dx9_43.dll (D3dx9_43.dll не найден). Ошибки D3dx9_43.dll вызваны проблемами с Microsoft DirectX.

3. Xinput1_3.dll (Xinput1_3.dll отсутствует). Эта ошибка связана с Microsoft DirectX, особенно с играми и продвинутыми графическими программами.

4. Hal.dll (отсутствует или поврежден Hal.dll). Эта ошибка обычно появляется вскоре после первого запуска компьютера.

5. Kernel32.dll (ошибка неверной страницы в модуле Kernel32.dll). Kernel32.dll способен защитить пространство памяти Windows и не дать другим программам использовать то же пространство.

6. Ntdll.dll (Неизвестная трудная ошибка Ntdll.dll). Ошибка ntdll DLL обычно вызвана повреждением файла ntdll, драйверами оборудования и другими проблемами.

7. Ceber атакует ваш компьютер. (Использование Превосходный.)

Ошибка

Часть 3 , Исправлена ​​ошибка отсутствия файлов DLL

Сканирование SFC - это встроенная функция Windows, целью которой является сканирование системных файлов и восстановление любых поврежденных или удаленных.

Шаг 1 : Перейдите в меню «Пуск» и запустите «Командную строку от имени администратора».

Шаг 2 : Введите «sfc / scannow» и нажмите клавишу «Enter», чтобы запустить процесс сканирования. После этого система должна автоматически восстановить отсутствующие файлы DLL.

Sfc

Другой метод - DISM, инструмент для управления образами и обслуживанием.

Шаг 1 : Также запустите CMD и выполните команду «DISM / Online / Cleanup-Image / RestoreHealth».

Шаг 2 : 10 минут спустя, когда вы обнаружите, что процесс завершен, вы можете перезагрузить компьютер. Ошибка DLL должна исчезнуть.

Dism

Метод 3: переустановите программы

Как упоминалось ранее, файлы DLL связаны с программами. Если ошибка появляется при открытии определенной программы, например, Internet Explorer или стороннего приложения, обновите программу или переустановите ее. Обновление и установка могут содержать отсутствующий файл DLL.

Это решение также поможет вам восстановить потерянный файли другие системные файлы легко. Конечно, вы потеряете DLL-файлы на диске C.

Метод 4: скачать определенный файл DLL онлайн

Если вы попробовали описанные выше методы и проблема не устранена, вы можете загрузить определенный файл DLL онлайн.

Метод 5: исправление отсутствующих файлов DLL путем сброса ПК с Windows

Шаг 1 : Откройте меню «Пуск», перейдите в «Настройки»> «Обновление и безопасность» и выберите «Восстановление» на левой панели.

ПК для отдыха

Шаг 1 : При возникновении ошибки DLL перезагрузите компьютер и продолжайте нажимать F8 до появления логотипа Windows. Затем выберите «Безопасный режим с командной строкой» в меню загрузки.

Шаг 2 : Выполните команду ниже, когда появится окно командной строки: «% systemroot% \ system32 \ restore \ rstrui.exe».

Шаг 3 : Затем следуйте инструкциям на экране, чтобы восстановить ваш компьютер и отсутствующие файлы DLL.

Часть 4 , Как восстановить отсутствующие файлы DLL

Если вы просто хотите быстро восстановить отсутствующие DLL-файлы, рекомендуем вам попробовать Apeaksoft Восстановление данных, Его основные функции:

1. Восстановите DLL-файлы за один клик, чтобы даже новички могли понять это за несколько секунд.

2. Восстановление отсутствующих DLL-файлов в различных ситуациях, например, файл был случайно удален, поврежден, поврежден, подвержен воздействию вирусов и т. Д.

3. Поддержка различных типов данных и форматов, включая DLL, EXE, OCX, CPL, DRV и т. Д.

4. Восстановите удаленные файлы DLL в оригинальном формате и качестве.

5. Посмотрите на все потерянные файлы DLL, упорядоченные по форматам, и решите восстановить все из них или несколько конкретных.

6. Помимо файлов DLL, вы также можете восстановить музыку, видео, фотографии, документы и другие данные с вашего компьютера.

7. Кроме того, восстановление данных доступно для Windows 10 / 8.1 / 8 / Vista / XP.

Короче говоря, это лучший вариант для быстрого восстановления отсутствующих файлов DLL и избавления от проблем, связанных с файлами DLL.

Как восстановить недостающие файлы DLL в один клик

Шаг 1. Сканирование всей системы для поиска файлов DLL

Перейдите в область типа данных, выберите опцию «Другие». Затем перейдите в область расположения и выберите, где изначально находился файл DLL, например, «Локальный диск». Восстановление данных будет работать, как только вы нажмете кнопку «Сканировать».

Scan

Шаг 2. Предварительный просмотр отсутствующих файлов DLL перед восстановлением

Когда появится окно результатов сканирования, нажмите «Другие» с левой стороны и откройте папки с названием «DLL» на правой панели для предварительного просмотра удаленных файлов DLL. Кроме того, функция «Фильтр» на верхней ленте позволяет быстро находить файл по ключевым словам. Если вы не можете найти соответствующий файл DLL, нажмите кнопку «Глубокое сканирование», чтобы выполнить глубокое сканирование системы.

предварительный просмотр

Шаг 3. Восстановите отсутствующий файл DLL в один клик

Наконец, выберите потерянный файл DLL в окне результатов и нажмите кнопку «Восстановить», чтобы восстановить его до исходного состояния.

Recover

Заключение

Читайте также: