0

我已经用 Visual Studio 创建了安装项目。我还需要一些自定义操作 - 使用 Visual c++ 创建 DLL,它工作得很好,但我不想在我的项目中包含 Visual c++ 运行时文件。那么是否可以使用其他一些 c++ 编译器来构建这个 dll?

我曾尝试使用 Dev-c++ 进行编译,但是在编译时,我从文件 msi.h 和 msiquery.h 中得到几百个编译错误

4

4 回答 4

2

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

于 2009-06-04T11:09:29.327 回答
0

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

正如 Koby Kahane在此处解释的那样,另一种选择是与 OS CRT 链接。

于 2009-06-04T11:20:02.393 回答
0

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

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

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

问候阿米特

于 2009-07-21T08:01:47.017 回答
0

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

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

于 2011-07-16T22:57:49.983 回答