- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 Crystal Reports 的 .NET 项目。该应用程序是使用 ClickOnce 分发的。如果用户在他们的计算机上安装了 Crystal,事情就会很好。但是,并非所有最终用户的计算机上都安装了 Crystal Reports。这些用户收到以下错误...
“无法安装或运行该应用程序。该应用程序要求首先在全局程序集缓存 (GAC) 中安装程序集 CrystalDecisions.ReportAppServer.XmlSerialize 版本 10.5.3700.0。”
有没有办法强制安装 ClickOnce 以确保安装了先决条件?
最佳答案
不会。 ClickOnce 和先决条件存在很多混淆。
ClickOnce 对先决条件没有任何作用。没有。 ClickOnce 将文件从服务器复制到客户端的机器,并在服务器文件更新时保持这些文件同步 - 就是这样。它不能在GAC中放东西,注册dll,安装msi文件等。
当您使用 Visual Studio 进行部署时,就会出现混淆。当您发布时,VS 会为您做几件与 ClickOnce 无关的事情。一方面,它为您创建了一个漂亮的 html 页面,其中包含一些指向您的部署的链接。此外,它允许您从几个先决条件中进行选择,并为您创建一个 bootstrap exe。我假设您为 Crystal Reports 安装执行了此操作。 bootstrap 只是一种管理多个先决条件的简单方法。 bootstrap 不会告诉您的用户在安装您的应用程序之前先安装 X,然后是 Y,然后是 Z,而是使这三个安装“无缝”,因此它们看起来好像是一次大安装。如果用户已经拥有它,它还可以跳过 prereq 安装。
如果你留意你的 VS 生成的 html 页面,你可以看到两个链接。一个指向您的 .application 文件(ClickOnce 部署),一个指向 bootstrap exe。您几乎受用户的支配,必须依靠他们来阅读页面并在需要时运行 bootstrap 。一个异常(exception)是 .Net Framework,因为 html 页面可以通过 UserAgent 字符串进行检查。
如果他们不运行 bootstrap ,他们将收到与您所询问的非常相似的错误。
一种可能的解决方案是编写代码来检查它是否已安装。它可以检查注册表或“Program Files”文件夹;无论您需要做什么以确保它已安装。然后优雅地退出并通知用户如果他们没有它。只要您在尝试加载和使用 Crystal 程序集之前进行检查,这就会起作用。
祝你好运!如果您想出更好的解决方案,请回复。
关于.NET ClickOnce 没有安装必备文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/971651/
在这篇文章中,我将介绍如何识别导致性能出现问题的查询,如何找出它们的问题所在,以及快速修复这些问题和其他加快查询速度的方法。 你一定知道,一个快速访问的网站能让用户喜欢,可以帮助网站从Goog
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
2021 年,人们喜欢 Linux 的原因比以往任何时候都多。在本系列中,我将分享使用 Linux 的 21 个不同原因。这里有四个开源工具,可以将任何设备变成 Linux 服务器。 有时,我会发
我使用 Web Essentials 在保存时编译我的 typescript 文件(Visual Studio 2012),但我得到一个空的 js 和这条消息: Compile Error. See
我是一名优秀的程序员,十分优秀!