Я создал проект библиотеки классов на С# и хочу выполнить выходную dll этого проекта в пользовательском действии моего проекта Basic MSI.
Как я могу выполнить DLL в пользовательском действии в базовом проекте msi installshield?
comment
Я нашел способ создать пользовательское действие «Новая стандартная DLL», но все равно выдает ошибку, например «Не удается найти точку входа функции «имя моей функции», убедитесь, что она экспортирована. кто-нибудь, пожалуйста, предложите решение для этого...!!
- person Hardik Kothari   schedule 17.10.2011
Ответы (2)
Всем спасибо,
Я, конечно, нашел решение. На самом деле ошибка заключалась в том, что я выполнял пользовательское действие New Standard DLL для выполнения C # DLL, но я выбираю пользовательское действие Managed Code, и я могу выполнить свою DLL без каких-либо проблем...
person
Hardik Kothari
schedule
18.10.2011
Если вы используете C#, вы можете попробовать создать действие класса установщика. Вот руководство, которое может вам помочь: http://devcity.net/Articles/339/1/article.aspx
Если вы хотите использовать стандартное действие установщика Windows, вам потребуется библиотека DLL win32: http://www.codeproject.com/KB/install/msicustomaction.aspx
person
cosmin
schedule
17.10.2011
Спасибо, Космин, но, пожалуйста, не могли бы вы помочь мне с ошибкой, с которой я столкнулся, как указано в комментарии выше..? я определил последовательность выполнения для After Installation Finalized, но я сомневаюсь, что DLL не загружена в этот момент установки....
- person Hardik Kothari; 17.10.2011
Ошибка предполагает, что ваша DLL не поддерживается в качестве настраиваемого действия. Попробуйте создать класс установщика или win32 DLL.
- person cosmin; 17.10.2011
То есть вы хотите сказать, что DLL, созданная на C#, не поддерживается в пользовательском действии Installshield...??
- person Hardik Kothari; 17.10.2011
Да, вы не можете использовать любую DLL в качестве пользовательского действия. Это может быть установщик, класс, стандартная DLL (обычно C++) или DLL win32.
- person cosmin; 17.10.2011
ооо .... вы можете предложить мне другой способ для этого .. ?? я имею в виду, как я могу создать стандартную DLL или что такое MSI DLL или как я могу использовать MSI DLL..!!
- person Hardik Kothari; 17.10.2011
Мой пост включает два предложения, которые поддерживаются пакетами MSI. Вы можете либо создать действие класса установщика, либо DLL win32. Это параметры для пользовательского действия DLL.
- person cosmin; 17.10.2011
Хорошо... я добавил класс установщика в свою DLL, что мне теперь делать...??
- person Hardik Kothari; 17.10.2011
Выберите компонент DLL и задайте для атрибута класса установщика .NET значение «Да»: kb.flexerasoftware. com/doc/Helpnet/installshield12helplib/ kb.flexerasoftware.com/ doc/Helpnet/installshield12helplib/
- person cosmin; 17.10.2011