首頁

目前文章總數:157 篇

  

最後更新:2024年 12月 07日

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

日期:2018年 10月 01日

標籤: C# Asp.NET Framework ClickOnce Windows Forms Self-Cert

摘要:ClickOnce


環境: Visual Studio 2017 C#
必須條件: 安裝 .Net FrameWork 3.5
解決問題: 解決 ClickOnce 憑證過期問題
可能對您造成的影響:1. 部署新版本的WinForm程式時,所有使用者將會【停止更新】
          2.無法部署最新版本WinForm程式
工具位置:連結 ※ ^^~ Contributor : Keith Sparkjoy
基本介紹:本篇分為2大部分。
第一部分:起源 - ClickOnce 憑證為何容易過期的原因
第二部分:介紹工具 - Self-Cert 延展ClickOnce憑證的方法






第一部分:起源 - ClickOnce 憑證為何容易過期的原因

Step 1: 解釋憑證過期的原因

當我們使用ClcikOncec 發行後 Visual Studio會預設幫我們建立【為期一年】的測試憑證,如下圖:
※Visual自動建立的憑證,如右邊黑框我們自行按下建立測試憑證(R)… 相同


Step 2: 解釋憑證過期的原因 - 當過了時間後

在一年後,我們在繼續發行新版本的ClickOnce 就會出現下面提示: SignTool Error: No certificates were found that met all the given criteria.
※也許想到建立新的憑證,繼續發行。 但目前用該憑證的User將會面臨需要【移除】->【安裝新版程式】,否則憑證將會不相容,造成錯誤


Step 3: 本篇文章的解決方案

就是在建立一個初始憑證的時候,給予【長時間】的憑證



第二部分:介紹工具 - Self-Cert 延展ClickOnce憑證的方法

Step 1:介紹下載工具 ※致謝: Keith Sparkjoy

連結到此下載 Self-Cert程式


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