2010-11-17 35 views
1

我寫了一個實用程序,需要安裝密鑰才能卸載,以確保只有授權用戶才能卸載。登錄到我們的網站後,用戶將看到一個卸載密鑰,但是我還想在客戶端計算機上啓動卸載嚮導。我知道這是可能的,因爲我之前已經做過......只是不記得代碼,也沒有保存它。從PHP啓動客戶端計算機上的文件?

在此先感謝您的任何意見。

+0

你要求你的用戶有一個有效的密鑰** ** UN **安裝? – drudge 2010-11-17 00:54:22

+0

是的,它是一個內容過濾器。只有管​​理員應該卸載。 – 2010-11-17 01:05:02

回答

3

假設Windows,您可以告訴安裝程序使用自定義卸載方案register a custom URL protocol。然後,您的PHP應用程序可以使用自定義URL方案(uninstall-my-product://12345678-ABCD)提供鏈接。

沒有卸載程序的用戶會看到「我不知道如何處理此協議」消息。已安裝產品的用戶將啓動卸載程序。

您可以通過提供已註冊的文件類型來完成類似的功能,以打開卸載程序。

如果您使用的是商用安裝程序,那麼在這兩種情況下,編寫一個小型啓動程序來運行卸載程序可能會更容易,而不是修改卸載程序本身。

+0

好吧,我喜歡自定義URL協議的想法,但我只是無法理解它是如何完成的。我想我需要編寫一個處理程序,可以用Python嗎?但是,我也不瞭解如何註冊協議。 – 2010-11-17 01:08:12

+0

@Zachary Brown:處理程序只是一個註冊表項(請參閱@ Seth的鏈接),指向您的卸載嚮導。然後,如果您從瀏覽器打開URL「your-protocol-name://」,它將打開您的嚮導。 – casablanca 2010-11-17 15:28:59

5

PHP在服務器端運行,無法控制客戶端。由於安全原因,您無法使用JavaScript來啓動應用程序。

您可以做到這一點的唯一方法是使用ActiveX控件或某種自定義瀏覽器插件。或者,如果您的卸載嚮導在客戶端註冊了一些協議處理程序(如myuninstall://),那麼您可以使用JavaScript將用戶重定向到此協議的URL,然後該協議將啓動您的程序。

相關問題