Нужно ли создавать настраиваемые действия dll-s для установщика MSI только в Visual Studio? - PullRequest
0 голосов
/ 04 июня 2009

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

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

Ответы [ 4 ]

2 голосов
/ 04 июня 2009

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

0 голосов
/ 17 июля 2011

здесь вы можете найти краткий пример использования C ++ DLL для пользовательских действий:

http://www.simple -talk.com / DotNet / видео-студия / видео-студии настройки --- проекты-и-таможенно-действия /

0 голосов
/ 21 июля 2009

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

Я удалил обязательные требования программы установки .net и windows из проекта установки. Моя установка завершается неудачно на компьютерах без .net Framework ..?

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

С уважением Amit

0 голосов
/ 04 июня 2009

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

Другой вариант - связать с ОС CRT, как объясняет Коби Кахане здесь .

...