★今日の課題★
Visual Studio 2022 の署名が切れました。
Visual studio 2022はMicrosoftが無償提供している開発環境です。
筆者も昨年の今頃、2019⇒2022に乗り換えて快調に使ってきました。
ビルドできない
いつも通りVisual Studioを使い、C#で開発中のプログラムを実行(ビルド)しましたが、エラーが出ました。
F5キーで実行したのが問題かと思ってメニューバーから選択して実行しても同じでした。
エラーウインドウを見ると下記のように書いてあります。
署名中にエラーが発生しました。 bin\x64\Debug\app.publish\AmpiTa.exe の署名に失敗しました。Sign Tool Error. The signer’s certificate is not valid for signing. Sign Tool Error. An error occurred while attempting to sign: bin\x64\Debug\app.publish\AmpiTa.exe
エラーメッセージ
署名した覚えはないが….
わざわざ署名をした記憶はありませんが、インストール時にいろいろと同意はしていますので、どこかの段階で署名が付いたと思われます。
今回は商標名を書き換え、バージョン(リビジョン)を1つ足して編集を終えようとビルドしたときの出来事でしたので、プロパティ画面が開いていました。
そのプロパティ画面には偶然にも『署名』の文字があり、たまたま目に入ってきました。幸運です。
プロパティ画面の開き方をおさらいしておきます。
メニューバーの『プロジェクト』⇒『×××のプロパティ』で開くことができます。
ソリューションエクスプローラーからも開く事ができます。
プロパティにある『署名』を開くと『ClickOnce マニフェストに署名する(M)』にチェックマークが入っており、その下の証明書を見ると『有効期限』が『2023/01/29 19:47:38』と書いてあります。下図でいうところの四角で囲んだところです。
署名のupdate
お金がかかるのかどうかわかりませんでしたが、ソフト自体は無償なので『たぶん大丈夫』と思って先に進みました。
先述のプロパティ画面にある『テスト証明書の作成』をクリックすると下図『テスト証明書の作成』のポップアップ画面が出てきます。
ここには入力欄がいくつかあるのですが、何も考えずに、空欄のままで進める事にしました。
署名アルゴリズムは『sha256RSA』と『sha1RSA』の2種類あるのですが、これもどちらが良いのかわからないので変更していません。
OKボタンを押すと、署名がアップデートされました。
来年の1月31日までという点については納得ですが、時刻についてはよくわかりません。日本時間では無いようです。
365日分の署名になるので、数時間の差については気にしなくても良いかなと思いました。
いつか使えなくなる?
今回、1年間で署名の有効期限を迎え、簡単にアップデートできましたが、もしかすると、いずれは署名できなくなるのではないかと心配しています。
20年前のVisual Basic 6.0はいまだにWindows XP上で動かすことができていますが、どうしても古いソフトの手直しが必要なときに、古い開発環境が使えないとやっかいです。
新しい開発環境への乗り換えは続けていくと思いますが、古い環境も残せればよいなと思います。
おわりに
今回は、想定していない署名期限切れでしたが、何となくやってみたら上手くいってしまいました。
最後までお読みいただき、ありがとうございました。