从公共网站启动win32本机可执行文件

时间:2009-10-02 17:46:07

标签: architecture winapi desktop-application software-distribution

我遇到了建筑挑战,并在寻找创意。

客户拥有一个现有的win32原生应用程序,他们非常不愿意以任何微不足道的方式进行更改。它是用非托管的c ++编写的,并使用至少一个第三方dll,因此它不是一个独立的exe。什么是无关紧要的,将其视为客户支持沟通工具。理想情况下,客户希望从网站启动此功能,而不是将其作为可安装程序发布。此外,客户需要在执行时将令牌传递给可执行文件,以便它可以回家并请求更多说明。

我将继续并承认应用程序如何启动应该是最初的设计考虑因素,而不是最后一个 - 但它就是它的本质。

对恶意软件,间谍软件,特洛伊木马等的安全担忧使这成为一种非常不可能的分发模式。我在 not 这方面有更多的经验,而不是找到合法的方法来实现它。

欢迎任何想法(积极或消极)。

4 个答案:

答案 0 :(得分:2)

说服客户让您的公司解决原始设计缺陷,最有可能是自费。道歉。一个 LOT

答案 1 :(得分:1)

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

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

您的其他选项是与NDL MetaScype的某些集成产品类似的产品。

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

祝你好运 - 我认为如果不让用户更改您特定网站的安全设置,您会发现它非常棘手。

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

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

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

请澄清我的答案是否表明我不明白这个问题。我很想知道有关情况的更多信息。