Применение зависимостей DLL - PullRequest
1 голос
/ 01 августа 2009

Фон

Мое решение состоит из двух проектов:

  1. Стандартное приложение Windows
  2. DLL, которую мое приложение не использует напрямую, а вставляет ее в целевой процесс

По сути, с точки зрения моего приложения, единственное требование, которому должна соответствовать DLL, - это наличие в рабочем каталоге моего приложения. Короче говоря, моя DLL не экспортирует функции, представляющие интерес для моего приложения.


Вопрос

Я хотел бы сильно соединить эти два двоичных файла. Какие у меня есть варианты, кроме ручного вызова LoadLibrary в моем приложении?

Если это слишком расплывчато, пожалуйста, дайте мне знать.


Редактировать

Поскольку, похоже, никто не "отвечает", я закончил тем, что сделал EFraim (см. Комментарии).

Я экспортировал фиктивную функцию из моей DLL и добавил сгенерированный файл DLL *.lib в качестве дополнительной зависимости в лист свойств компоновщика моего приложения. Теперь, во время выполнения, если DLL отсутствует, Windows выдает красивое сообщение об ошибке и прекращает выполнение. В качестве дополнительного бонуса образ DLL также блокируется после успешной инициализации IAT; это предотвращает такие вещи, как удаление пользователя.

1 Ответ

1 голос
/ 01 августа 2009

Если вы не ожидаете выпуска dll и exe по отдельности, вы можете добавить dll в свои ресурсы и распаковать его оттуда при запуске.

...