3

我已經提出了一個架構挑戰,並且正在尋找想法。從公共網站啓動win32本機可執行文件

客戶有一個現有的win32本機應用程序,他們很難改變任何微不足道的方式。它是用unmanaged C++編寫的,至少使用一個第三方dll,因此它不是一個獨立的exe文件。它是什麼並不重要,可以將其視爲客戶支持溝通工具。理想情況下,客戶希望從網站上發佈,而不是將其作爲可安裝程序發佈。此外,客戶需要在執行時將令牌傳遞給可執行文件,以便它可以打電話回家並索取更多說明。

我會繼續並承認,應用程序如何啓動應該是首次設計考慮事項之一,而不是最後一次 - 但事實就是如此。

對惡意軟件,間諜軟件,特洛伊木馬等等的安全擔憂使這成爲一個非常不可能的分發模式。我有而不是這樣做的經驗比找到一個合法的方式來完成它。

歡迎任何想法(積極或消極)。

回答

2

說服客戶讓您的公司修復原來的設計缺陷,最有可能在自費。道歉。A LOT

+0

我是一個非常晚的球員,並與設計無關或如果我有,我會很抱歉。*很多*。 – ongle 2009-10-02 18:39:04

+0

我不是在指責你(因爲'你'我的意思是你的公司 - 我會編輯原始信息)客戶端想要他們想要的東西,而這是你公司需要解決的問題。 – 2009-10-02 18:52:42

+0

呵呵,不用擔心。:)我會爲大多數人道歉,爲你解答。 – ongle 2009-10-02 18:59:34

0

您可以嘗試創建一個ActiveX控件,它將下載您的可執行文件並運行它,但是這不幸地將您限制爲IE。它還爲網頁上的控件創建了一個額外的安裝/運行步驟。如果某些客戶有關於用戶下載和運行ActiveX控件的政策,這可能不會被您接受。

您還可以嘗試打包exe文件,並將它的依賴項作爲另一個exe文件中的資源。用戶可以從提取可執行文件和依賴項的網頁下載並運行它並運行它們。這可能比ActiveX路由更直接,但是在安全策略方面仍然有一些相同的限制。

你不會找到一個簡單的解決方案,不幸的是 - 從網站運行任意本地代碼很難設計。

+0

我也考慮過瀏覽器插件的路線,但我不認爲他們會喜歡它。解釋說這是「設計難」,並沒有得到太多的熱情。 – ongle 2009-10-02 18:16:35

+1

所以。 。 。他們基本上希望你找出一個瀏覽器漏洞,希望永遠不會打補丁? – Michael 2009-10-02 18:20:03

+0

他們並不是真的那樣看待,他們只是不瞭解網絡。但我明白你的觀點。我沒有興趣利用漏洞做到這一點,它必須以企業客戶接受的合法方式完成。 – ongle 2009-10-02 18:25:18

1

我無法提供有關啓動安裝在用戶PC上的應用程序的任何建議。所以也許有人會爲此提供建議。

但是,有一種在您的服務器上安裝應用程序的替代解決方案。然後您可以編寫一些可以訪問數據並通過HTML顯示的代碼。理想情況下,使用受歡迎的API,Web服務和其他dohickey可以輕鬆實現這一點。但我想這不是一個可能的解決方案?

您的其他選項是類似於NDL MetaScype的某些集成產品的產品。

他們的產品實際上是一個屏幕抓取軟件,它基本上打開了應用程序並運行着所有意圖和目的,是一個宏。這樣做的好處是所有的業務邏輯都被保留下來(例如,您正在有效地輸入字段,如果該字段返回時系統出現錯誤 - 您的Web應用程序也應該找出答案)

祝您好運 - 我認爲你會發現它非常棘手,沒有讓用戶改變他們的安全設置爲您的具體網站。

+0

他們設置使用當前形式的應用程序。如果我可以重寫它,我可以在網絡中設計它,這不是問題。該應用程序不能很好地轉換爲HTML,因此屏幕抓取功能無濟於事。 :( – ongle 2009-10-02 18:22:20

+0

我建議屏幕抓圖比你想象的要好,它可以很好地處理你的應用程序,我傾向於像你一樣思考兼容性,如果你不能重寫我認爲這仍然是一個相當有效的選擇(我很欣賞這個想要你的問題,但我想我會提及它:) – Amadiere 2009-10-03 11:07:06

0

我並不完全確定自己瞭解情況,但聽起來像是一種選擇可能是在服務器上運行應用程序,然後使用Citrix來使客戶端的PC能夠像瘦客戶端一樣訪問應用程序。我的大學通過一些程序(例如Photoshop)來完成這項工作。我無法訪問應用程序來安裝它,但我可以下載一個啓動Citrix並運行應用程序的小文件。即使我正在運行Mac,該應用程序始終具有類似Windows的控件。當然,我仍然需要安裝Citrix,所以也許在這條路線上沒有太多好處,但這可能比其他一些選擇更容易妥協。

第二個瘋狂的想法是將安裝程序集成到應用程序中,以便第一次啓動安裝程序時自行啓動。然後告訴客戶第一次啓動需要很長時間。

請澄清,如果我的答案表明我不明白這個問題。我很想好好了解情況。

+0

我現在看到,我的第二個選擇或多或少由邁克爾建議。 – notJim 2009-10-03 00:19:30

+0

客戶端應用程序必須在本地運行才能與本地硬件進行交互。正如你所說,它仍然需要安裝通常不會安裝的客戶端。 :( – ongle 2009-10-03 00:54:37

+0

)您是不是基本上要求在本地安裝應用程序而無需在本地安裝應用程序?然後,我覺得您的公司和客戶之間的溝通肯定存在一些非常根本性的破壞,您甚至不會在此就好像我告訴過你,我只想要一輛小型經濟車,然後你用火車車回到我身邊。 – notJim 2009-10-03 01:03:00

相關問題