Discordがインストール、アップデート不可になった場合の対応

chocolateyでDiscordをインストールしていたのですが、
chocolatey upgrade all -yを実行した場合に、
エラーが発生してしまい、Discordは起動しなくなってしまうという
問題が発生しました。

やったこと

  1. choco uninstall discord -yを実行
  2. タスクマネージャからDiscord.exeを強制終了
  3. C:\Users\UserName\AppData\Local\Discordを削除
  4. 公式からインストーラをダウンロードしてインストール

やったこと(当時の手順)

まずは、chocolatey uninstall discord -yを実行しました。
しかし、これもアンインストーラが行方不明というエラーにより失敗…

次に、公式サイトからインストーラを入手して実行。
これもエラーで失敗。

エラーログによると、C:\Users\UserName\AppData\Local\Discord
配下にあるdllがアクセス不可でエラーになっている様子。

そこで、C:\Users\UserName\AppData\Local\Discord
削除を試みますが、なぜかDiscord.exeが動いているため、削除できません。

そのため、タスクマネージャでDiscord.exeを強制終了させました。

その後、C:\Users\UserName\AppData\Local\Discordを削除して
インストーラを再実行した結果、正常にインストールが行われました。

(このため、アンインストール時のログなども消失)

反省

  • エラー発生時のログやキャプチャを失念していた。
  • chocolateyでDiscordをインストールしてはいけない。
  • Discordに限らず、自動アップデートが実装されているものは、chocolateyでインストールするべきではないかもしれない。

C#問題集をGitBookにまとめてます

こんにちは。

先日、C#の問題を投稿していましたが、良い機会なのでGitBookでまとめることにしました。

https://223n.gitbook.io/csl/

この問題集は、自分がC#の勉強をする際につまづいたり、ほかの方に教えていた際に困っていたところなどをメモしていたのを問題集にしています。

なるべく細かい解説を入れるようにしていますが、誤っていたらGitHubのリポジトリにIssueを送っていただければと思います。

今後もよろしくお願いします。

(練習問題)StringBuilderでの文字列生成

問題

次の仕様で出力されるソースコードとなるように、選択肢から4つのコードを選び正しい順番に並べなさい。

仕様

  • 1行目に文字列「あいうえお」、2行目に「かきくけこ」を出力するための文字列を生成します。
  • 1行目と2行目は、改行で区切られます。

選択肢

  • sb.Append("/l");
  • sb.Append("かきくけこ");
  • sb.Append("/t");
  • sb.AppendLine();
  • sb.Append("あいうえお");
  • sb.Append(String.Empty);
  • var sb = new StringBuilder();

(練習問題)パフォーマンス・カウンタ

問題

次のソースコードは、パフォーマンスカウンタを作成するCreateCountersメソッドのソースコードです。

なお、左端の数字は参考のために追加した行数です。

11行目にCounterAがWindowsパフォーマンス・モニタ(PerfMon)で使用できるように適切なコードを1つ選択しなさい。

ソースコード

01 void CreateCounters() {
02     if (!PerformanceCounterCategory.Exists("Contoso")) {
03         var counters = new CounterCreationDataCollection();
04         var ccdCounterA = new CounterCreationData{
05             CounterName = "CounterA",
06             CounterType = PerformanceCounterType.SampleFraction;
07         };
08         counters.Add(ccdCounterA);
09         var ccdCounterB = new CounterCreationData{
10             CounterName = "CounterB";
11
12         };
13         counters.Add(ccdCounterB);
14         PerformanceCounterCategory.Create("Contoso", "Help string", PerformanceCounterCategoryType.MultiInstance, counters);
15     }
16 }

選択肢

  • A. CounterType = PerformanceCounterType.RawBase;
  • B. CounterType = PerformanceCounterType.AverageBase;
  • C. CounterType = PerformanceCounterType.SampleBase;
  • D. CounterType = PerformanceCounterType.CounterMultiBase;

(練習問題)GACに登録する方法

問題

あなたは、複数のアプリケーションで使用されるアセンブリを開発しています。

グローバル・アセンブリ・キャッシュ(GAC)にアセンブリをインストールする方法として正しいものを2つ選びなさい。

選択肢

A. アセンブリ登録ツール(regasm.exe)を使用してアセンブリを登録し、GACにアセンブリをコピーする。

