我有2臺服務器。一個是生產和測試服務器。clickonce安裝問題
現在,我有一個坐在生產和測試服務器上的WPF應用程序。我怎樣才能從生產和測試服務器安裝在我的本地機器的WPF應用程序?我一直收到錯誤,安裝了相同的簽名。
謝謝
我有2臺服務器。一個是生產和測試服務器。clickonce安裝問題
現在,我有一個坐在生產和測試服務器上的WPF應用程序。我怎樣才能從生產和測試服務器安裝在我的本地機器的WPF應用程序?我一直收到錯誤,安裝了相同的簽名。
謝謝
您需要爲每個環境單獨的ClickOnce軟件包。每個軟件包都需要有不同的assemblyIdentity名稱。查看assemblyIdentity元素的部署清單(* .application)文件。該元素的name屬性對於每個環境都必須不同。它看起來是這樣的:
<assemblyIdentity
name="Product_TEST"
version="2.5.44.19347"
publicKeyToken="82e7b44bd73eeecd"
language="neutral"
processorArchitecture="msil"
xmlns="urn:schemas-microsoft-com:asm.v1" />
我們使用喜歡的名字:Product_TEST,Product_UAT,Product_PROD每個實例ClickOnce的區分。使用這種方法,我們可以在客戶端PC上並行安裝多個產品實例。
這意味着您需要爲每個環境創建一個單獨的ClickOnce包。每個部署清單都會有所不同,因此每個包都有不同的簽名簽名(如果您使用的是簽名包)。我們過去使用msbuild ClickOnce目標爲我們的所有環境構建單獨的包,但最近更改爲構建一個通用包,並具有一個定製構建工具,可根據需要執行ClickOnce重新打包。你也可以使用法師。
我不知道如何更改名稱屬性。我在/ t中使用了msbuild:publish – 2014-01-07 21:42:07
如果您使用/ t:Publish內置目標,則需要通過VisualStudio中的項目屬性編輯名稱。打開項目屬性,單擊發布選項卡,然後單擊選項。我直接在我的構建腳本中使用GenerateApplicationManifest和GenerateDeploymentManifest msbuild目標,因此我可以根據需要設置屬性。 – Glenn 2014-01-09 02:36:55
也許這已經改變,但我不知道如何做到這一點。在我的所有測試中,我所能完成的所有工作都是從AssemblyName中獲取身份名稱集,但仍會產生錯誤的值。 – 2015-06-05 18:42:24