2010-12-12 4 views
0

Я написал программу, которая отлично работает при установке на моем компьютере разработки, но когда я использую мастер в «Build-> Publish» и устанавливаю программное обеспечение на другой компьютер он жалуется, что не может найти DLL, с которой я связан. DLL, происходит от программируемой платы, что я ссылаюсь, поэтому у меня нет доступа к исходному коду, и я включил его в своем проекте, используя следующие строки:включая связанную DLL в пакетах установщика - Visual Studio 2010

Declare Function InitMbee Lib "C:\Users\Martin & Celina\Desktop\VBmini\mb.dll"() As Boolean 
Declare Function SetOutputs Lib "C:\Users\Martin & Celina\Desktop\VBmini\mb.dll" (ByVal outputs As Integer) As Boolean 

Однако я «Я не включил DLL каким-либо другим способом, поэтому мне интересно, нужно ли мне добавить его в список элементов, которые необходимо включить в программу установки, или если я объявил его так, как вам нужно быть в одном месте для всех установок.

Любая помощь была бы принята с благодарностью.

+0

Что вы ожидали, когда вы жестко закодировали путь, который включает в себя ваш собственный профиль? –

ответ

2

IDE не достаточно умен, чтобы анализировать ваш источник и видеть, что вы вызываете DLL. В своем обычном проекте Project + Добавить существующий элемент и выберите эту DLL. Выберите его в окне обозревателя решений. Окно «Свойства», установите «Создать действие» в «Содержимое». Это гарантирует, что среда IDE знает, что она также должна быть опубликована.

Установите Копировать в выходной каталог на «Копировать, если новый». Это гарантирует, что DLL окажется в нужном месте, в той же папке, что и EXE. Теперь вернитесь к операторам Declare и удалите каталог из имени файла. Это не сработает, на целевой машине не будет Celina.

+0

Спасибо, отлично работает. –

Смежные вопросы