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換憑證問題