Deployment ClickOnce部署与Crystal Reports的先决条件

Deployment ClickOnce部署与Crystal Reports的先决条件,deployment,crystal-reports,clickonce,Deployment,Crystal Reports,Clickonce,我有一个使用ClickOnce部署的.NET Winforms应用程序(在VS2005中创建)。在其中一个窗体席上,我有一个水晶报表查看器控件,供用户查看报表,但为了在应用程序中使用,我必须在安装应用程序之前安装水晶报表XI版本2 PRETEQ。这基本上是在用户机器上安装一个精简版的Crystal 它以这种方式发布,但用户必须等待Crystal安装,这有点麻烦,对我来说也是一个巨大的麻烦,因为发布带有prereq的应用程序需要很长时间才能完成,因为它必须将较大的prereq上传到服务器 由于发布

我有一个使用ClickOnce部署的.NET Winforms应用程序(在VS2005中创建)。在其中一个窗体席上,我有一个水晶报表查看器控件,供用户查看报表,但为了在应用程序中使用,我必须在安装应用程序之前安装水晶报表XI版本2 PRETEQ。这基本上是在用户机器上安装一个精简版的Crystal

它以这种方式发布,但用户必须等待Crystal安装,这有点麻烦,对我来说也是一个巨大的麻烦,因为发布带有prereq的应用程序需要很长时间才能完成,因为它必须将较大的prereq上传到服务器

由于发布需要很长时间,而且新安装也不是非常常见,所以在发布更改时,我通常不包含prereq,而只在需要新安装时使用prereq发布

如果您使用ClickOnce发布带有Crystal Reports的应用程序,您是这样发布的,还是有更简单/更好的方法

是否有一种方法可以包括/GAC所需的CR dll,而不是包括和安装Crystal Report prereq,或者是否有一种方法可以将OneClick部署配置为不必每次都复制文件。如果我可以配置ClickOnce部署,这样我就不必包含prereq,只需将安装指向一个标准位置即可


希望这是有点清楚,有人可以帮助。谢谢

从概念上讲,你现在做的和我刚才做的一样。我做的一件不同的事情是从构建服务器而不是我的机器部署它。坦率地说,我不在乎部署需要多长时间,只要它不中断我的机器


我使用CruiseControl.Net进行构建,所以当部署发布版本时,我只需禁用CC构建,启动发布过程,并在一段时间后检查它

用于.Net的Crystal 11.5合并模块出现错误,这在通过ClickOnce部署时会带来问题

我们最终放弃了ClickOnce,选择了自解压设置(),并在客户端PC上一次性安装了Crystal Redist


Crystal是一个噩梦,你永远无法“把它弄对”,但你可以减轻头痛。

当我遇到这个问题时,我为Crystal Reports创建了一个单独的安装程序,这对我来说很有意义,因为我有很多程序使用它

这缩短了单击一次部署的时间,但没有此特权的系统会出现异常崩溃,因此,当我将所有内容迁移到Visual Studio 2008和更新的Crystal Reports时,我开始将它们包括在内


他们每次安装和更新都会花费更长的时间,但在我的情况下,与部署的方便性相比,管理特权的麻烦是不值得的。

很抱歉,我不得不承认我也遇到了类似的问题,并最终提出了类似的任意解决方案

最后我坐在两个凳子之间,如果用户不想在他们的机器上安装Crystal,我提供了一个选项,可以访问由Crystal托管在服务器上的Web服务,这样就可以远程完成这项工作。如果他们有水晶,工作是在当地完成的


这并不完美,但至少是合理的反应

部署具有先决条件的ClickOnce应用程序时,您可以指定先决条件的下载位置、本地或供应商(如Microsoft)。如果指定供应商,则部署包中不会包含必备的二进制文件

如果Crystal未指定远程位置,则始终可以使用引导程序清单生成器执行自己的先决条件。然后将Crystal二进制文件上载到部署服务器上的某个位置,使用新的二进制存储库作为供应商站点创建自定义先决条件,在clickonce应用程序中添加自定义先决条件,并将其设置为从供应商站点下载


我相信在VS 2010中,您有第三个ClickOnce先决条件选项,您可以针对特定的站点删除对自定义先决条件的需求。

从回答中,这似乎是非常常见的,所以我现在就发布我如何解决这个问题

首先,我要说的是,我认为Bronumski的回答应该是有效的,但我在过去的尝试中并没有成功过

我解决这个问题的方法是使用ClickOnce将文件发布到本地文件夹,然后手动通过ftp将文件传送到创建的crystalreport安装目录之外的文件夹

我知道这不是一个很好的答案,但我不再需要经常部署,因此这是我目前的工作。请通读所有其他答案,以找到可能有助于解决您的问题的答案


希望能有帮助。谢谢

我也遇到了这个问题,但除了在安装说明中添加到CR Redist msi的链接外,我没有找到解决这个问题的好方法。不知何故,我一直没有找到这个答案。也许我做了一些不正确的事情,但我曾经试图指定供应商的网站,并从一个特定的位置在过去没有任何效果。我同意这应该行得通,但我没有成功。我在“特定位置”框中输入了Crystal Report安装在服务器上的位置,但它对我不起作用。我会投赞成票,因为我认为它也应该有效,但我会给出一个答案,说明我是如何绕过这个问题的。谢谢