2009-11-18 89 views
7

我有一個控制檯應用程序,我正在使用ClickOnce進行部署。一旦用戶安裝程序,就會設置關聯,但關聯的程序是安裝程序(ClickOnce應用程序部署支持庫),而不是實際的程序。我怎樣才能讓協會成爲實際的程序而不是安裝程序?ClickOnce文件關聯

我已經在下面的app.manifest中包含了fileAssociation節點。如果您有任何提示,請告訴我。謝謝。

<fileAssociation xmlns="urn:schemas-microsoft-com:clickonce.v1" 
       extension=".aav" 
       description="My Program" 
       progid="MyProgram" 
       defaultIcon="myIcon.ico" /> 

在Windows XP,Vista,Windows 7等3種不同的計算機上測試。信任級別是完全信任。自動更新設置爲預發射。

+0

一些更多的信息將是很好:自動更新設置,信任級別,其它PC上測試? – 2009-11-19 09:11:06

+0

從Windows XP,Vista,Windows 7等3種不同的計算機上進行測試。信任級別完全信任。自動更新設置爲預發射。 – strickland 2009-11-19 12:23:57

回答

18

這個問題源於1不一定理解ClickOnce,謝謝codeConcussion的簡要概述。

和2,並且ClickOnce的不通過傳統的ARGS格式,但通過以下屬性傳遞的東西:AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData

+1

謝謝......確實非常感謝! – IWIH 2014-08-13 09:25:08

6

我認爲這只是對ClickOnce如何工作的誤解。 ClickOnce應用程序的主要exe永遠不會直接啓動。應用程序通過服務器上的部署清單(.application文件)啓動。如果您在文本編輯器中打開應用程序的開始菜單快捷方式,則可以看到它指向.application文件,而不是本地.exe。

這允許所有的更新魔法發生。如果.aav文件與本地.exe關聯,則用戶通過.aav文件打開應用程序時不會獲得任何更新。

當您雙擊文件時,您聲明它「啓動安裝程序」;之後你的應用程序開始了嗎?你能解釋一下你期望的最終結果嗎?