3

我遇到了一个架构挑战,我正在寻找想法。

客户有一个现有的 win32 本机应用程序,他们非常抗拒以任何微不足道的方式进行更改。它是用非托管 c++ 编写的,并且至少使用一个 3rd 方 dll,因此它不是一个独立的 exe。它是什么并不重要,将其视为客户支持沟通工具。理想情况下,客户希望从网站启动它,而不是将其作为可安装程序发布。此外,客户需要在执行时将令牌传递给可执行文件,以便它可以打电话回家并要求更多指令。

我将继续承认,应用程序的启动方式应该是最初的设计考虑因素之一,而不是最后一个考虑因素——但事实就是如此。

对恶意软件、间谍软件、特洛伊木马等的安全问题使得这种分发模式不太可能发生。我这样做比找到一个合法的方法来完成它有更多的经验。

欢迎任何想法(正面或负面)。

4

4 回答 4

2

说服客户让您的公司修复最初的设计缺陷,很可能需要您自费。道歉。很多。_

于 2009-10-02T18:37:24.753 回答
1

我无法就启动安装在用户 PC 上的应用程序提供任何建议。所以也许有人会就此提供建议。

但是,还有在您的服务器上安装应用程序的替代解决方案。然后,您可以编写一些可以访问数据并通过 HTML 显示的代码。理想情况下,这可以通过受欢迎的 API、Web 服务和其他 dohickey 轻松实现。但我想这不是一个潜在的解决方案?

您的另一个选择是类似于NDL MetaScype的一些集成产品的产品。

他们的产品实际上是一个屏幕抓取软件,基本上可以打开应用程序并运行万能的宏。这样做的好处是保留了所有业务逻辑(即您正在有效地输入一个字段,并且如果该字段在系统上返回错误 - 您的 Web 应用程序也应该发现。

祝你好运——我认为如果不让用户更改他们对您的特定站点的安全设置,您会发现这非常棘手。

于 2009-10-02T18:02:52.463 回答
0

您可以尝试创建一个 ActiveX 控件,该控件将下载您的可执行文件并运行它,但不幸的是,这将您限制在 IE 中。它还为网页上的控件创建了一个额外的安装/运行步骤。如果您的某些客户制定了有关用户下载和运行 ActiveX 控件的策略,这可能无法为他们所接受。

您还可以尝试将 exe 及其依赖项打包为另一个 exe 中的资源。用户可以从网页下载并运行它,该网页提取可执行文件和依赖项并运行它们。这可能比 ActiveX 路由更直接一些,但在安全策略方面仍然存在一些相同的限制。

不幸的是,您不会找到一个简单的解决方案 - 从网站运行任意本机代码很难设计。

于 2009-10-02T18:02:37.663 回答
0

我不完全确定我理解这种情况,但听起来一种选择可能是在服务器上运行应用程序,然后使用 Citrix 使客户端的 pc 能够像瘦客户端一样访问应用程序。我的大学通过许多程序(例如 Photoshop)来做到这一点。我无法访问应用程序来安装它,但我可以下载一个启动 Citrix 并运行应用程序的小文件。即使我运行的是 Mac,该应用程序也始终具有类似 Windows 的控件。当然,我仍然必须安装 Citrix,所以走这条路可能没有太多好处,但它可能比其他一些选项更容易妥协。

第二个更疯狂的想法是将安装程序集成到应用程序中,这样当它第一次启动时,它会自行安装,然后自行启动。然后只要告诉客户第一次启动需要很长时间。

请澄清我的回答是否表明我不明白这个问题。我很想了解更多关于这种情况的信息。

于 2009-10-03T00:18:30.860 回答