簡體   English   中英

鏈接到Start ClickOnce或MSI安裝的應用程序

[英]Link to Start ClickOnce or MSI-Installed Application

我正在開發的一個應用程序提出了一個有趣的要求。 對於大多數客戶,我們都支持ClickOnce部署,對於需要更多控制安裝過程的客戶,我們也支持MSI(WiX)包進行傳統部署。

但是,無論如何安裝該應用程序,當用戶單擊我們網站上的“啟動”按鈕時,我都需要它來啟動該應用程序。 如果已經通過MSI軟件包為當前用戶安裝了它,則它應該啟動當前安裝的副本;否則,它將啟動當前副本。 否則,它應該安裝/更新/運行ClickOnce軟件包。 我想我可以使ClickOnce版本啟動MSI安裝的版本(如果存在),然后快速關閉。 這個問題使我希望通過簡單地使兩個應用程序具有相同的GUID可以實現,但是我不確定如何做到這一點,或者這是否是個好主意。

創建鏈接以啟動ClickOnce應用程序很簡單:

<a href="/path/to/myapp.application">Launch</a>

並且,使自定義協議處理程序注冊到MSI並不難:

<a href="myapp:launch">Launch</a>

但是, 似乎無法使ClickOnce應用程序能夠處理此新協議,即使我解決了該問題,這也不適用於既未安裝又未安裝新客戶的情況。

是否有相對簡單的方法來制作單個Web鏈接,以啟動安裝了MSI的應用程序 ClickOnce應用程序?

我從Silverlight應用程序中使用了此技術來調用本地應用程序。 但是,我們必須簽署XAP並獲得它的信任才能使其正常工作。 我不確定正常的HTML頁面如何工作。

將應用程序注冊到URI方案

我認為您正在倒退。 如果要調用ClickOnce應用程序(檢查更新並運行該應用程序),則可以執行process.start(ieexplore.exe,“ http://myserver.mydomain.com/myapplication/whatever/myapp.application ”) (使用實際ClickOnce應用的URL)。 除了讓ClickOnce應用程序調用msi之外,您還可以采用其他方法讓msi調用ClickOnce應用程序嗎? 還是寫一些東西來檢查哪個要運行/安裝並調用?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM