Visual Basicで作成したアプリを公開する前のチェック項目(自分用メモ)

Visual Basic で Desctop Form アプリを作成して、公開する前にチェックすることを自分なりにまとめておくことにします。

何か気づいたら、追記して行きます。

  • Formアイコン
  • アセンブリ名・ルート名前空間
  • ターゲットフレームワーク
  • アプリのアイコンを設定する
  • 署名の設定
  • アプリの説明サイトへのリンクを確認する
  • ビルドの区分を Release に変更する
  • ソリューションをリビルドする。

本記事は、Visual Studio2022 で実行したことを元に書いています。

Formアイコン

図1 Formのデザイン画面にて、プロパティを表示し、Iconを選択する

アセンブリ名・ルート名前空間

ソリューションエクスプローラーにて、目的のアプリを右クリックしてプロパティを表示する。アプリケーションタブを選択すると以下の画面になります。

図2 ソリューションエクスプローラー上で目的のアプリを右クリックしてプロパティを表示

アセンブリ名やルート空間名が、Application3などといいうデフォルト名になってしまっていたり、修正したい名称があった場合は、ここを先ず直します。

ところが、実際にビルドして実行した際、[Ctrl]+[Alt]+[Del] でタスクマネージャーで見ると、タスク名が変わっていない場合がありました。その場合は、AssemblyIno.vb の AssemblyTitle と AssemblyProduct を書き換えます。

図3 AssemblyInfo.vbの中のAssemblyTitleとAssemblyProductの名前を変更する。

ターゲットフレームワーク

図2の②にて、ターゲットフレームワークを確認。

メンテナンスが頻繁でない職場のPCなどで使うことを想定している場合、古いフレームワークを使いたいことがあると思います。以下の操作をすると、アプリが壊れる危険性もあると思うので、Projectをフォルダごと別の場所にコピーしてバックアップしてから行うことをお勧めします。

Framwork6 から Framework4 に変更したい場合などは選択肢に出てこないため、App.configのフレームワークバージョンを書き換えます。

図4 App.config 内のFrameworkのバージョンを書き換える

アプリのアイコンを設定する

図2で、アプリのアイコンを選択して設定する。

署名の設定

図5 ソリューションエクスプローラーにて、アプリを右クリックしてプロパティを表示した後、[署名]タブを選択

ClickOnce マニフェストとアセンブリに署名する。厳密な名前のキーファイルは予め作成して置く。

当サイトのアプリは、今のところ有料の署名は購入していません。MseeeeNさまのこちらの記事の[そしてオレオレ]の項目を参考に作りました。ですので、ダウンロードした直後は、Microsoft SmartScreenの確認が必要になります。

尚、私の環境では[ClickOnceマニフェストに署名する]の方はエラーが出なかったのに[アセンブリに署名する]の方は[存在しないトークンを参照しようとしました。]というエラーになりました。

C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys のフォルダのセキュリティを Everyone に対して許可することによって、設定できるようになりました。

アプリの説明サイトへのリンクを確認する

フォームに、リンクラベルを付加している場合、リンク先のURLなどを確認する。

Private Sub LinkLabel1_LinkClicked(sender As Object, e As LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
    'リンク先に移動したことにする
    LinkLabel1.LinkVisited = True
    'ブラウザで開く
    System.Diagnostics.Process.Start("https://・・・")
End Sub

ビルドの区分を Release に変更する

ソリューションをリビルドする。

あとは、ソリューションをリビルドして、動作確認。実行中に[Ctrl]+[Alt]+[Del] でタスクマネージャーでアプリ名の確認もする。

説明書を書いて、zipにまとめておく。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA