【发布时间】:2015-07-07 22:14:35
【问题描述】:
我有一个使用 OpenMP 的项目,因此链接到 vcomp90.dll。
现在我想创建一个安装程序(使用 WiX),我想知道如何正确地将这个库添加到我的项目中。带有可再发行运行时的常规 MSM 似乎缺少此 DLL。
将这个库添加到我的包中的正确方法是什么?
【问题讨论】:
标签: visual-c++ wix windows-installer openmp redistributable
我有一个使用 OpenMP 的项目,因此链接到 vcomp90.dll。
现在我想创建一个安装程序(使用 WiX),我想知道如何正确地将这个库添加到我的项目中。带有可再发行运行时的常规 MSM 似乎缺少此 DLL。
将这个库添加到我的包中的正确方法是什么?
【问题讨论】:
标签: visual-c++ wix windows-installer openmp redistributable
到目前为止,我还没有使用过包含 vccomp90.dll 的合并模块。 但是,我确实看到很多帖子中人们使用了包含所谓文件的等效合并模块。根据微软自己的文献,一个名为 Microsoft_VC90_OpenMP_x86.msm 的等效合并模块退出,其中应包括 vccomp90.dll。我确实尝试在我的系统上搜索这个合并模块但找不到它。也许,它需要我可能没有安装的 Visual Studio 的可选组件。
尽管如此,当我在搜索这个合并模块时,我偶然发现了一个名为 redist.txt 的文本。 redist.txt 是 Visual Studio 安装文件夹的一部分(请记住检查您的 Windows 驱动器和安装驱动器,以防您在非 Windows 驱动器中安装了 Visual Studio)。
redist.txt 包含以下文本: 为方便起见,我们提供了以下文件夹以供重新分发 VC++ 运行时文件时使用。根据软件的许可条款,您可以将应用程序本地文件夹中的文件夹(未修改)重新分发为子文件夹,而不更改文件夹名称。您还可以将文件夹中的所有文件(.dll 和 .manifest)作为一个整体重新分发,为方便起见,该文件夹列在该文件夹下方。
**\VC\redist\x86\Microsoft.VC90.OpenMP\ vcomp90.dll Microsoft.VC90.OpenMP.manifest
\VC\redist\amd64\Microsoft.VC90.OpenMP\ vcomp90.dll Microsoft.VC90.OpenMP.manifest
\VC\redist\ia64\Microsoft.VC90.OpenMP\ vcomp90.dll Microsoft.VC90.OpenMP.manifest**
这为您提供了两种选择: - 将文件及其相应的清单文件作为自定义合并模块的一部分包含在您的产品中。我更喜欢这种方法,因为您可以在其他地方为您的产品重新使用合并模块。 - 将文件及其清单文件直接包含在您的 msi 包中。
另一种选择是为您的 msi 文件使用引导程序,并在安装过程中运行 VC 可再发行安装程序。
【讨论】: