84
バグと修正: Mac App Store のアンインストールの面倒

Mac App Store (MAS) から購入したアプリをアンインストールする場合、特に Snow Leopard をまだ実行している場合は、予期しない問題に直面する可能性があります。

アンインストールの難しさは、全く別の問題から始まりました。MASでの購入は2つの異なるアカウントから行われていたのです。ほとんどは自分のアカウントで購入していましたが、いくつかは妻のアカウントで購入していました。そのため、妻のアカウントで購入したアプリのアップデートがリリースされた時、私が自分のアカウントにログインしているにもかかわらず、アップデートを受けるためにログインを切り替える必要がありました。そしてその逆もまた然りでした。そのため、アカウントの切り替えが頻繁に必要になり、イライラさせられる状況になっていました。

最終的に、妻のアカウントで購入したアプリをアンインストールし、自分のアカウントから再ダウンロードすることで問題を解決することにしました。問題となったアプリは無料か低額だったので、同じアプリに二重にお金を払わなければならない可能性については心配していませんでした。

最初のステップは、妻のアカウントからアプリを削除することでした。まだSnow Leopardが動作しているMac Proでこれを行うには、各アプリのアイコンをアプリケーションフォルダからゴミ箱にドラッグし、ゴミ箱を空にしました(管理者パスワードを要求された場合は入力しました)。次に、これらのアプリの重複コピーがドライブから削除されていることを確認しました。

Mac App Storeに戻ってみると、この手動アンインストールの結果は一貫していませんでした。場合によっては、意図したとおりに動作したように見え、アプリが「購入済み」リストに「インストール済み」として表示されなくなりました。しかし、別の場合には、アプリが予期せず「インストール済み」として表示され続けました。この違いの原因は未だにわかりません。

このメッセージは誤りです。アプリはアンインストールされており、Mac App Storeから購入されたものです。

さらに深刻なのは、「インストール済み」と表示されたままのアプリについて、何を試みてもステータスが変わらなかったことです。その結果、MASはどちらのアカウントからもこれらのアプリの再購入を許可しませんでした。

「インストール済み」から「インストール」に切り替わったアプリでも、必ずしも成功とは限らない。あるケースでは、アプリの「インストール」ボタンをクリックすると、「このアプリはMac App Storeから購入されていません」という(誤った)エラーメッセージがポップアップ表示された。「購入」ボタンをクリックしても、購入は失敗に終わった。

ついに、MASに削除したアプリのステータスを正しく更新させる方法を見つけました。以下のターミナルコマンドを使って、Mac OS XのLaunch Servicesキャッシュを削除しました。

/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user

これで、どちらのアカウントからでも、削除したアプリをすべて再インストールできるようになりました。ただし、LaunchServicesのキャッシュを破棄すると、いくつかの悪影響が出る可能性があるので注意してください。いくつかの種類のドキュメントが間違ったアプリで開かれるという問題がありました。Finderの「常にこのアプリで開く」コマンドを使って修正しました。

OS X Lionをお使いの場合は、状況ははるかに簡単です。Launchpadからアプリをアンインストールします。これにより、アプリはLaunchpadの表示から削除されるだけでなく、ドライブからも完全に消去されます。そうです。アプリはゴミ箱に移動されるだけでなく、即座に削除されます。この操作を行うと、アプリを再インストールできるようになります。別のアカウントからでも再インストール可能です。ターミナルコマンドやその他の回避策は必要ありません。少なくとも私の場合はそうでした。

削除したアプリの痕跡を完全に消去するのに役立つサードパーティ製のユーティリティ(AppZapperやAppDeleteなど)もありますが、この特定のタスクにはこれらのツールは必要ないし、役立つとも思えません。

MAS 購入のトラブルを最小限に抑えるための私の基本的な推奨事項は、Lion を実行し、Launchpad からアプリを削除し、1 つのアカウントからのみアプリを購入することです。

さらなる謎:あるケース (マインスイーパー!) では、妻のアカウントで購入したアプリが、自分のアカウントにログインしているときでも [購入済み] に表示されます。

妻のアカウントで購入した別のケース(Chopper 2)では、私のアカウントにログインしてもアプリが表示されません。Mac App Storeアプリで妻のアカウントにログインすると表示されます。

どちらのアプリも、現在アクティブなアカウントに関係なく、アップデートが利用可能になると「アップデート」セクションに表示されます。そして、どちらの場合も、実際にアップデートを入手するには、購入アカウントに切り替える必要があります。

解決策:両方のアカウントでマインスイーパーを購入した可能性があります(正確には思い出せません)。そのため、両方のアカウントで「購入済み」と表示されています。ただし、現在インストールされているコピーは1つのアカウントにのみ割り当てられており、アップデートが可能なのはそのアカウントのみです。片方のアカウントからアンインストールし、もう片方のアカウントから再インストールすることで、この切り替えが可能です。