使用ClickOnce安装适用于VS 2008的Crystal Reports Basic [英] Installing Crystal Reports Basic for VS 2008 with ClickOnce

查看:97
本文介绍了使用ClickOnce安装适用于VS 2008的Crystal Reports Basic的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经创建了一个现有的应用程序,并从VS 2008发布到ClickOnce。 该应用程序被标记为x86(而不是"任何CPU"),因为我需要发布到x86和x64机器,但我只想发布一个32位编译版本。 它应该适用于两种类型的机器。 由于我使用了Crystal Reports,因此我在"发布"选项卡的"先决条件"区域中进行了检查。

在32位操作系统计算机上,一切正常。 在64位操作系统计算机上它没有。 似乎Crystal安装程序将自动在64位计算机上安装64位版本,在32位计算机上自动安装32位版本。 您认为这是有意义的,但由于应用程序的其余部分是为x86构建的,因此当我尝试在这些x64计算机上启动CR 64位报告时会抛出错误。 错误: 请安装包含所需的正确版本的Crystal Reports运行时(x86,x64或Itanium)的相应Crystal Reports可再发行组件(CRRedist * .msi)。

我已经知道"长"解决方法。  ;如果我转到控制面板并卸载x64版本的CR(已自动安装),然后我手动安装x86版本的CR。  Presto,它的工作原理。

因此,我的问题是,如何让VS 2008 ClickOnce自动安装适用于VS 2008的x86版本的CR Basic,而不是安装它所喜欢的味道。自动检测操作系统类型? 在Prerequisites选项卡中,我可以取消选中CR选项的复选框,但是如何将我自己的首选x86 .msi添加到ClickOnce安装?

任何可以提供的帮助都会非常有帮助。 提前致谢。
-Greg 

I have an existing application authored and published to ClickOnce from VS 2008.  The application is marked to x86 (not 'Any CPU') as I'm needing to publish to both x86 and x64 machines but I only want to publish a 32-bit compiled version.  It should run fine on both types of machines then.  Since I utilize Crystal Reports, I have it checked in the Prerequisites area of the 'Publish' tab.

On 32-bit OS machines everything works fine.  On 64-bit OS machines it does not.  It seems that the Crystal installer will automatically install their 64-bit version on 64-bit machines and their 32-bit version on 32-bit machines.  You'd think this would make sense, but as the rest of the app is built for x86, it throws an error when I attempt to launch CR 64-bit reports on those x64 machines.  Error:  Please install the appropriate Crystal Reports redistributable (CRRedist*.msi) containing the correct version of the Crystal Reports runtime (x86, x64, or Itanium) required.

I already know the 'long' workaround.  If I go to Control Panel and uninstall the x64 version of CR (that was automatically installed) and then I install the x86 version of CR manually.  Presto, it works.

Therefore, my question is, how do I get VS 2008 ClickOnce to automatically install the x86 version of CR Basic for VS 2008 and not to install the flavor it prefers when it autodetects the OS type?  In the Prerequisites tab I could deselect the CR option's checkbox, but then how can I add my own preferred x86 .msi to the ClickOnce install?

Any help that could be provided would be hugely helpful.  Thanks in advance.
-Greg 

推荐答案



我有同样的问题,我找到了一个解决方法。我并不为此感到骄傲,但它确实起到了作用。

所以,解决方案可以这样概括:

。* 打开路径  C:\Program Files(x86)\ Microsoft SDKs \ Windows \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ - > 你会发现两个可再发行软件包 CRRedist2008_x64.msi CRRedist2008_x86.msi 加上 product.xml (这似乎是像配置文件)。

1。打开 product.xml  文件,然后搜索命令标记。它包含两个命令标记。

2。转到 CRRedist2008_x86.msi 命令标记,并查看 InstallConditions 标记。

3。评论以下行:
Hi,

I had the same issue and I found a workaround. I'm not proud of it but it does the job.

So, the solution can be summarized like this:

0. Open the path C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5  -> you'll find the two redistributable packages CRRedist2008_x64.msi and CRRedist2008_x86.msi plus product.xml (which seems to be something like a config file).

1. Open the product.xml file and search for Commands tag. It contains two Command tags.

2. Go to the Command tag for CRRedist2008_x86.msi and have a look to InstallConditions tag.

3. Comment the following line:
<BypassIf Property="ProcessorArchitecture" Compare="ValueNotEqualTo" Value="Intel"/>


正如线条上方的注释所示,如果您在x64机器上安装该应用程序,它将不会安装32版本的Crystal Reports。 />
4。部署您的申请。

我希望这对您有所帮助。

问候,
Costin

As the comment above the line says, if you install the application on a x64 machine it will NOT install the 32 version of Crystal Reports.

4. Deploy your application.

I hope this helps you.

Regards,
Costin



这篇关于使用ClickOnce安装适用于VS 2008的Crystal Reports Basic的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