繁体   English   中英

是否必须仅使用Visual Studio创建用于msi安装程序的自定义操作dll-s?

[英]Does custom action dll-s for msi installer have to be created with Visual Studio only?

我已经用Visual Studio创建了安装项目。 我还需要一些自定义操作-使用Visual c ++创建DLL,并且效果很好,但我不想将Visual c ++运行时文件包含到我的项目中。 那么有可能用其他c ++编译器来构建此dll吗?

我试图用Dev-c ++做到这一点,但是在编译时,我从文件msi.h和msiquery.h中得到了数百个编译错误

可能最简单的解决方案是将DLL与静态运行时库链接。

我为安装项目制作了一个自定义dll。 我的dll非常简单,注册了很少的服务,而不是CLR或任何依赖于第三方的lib。 仅与msi.lib静态链接。

我从安装项目中删除了.net和Windows安装程序的先决条件。 在没有.net框架的机器上,我的设置失败。

由于我没有任何依赖于.net的代码,因此应该采取什么解决方案。 我不希望用户先下载框架进行安装。

问候阿米特

在这里,您可以找到一些使用C ++ DLL进行自定义操作的简短示例:

http://www.simple-talk.com/dotnet/visual-studio/visual-studio-setup---projects-and-custom-actions/

通常,自定义操作DLL仅应依赖于安装之前系统中已存在的DLL。 如MSalters所述,这意味着,例如,静态链接CRT,但也适用于对第三方库的任何其他依赖关系。

正如Koby Kahane 在此处说明的那样,另一个选择是与OS CRT链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM