我已经用 Visual Studio 创建了安装项目。我还需要一些自定义操作 - 使用 Visual c++ 创建 DLL,它工作得很好,但我不想在我的项目中包含 Visual c++ 运行时文件。那么是否可以使用其他一些 c++ 编译器来构建这个 dll?
我曾尝试使用 Dev-c++ 进行编译,但是在编译时,我从文件 msi.h 和 msiquery.h 中得到几百个编译错误
我已经用 Visual Studio 创建了安装项目。我还需要一些自定义操作 - 使用 Visual c++ 创建 DLL,它工作得很好,但我不想在我的项目中包含 Visual c++ 运行时文件。那么是否可以使用其他一些 c++ 编译器来构建这个 dll?
我曾尝试使用 Dev-c++ 进行编译,但是在编译时,我从文件 msi.h 和 msiquery.h 中得到几百个编译错误
可能最简单的解决方案是将您的 DLL 链接到静态运行时库。
通常,自定义操作 DLL 应仅依赖于安装前已存在于系统中的 DLL。这意味着,例如,静态链接 CRT,正如 MSalters 所指出的,但也适用于对 3rd 方库的任何其他依赖。
正如 Koby Kahane在此处解释的那样,另一种选择是与 OS CRT 链接。
我为我的安装项目制作了一个自定义 dll。我的 dll 非常简单,注册的服务很少,不依赖 CLR 或任何第三方库。仅与 msi.lib 静态链接。
我已从安装项目中删除了 .net 和 Windows 安装程序先决条件要求。我的设置在没有 .net 框架的机器上失败..?
由于我没有任何 .net 相关代码,因此应该有什么解决方案。我不希望用户先下载框架进行安装。
问候阿米特
在这里,您可以找到一些使用 C++ DLL 进行自定义操作的简短示例:
http://www.simple-talk.com/dotnet/visual-studio/visual-studio-setup---projects-and-custom-actions/