2009-06-04 4 views
0

Я создал проект установки с помощью Visual Studio. Мне также нужны некоторые пользовательские действия - созданная DLL с Visual C++, и она работает отлично, но я не хочу включать в проект сценарии Visual C++. Так можно ли построить эту dll с каким-то другим компилятором C++?Нужно ли создавать специальные DLL-файлы для установщика MSI только с Visual Studio?

Я попытался сделать это сделать с Dev-C++, но при компиляции я получаю несколько сотен ошибок компиляции из файлов msi.h и msiquery.h

ответ

2

Вероятно, самым простым решением является связать библиотеки DLL против статического выполнения Lib.

+0

Спасибо, что решить мою проблему. – Keios

0

В обычном режиме DLL-файлы должны полагаться только на библиотеки DLL, которые уже находятся в системе перед установкой. Это означает, например, статически связывание ЭЛТ, как отмечает MSalters, но также относится к любой другой зависимости от сторонних библиотек.

Другим вариантом является ссылка на OS CRT, как объясняет Коби Кахане here.

0

Я создал обычную dll для моего проекта установки. Моя dll очень проста, регистрируя несколько сервисов, а не CLR или зависимую от третьей стороны lib. Статически связаны только с msi.lib.

Я установил обязательные требования к установке .net и windows для установки из проекта установки. Моя установка не работает на macines, у вас нет .net framework ..?

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

С уважением Amit