概要
Windows 10にPostgreSQL 13.3-2 をインストールしようとしてハマったお話です。普通にインストーラーをクリックしただけで「There has been an error. Error running C:\WINDOWS\System32\icacls "C:\Users...」のようなダイアログが出てインストールが中断して進めなくなってしまいました。管理者として実行してもかわりません。
再現手順
- AzureADの組織アカウントでWindows 10にログイン。
- PostgreSQL 13.3-2をダウンロード。
- postgresql-13.3-2-windows-x64.exeをダブルクリック。
- 「There has been an error. Error running C:\WINDOWS\System32\icacls "C:\Users...」のようなダイアログが出てインストール中断。文字化けしていてよくわかりません。
原因
/grantとか出ているので、AzureADのユーザのアクセス権が原因なのか、日本語名のユーザ名が原因なのか。詳しい人おしえてください。
回避方法(自己流)
英語名のローカルユーザを作成して管理者権限を与え、そのユーザでインストーラーを実行します。ローカルユーザを作ってログインするのは、けっこう難しい(マイクロソフトさんはローカルユーザを作らせたくない?)ので、その手順を載せておきます。
手順
-
このユーザのサインイン情報がありません をクリックします。ここでマイクロソフトアカウントを作らせにきますが、その手にはのりません。
-
Microsoft アカウントを持たないユーザを追加する をクリックします。ダメ押しがきますが、固い意志でふりきります。
-
Windows からサインアウトします。
-
他のユーザをクリックします。
-
ユーザ名とパスワードを入れてログインします。ローカルユーザでログインする際のユーザ名は、.\tom のように、ユーザ名の先頭に .\ をつける必要があります。
-
ローカルユーザでログインできたらインストール再開です。
-
postgresql-13.3-2-windows-x64.exeをダブルクリックします。