B. ストロング名ツール(sn.exe)を使用してGACにアセンブリをコピーする。

C. Microsoft登録サーバー(regsvr32.exe)を使用してGACにアセンブリを追加する。

D. グローバル・アセンブリ・キャッシュ・ツール(gacutil.exe)を使用してGACにアセンブリを追加する。

E. Windowsインストーラー2.0を使用してGACにアセンブリを追加する。

(練習問題)適切なアクセス修飾子

問題

あなたは、Carというクラスを開発しています。

Carクラスには、GetStatusメソッドというメソッドが含まれています。

GetStatusメソッドが、Carクラスから派生する任意のクラスからは使用できず、Carクラス内でのみ使用できる必要があります。

GetStatusメソッドに適切なアクセス修飾子を1つ選びなさい

選択肢

A. public

B. internal

C. private

D. protected internal

E. protected

(練習問題)分岐処理

問題

次の仕様を満たすソースコードを完成させるため、 [ A ] から [ D ] に適切なものを選択しなさい。

また、 [ A ] から [ D ] で、同じ選択肢を選択することもできます。

仕様

  • GetResponseメソッドは、char型のパラメータを受け取り、string型を返すメソッドです。
  • 検索が成功した場合は、対応した文字列を返します。
  • 検索に失敗した場合は、「invalid choice」を返します。

ソースコード

public string GetResponse(char letter) {
    string response;
    [ A ] (letter) {
        [ B ] 'a':
            response = "alpha";
            break;
        [ C ] 'm':
            response = "mike";
            break;
        [ D ]:
            response = "invalid choice";
            break;
    }
    return response;
}

選択肢

  • switch
  • if
  • case
  • else
  • default

新方式のe-Taxでつまづく

新年明けました。今年もよろしくお願いします。

さて、今回ですがe-Taxで確定申告をしようとしたのですが、どうにもマイナンバーによる新方式での提出が何故かできないという困ったトラブルに巻き込まれたので、とりあえず提出までできたのでその流れをメモがてら書きたいと思います。

国税庁 確定申告書等作成コーナー

さて、作成を行うのですが、まずは「作成開始」をクリックします。

国税庁 確定申告書等作成コーナー 作成コーナートップ

今回は、マイナンバーカードでの提出なので、「e-Taxで提出する」をクリックします。

税務署への提出方法の選択1

次に、「マイナンバーカード方式により提出する」をクリックします。

税務署への提出方法の選択2

次に事前準備を聞かれますが、まだセットアップがされていない場合には、ここでインストーラをダウンロードしてインストールします。

e-Taxのご利用のための事前準備を行います1

下にある「利用規約に同意して次へ」をクリックします。

e-Taxのご利用のための事前準備を行います2

次に、「マイナンバーカードの読み取り」をクリックします。

マイナンバーカードによる認証を行います

そうすると、利用者証明用パスワード(数字4桁)が求められるので、入力して「OK」をクリックします。

個人番号カード ログイン

まだマイナンバーカードと利用者識別番号が紐づいていないので、利用者識別番号と暗証番号を入力して「関連付け」をクリックします。

マイナンバーカード方式の利用開始

次に、再度マイナンバーカードの情報読み取りが発生しますので、「マイナンバーカードの読み取り」をクリックします。

利用者識別番号の関連付け1

すると、先ほどとは異なりWeb側で「券面事項入力補助用パスワード(4桁)」を求められるので、入力して「OK」をクリックします。

利用者識別番号の関連付け2

しかし、正しいパスワードを入力してもエラーメッセージが表示されてしまい、関連付けが行えません。このことをマイナンバー、e-taxに問い合わせをしますが、解決しませんでした。

失敗メッセージ

マイナンバーカード側は、市役所で確認してもらいましたが異常なしで、念のためパスワードをすべてリセットしてもらいましたが、ここの券面次項入力補助だけうまくいきません。

そこで、最終手段として案内されたのが「去年までと同じ方式による提出」でした。

(去年までの方式でできるのかよ…)

税務署への提出方法の選択3

事前確認まで戻り、「e-Taxで提出する」を選びます。
そして、最下部にある「税理士の方が代理送信を行う場合はこちら」をクリックします。

税務署への提出方法の選択4

