Visual studio 2010 带有crystal reports和VS2010的安装项目无法注册crystal DLL

Visual studio 2010 带有crystal reports和VS2010的安装项目无法注册crystal DLL,visual-studio-2010,crystal-reports,installation,Visual Studio 2010,Crystal Reports,Installation,我在VS2010中构建了一些crystal报表,并为其制作了一个安装项目。它在我的dev机器上部署得很好,但是在尝试将其安装到客户机上时,我遇到了以下错误 我在谷歌上搜索了一段时间这个错误,发现VC++2005可再发行文件是一个预请求。我已经将这些合并模块添加到我的安装项目中,但仍然会出现相同的错误 我还添加了.NET4.0作为先决条件,但仍然得到相同的错误。有人有什么想法吗 我的开发机器运行的是Windows 7,我正在尝试将其部署到Windows server 2008 R2机器上。供其

我在VS2010中构建了一些crystal报表,并为其制作了一个安装项目。它在我的dev机器上部署得很好,但是在尝试将其安装到客户机上时,我遇到了以下错误

我在谷歌上搜索了一段时间这个错误,发现VC++2005可再发行文件是一个预请求。我已经将这些合并模块添加到我的安装项目中,但仍然会出现相同的错误

我还添加了.NET4.0作为先决条件,但仍然得到相同的错误。有人有什么想法吗


我的开发机器运行的是Windows 7,我正在尝试将其部署到Windows server 2008 R2机器上。

供其他人参考,我最终添加了Crystal Reports Runtime Engine For.NET 4.0作为先决条件,如果用户没有安装它,就让用户下载它。我还必须添加.NET4.0的先决条件(不是客户端配置文件),当然还有合并模块(CRRuntime_13_0.msm)。如果有人有更好的方法让这个工作,我仍然感兴趣。谢谢

试试这个


您添加的合并模块来自VC++2008可再发行,而不是2005

您可以从以下链接下载正确的可再发行文件:

其中包含所需的
Microsoft_VC80_CRT_x86.msm
Microsoft_VC80_MFC_x86.msm
Microsoft_VC80_ATL_x86.msm
Microsoft_VC80_OpenMP_x86.msm
,如上所述


顺便说一句,至少对于VS2010的Crystal Reports运行时,不需要将.NET 4.0作为先决条件。上述可再发行文件已添加到安装项目中,所有错误消息均已消失


注:
要将VC++2005可再发行版本添加到VS安装项目中,应在以下文件夹中添加相应的引导程序包(适用于VS 2010):
%程序文件%\Microsoft SDK\Windows\v7.0A\Bootstrapper\Packages

或64位Windows上的%ProgramFiles(x86)%folder

更新:
要创建必备的引导程序包,请参阅以下链接(借用):



我在64位上安装了CRRuntime_32bit_13_0_8.msi并最终成功了

快速问题,您是否必须注册crystal report的版本才能部署它?我不确定它是否包含在VS2010中,我不理解菜单中“注册”按钮的含义…我不确定你的意思。。我不需要手动注册任何东西,但我所做的只是从下载并运行VS2010的CR。要让我的报告直接从安装程序在其他机器上运行。。。我只是简单地更改了安装程序的先决条件,使其包含适用于.NET 4.0和.NET 4.0的Crystal Reports运行时引擎(而不是客户端配置文件)。。。您还必须包括CRRuntime\u 13\u 0.msm。。不确定这是否有用。事实上,我发现您必须从SAP获得书面说明才能“允许”分发运行时。为此,您需要在他们的网站上注册“运行时”(包含在VS2010许可证中)。