← ishizakahiroshi.com
設計判断 2026-08-05

Microsoft Store でアプリ名が4パターン全滅したので、npm と crates.io の名前も全部取り直します

4 つのうち 4 つが埋まった名札の並びと、1 枚だけ空いた枠

npm と crates.io と GitHub で先に押さえた名前が、Microsoft Store では取れませんでした。大文字にしてもスペースを入れても弾かれ、試した 4 表記が全滅しています。表示名を Remote Audio に変えたところで手が止まり、結局 npm と crates.io の名前まで全部取り直すことにしました。分かれ目は技術的な難しさではなく、まだ使っている人が 1 人もいないことでした。

Qiita で読む →

この記事のテーマ

Microsoft Store のアプリ名は 1 つしか存在できません。予約画面で Check availability を押すだけの簡単な操作ですが、そこで audioremote / AudioRemote / audio remote / Audio Remote の 4 表記が全部「既に使われています」になりました。Store を検索しても該当アプリは 1 件も出てきません。これは公式ドキュメントに書かれているとおりで、他の開発者が予約だけして未提出という状態です。表記をずらして回避する発想はここでは通じないので、語順を変えて Remote Audio にしました。

問題はその後です。表示名を 1 つ変えるだけのつもりが、GitHub のリポジトリ名も実行ファイル名も Web UI の表示も動きました。それでも npm と crates.io のパッケージ名、%APPDATA% 配下の設定パス、winget の PackageIdentifier は audioremote のまま残り、表示名と識別子が割れた状態になります。一般論では、名前は返せず設定パスを変えれば相手のトークンが消えるので、ここは据え置くのが正解です。ただ v0.1.0 を出したのは 5 日前で、実質の利用者はまだ自分だけでした。守るべき互換性が無いところで分裂を抱え込むのは面倒を先送りしているだけなので、v0.2 で npm と crates.io も remoteaudio へ取り直します。winget については「初回 PR が open のうちが最後の機会」だと思っていたのですが、公開後に確認したらその PR はマージ待ちではなくバリデーションで止まっていました(マニフェストの置き場所にバージョンフォルダが無かった)。締切だと思っていたものは最初から存在せず、PR は閉じて v0.2.0 で出し直します。記事の後半では、この Remote Audio が何をするツールなのかも紹介しています。

記事の要約
記事全体の要約です。
試した 4 表記がすべて予約済みで弾かれた流れの図
試した 4 表記は、すべて同じ 1 か所で止まりました。
同じ操作が既存ユーザーの有無で逆になることを示した図
同じ操作が、使っている人の有無で「やってはいけないこと」と「今しかできないこと」に反転します。

アプリの画面

名前の話が中心の記事ですが、その名前が付いている本体はこれです。ゲスト側はブラウザだけ、ホスト側は窓を持たず通知領域に常駐します。

ゲスト側で開く Remote Audio の Web UI
ゲスト側。上がマスター音量、下が再生デバイスの一覧で、緑の丸が今の既定です。行をタップすると Console / Multimedia / Communications がまとめて切り替わります。
ホスト側の通知領域アイコンの右クリックメニュー
ホスト側。「共有 URL(接続用トークンを含む)をコピー」がゲストへの受け渡し口です。トークンを含むことを文言に書いてあります。