2013-05-29 101 views
0

我們最近採用了Octopus Deploy作爲我們的發佈管理系統,並且還使用它來部署ClickOnce應用程序。 ClickOnce應用程序會在安裝後重新配置並退出。但是,我一直無法弄清楚如何設置應用程序的標題。設置ClickOnce產品名稱後編譯

我可以在發佈ClickOnce包時設置ProductName,但我們編譯一次並在整個部署管道中部署相同的二進制文件集。是否可以在ClickOnce包創建後設置ProductName?

回答

2

有兩個的ClickOnce清單文件是與此有關:

1)應用程序清單。這包含產品名稱並列出組成該應用程序的所有文件。

2)部署清單。這是指應用程序清單,並將此文件的URL分發給任何想要安裝應用程序的人。

您可以在應用程序清單中更改產品名稱,但必須重新簽名。因此,您將不得不重建部署清單並重新簽名 - 因爲對應用程序清單的引用包含一個簽名散列,現在將會過時。

要澄清,此產品名稱是在安裝時出現在'您想要安裝此應用程序'對話框中,還有一次安裝後的開始菜單中(如果ClickOnce設置爲本地安裝而不是始終檢索來自遠程服務器的應用程序)。

僅供參考,我使用下面的命令行來重新生成應用程序和部署分別表現(選項是方括號是可選的):

創建/更新應用程序清單:

mage -New Application -ToFile AppFiles/fooApp_1.2.0.0/fooApp.exe.manifest -Name "fooApp Name" -Version 1.2.0.0 -FromDirectory AppFiles/fooApp_1.2.0.0 [-Processor x86] 

簽署申請清單:

mage -Sign AppFiles//fooApp_1.2.0.0/fooApp.exe.manifest -CertFile mycert.pfx -Password mypass 

創建/更新部署清單

mage -New Deployment -Install true -Publisher "Foo Corp." -ProviderUrl "http://fooserver/mydeploymentfolder/fooApp.application" -AppManifest AppFile/fooApp_1.2.0.0/fooApp.exe.manifest -ToFile fooApp.application [-Processor x86] 

簽署部署清單:

mage -Sign fooApp.application -CertFile mycert.pfx -Password mypass 
+0

時提供的網址是我們用來獲取'\\ fooserver \ mydeploymentfolder \ fooApp'低於**從(將鼠標懸停在字符串下面來看看完整的域)的UNC路徑* *。後來我們將其更改爲'https:// fooserver/mydeploymentfolder/fooApp.application',現在我們只在** From(將鼠標懸停在下面的字符串上以查看完整的域)下面的'fooserver'部分**原因是什麼。 – k11k2

0

對於那些你可能仍然掙扎,因爲我最近,隨着點擊,一旦章魚部署內包:

我已經創建了一個步驟腳本模板,它將根據部署過程的上一步創建一個Click-Once包。將從上一步安裝的二進制文件進行打包,並使用您的證書使用圖標對軟件包進行簽名。

它應該有足夠的參數來最終通過Octopus快速簡單地創建Click-Once包。

Script is available in the Octopus library

HTH

相關問題