Clickonce 簽名應用程序失敗,並顯示“計算的雜湊值與清單中指定的不同”。法師無法解決問題
這幾天我一直在為這個問題苦苦掙扎。我看過其他文章,例如ClickOnce Deployment Error: different computed hash than specified in manifest,但這些解決方案似乎對我不起作用。
我有一個有效的程式碼簽名證書,並且幾個月來一直使用它來簽署我的 ClickOnce 應用程序。我意識到我沒有簽署執行檔和 dll 本身,所以我嘗試這樣做。現在,每次我發布並執行 setup.exe 時,它都會失敗並顯示:“文件 xxxxxx.dll 的計算雜湊值與清單中指定的不同。”
如果我不簽署 exe 和 Dll,我可以重新部署。在發布之前,我確保 exe/dll 的所有副本都在所有目錄(Target、Obj)中籤名。我試過使用 Mage/MageUI 但沒有成功。是否可以在沒有簽名程式碼的情況下配置 ClickOnce 安裝,然後發布簽名程式碼?似乎合乎邏輯,但也許我錯過了一些東西。
謝謝,格雷格
您是否有任何機會嘗試部署 WPF 應用程序並使用 Visual Studio 2012 或更高版本?如果是這樣,您必須使用項目文件中的“AfterCompile”設置來對應用程序進行簽名,否則最終會導致雜湊不匹配。
請參閱此 stackoverflow 文章: SignTool Not Signing ClickOnce App Using SHA256, Only Uses SHA1
哪些連結到 Robin 的優秀部落格解決方案: http ://robindotnet.wordpress.com/2013/04/14/windows-8-and-clickonce-the-definitive-answer-revisited/
我仍在使用 Visual Studio 2015、每個建構配置的應用程序配置轉換、TFS 並使用不同的發布分支。經過大量研究,在我開始使用發布嚮導按鈕之前,我無法找到解決此問題的解決方案。
如果您使用的是 VS2015,請先嘗試使用“發布嚮導…”按鈕而不是“立即發布”按鈕進行發布。顯然,發布嚮導按鈕會在應用配置轉換發生後更新清單文件。