0031. ClickOnce - 憑證延展工具Self-Cert - Clickonce certificate expired need to extend clickonce certificate.

C#學習筆記 - ClickOnce

環境

Visual Studio 2010 ~ 2017 - Windows Form  

必需條件 安裝 .Net FrameWork 3.5 
解決問題:

1. ClickOnce 憑證過期問題

可能對您

造成的影響:

1. 部署新版本的WinForm程式時,所有使用者將會【停止更新】

2. 無法部署最新版本WinForm程式

工具位置

 連結  ※ ^^~ Contributor : Keith Sparkjoy
本篇分為二部分:
一、 起源 - ClickOnce 憑證為何容易過期的原因
二、 介紹工具 - Self-Cert 延展ClickOnce憑證的方法

一、 起源 - ClickOnce 憑證為何容易過期的原因


1. 當我們使用ClcikOncec 發行後 Visual Studio會預設幫我們建立【為期一年】的測試憑證,如下圖:

※Visual自動建立的憑證,如右邊黑框我們自行按下建立測試憑證(R)... 相同

2. 在一年後,我們在繼續發行新版本的ClickOnce 就會出現下面提示: SignTool Error: No certificates were found that met all the given criteria.

※也許想到建立新的憑證,繼續發行。 但目前用該憑證的User將會面臨需要【移除】->【安裝新版程式】,否則憑證將會不相容,造成錯誤

3. 因此最好的辦法就是在建立一個初始憑證的時候,給予【長時間】的憑證

 


二、 介紹工具 - Self-Cert 延展ClickOnce憑證的方法


Step 1:連結到此下載 Self-Cert程式  ※致謝: Keith Sparkjoy

Step 2: 得到SelfCert.exe 檔案

Step 3: 

Valid from  憑證起始時間,建議現在日期
Valid to  憑證到期時間,建議100年後
Save to PFX file 產生以上述時間為基準的ClickOnce使用的憑證 .PFX

Step 4: 建立完成,會有Success 提示

Step 5: 再將剛剛產生的100年憑證,【從檔案選取(I)...】裡面,加入進去

Step 6: ClickOnce 即可再繼續發行,且100年內 不會面臨要求User換憑證問題