ClickOne 解決VS釋出問題——“因為某項未生成,所以無法釋出”(ClickOnce簽名過期問題)
先到網上看看,搜尋其他人的痛苦經歷。看了幾篇,同樣沒合適的解決方法。
看來,自力更生了。開啟專案屬性,反覆檢視,跟本錯誤比較接近的主題應該是“簽名”和“安全性”了。但“安全性”中,看不出改動和需要修改的地方;再看“簽名”,反覆比較,發現竟然有個到期日期是8月份的,已經過期!如圖所示,選擇“建立測試證書”,再填寫密碼並確認。這樣,到期日期就延長到2009-9-16了。於是,再次釋出,成功完成。
但是,不要高興過早了!電話來了,以前安裝使用的軟體,線上更新後,顯示出錯,無法使用了!看來,上面這種方法,只能作為重新發佈一個安裝地址使用,而不能在原來位置上升級;也就是要使用者也進行一次徹底更新,解除安裝後重裝。
還是得找一個更適合的方法,於是有了以下的解決方法:
(1)下載此處提供的檔案,解壓後將它複製到C:\下,為使用做準備。
(2)將你的專案資料夾中的簽名檔案(.pfx)複製到C:\下,為使用做準備。
(3)點選:開始--執行,輸入
c:\pfx_renew old.pfx new.pfx \"CN=new\" aaa
回車執行。上述命令中,假設你複製到C盤下的證書檔名為old.pfx,它的密碼為aaa;執行後,同樣在C盤下,生成新證書檔案new.pfx,它的密碼也是aaa。這樣,把這個new.pfx複製到專案資料夾中,在visual studio 下的專案屬性中,新增該證書檔案,你的有效期限就又再延長5年了,並且與以前的認證相容。
(4)按正常方式,進行專案的升級釋出。
(5)注意,上述的證書更新命令,本人在Windows 2000下通過。此外,在該命令的“CN=...內容中,即是證書匯入後的持有者和頒佈者,可以選擇如CN=a_PC\a。
完成後,以前安裝的老使用者,就能實現正常升級使用了。