事前準備は完了しているはずなので「利用規約に同意して次へ」をクリックします。

e-Taxのご利用のための事前準備を行います3
e-Taxのご利用のための事前準備を行います4

次に、利用者識別番号を持っているかどうかを聞かれるので「はい」をクリックします。

利用者識別番号有無の確認

暗証番号が分かるか聞かれるので「はい」をクリックします。

登録情報の確認1

「利用者識別番号」と「暗証番号」を入力して「次へ」をクリックします。

登録情報の確認2

そのまま「OK」をクリックします。

検索完了

検索結果が表示されるので、内容を確認します。

登録情報は次のとおりです1
登録情報は次のとおりです2

誤っていれば「訂正・変更」をクリックして修正します。正しいことを確認したら「申告書等を作成する」をクリックします。

作成する申告書等の選択

あとは、いつも通り確定申告を行い、最後にマイナンバーカードで送信すればOKです。

ただ、まだ問題があります。それは「メッセージボックス」で詳細が開けない点です。

メッセージボックス一覧

e-Tax側のサポートに、他に関連付けをする方法がないか確認したところ、税務署で関連付けを行う方法があるとのことでした。
ただ、事前に準備されているかどうかを税務署に問い合わせてから行くようにとのことです。

一応は、これで確定申告は完了したのですが、来年以降もこの方式でできるかどうかが分からないので、少し不安です。

総務省の電子申請で思う

アマチュア無線技士を取得したので、先日総務省の電波関連の電子申請をマイナンバーカードで行いました。

総務省 電波利用 電子申請・届出システム

というのも、Liteと呼ばれるアマチュア無線専用のシステムもあるのですが、「申請してからIDと仮パスワードの到達までに1ヶ月ほど時間がかかります」というふざけた仕様なので、せっかくマイナンバーカードを持っているということで、通常版を使用しました。

ただ、Liteとの違いとして通常版だと「運賃着払いによる郵送」を依頼する項目がありません。
もしかしたら、別途問合せをすればお願いできるのかもしれませんが、恐らく項目が用意していないので、対応してくれない気がします・・・。

さて、通常版での手順の流れを簡単に説明すると、
1.【申請者】専用アプリをダウンロード・インストール
2.【申請者】専用アプリで電子申請を作成
3.【申請者】専用アプリで電子申請に署名、送信
4.【総務省】システムから電子申請の到達メール
5.【総務省】受付処理(内容の簡単な不備などを確認?)
5.【総務省】システムから電子納付(Pay-easy)の連絡メール
6.【申請者】電子納付(Pay-easy)
7.【総務省】審査処理
8.【総務省】審査完了
9.【申請者】総合通信局に免許状を取りに行く

この流れにもありますが、電子申請到達の連絡、電子納付依頼の連絡、不備の連絡などはメールで連絡がありますが、審査完了時の連絡はありません。

そう、何故か審査完了時にはありません。
自分で毎回ブラウザでシステムにアクセスして、申請状態を確認しないといけません。
「審査完了時ぐらいメール送ってよ」と思う次第です。

申請状況を審査完了に変更したことをトリガーにメールを送るだけの簡単なお仕事だと思うのですが、なぜか連絡してくれません。

(どうして総務省はこういうのが多いのでしょうか)

また、今回の場合は、申請日を含めて平日3日程度で審査が完了した訳ですが、他のページなどを見てみると1ヶ月ぐらい時間がかかるとあるので、恐らく業務量や技適マーク無しの従来品での申請などで違うのかなとも思いますが、まさか年内に来るとは思っていなかったので、少しびっくりしています。

ちなみにコールサインはJS2GQG(再割当て)を頂きました。

WordPress 5.0にUpdateしました

ということで、WordPressのバージョンを5.0にアップデートしました。

更新ページ

今のところは、特に不具合などは無いですが、
気になる点とすればエディタが英語のままな点だけでしょうか・・・

追記(2018/12/15):いつのまにやら日本語になっていました。

後は、ごくまれに入力を確定した文字がどっかに消えて、
何か別の文字を入力すると突然復活するという点は、おそらくバグ・・・?

編集ページ

とりあえず、様子を見ながら使っていきたいと思います。

※注記:バックアップはたいせつにね!

追記(2018/12/15):もうv5.0.1ですってよ、奥さん。