sakura-editor / sakura

SAKURA Editor (Japanese text editor for MS Windows)
https://sakura-editor.github.io/
Other
1.23k stars 162 forks source link

管理者権限非保持ユーザがインストーラーを使用するとエラーが発生する #1919

Open norvallen opened 1 year ago

norvallen commented 1 year ago

問題内容

管理者権限を保たないユーザがインストーラーを起動しインストールを進めると、途中でレジストリへの書き込みエラーが発生する

sakura-common.iss の[Registry]セクション L287以降、行末部分がCheck: CheckPrivilige(false)となっているのに、 行頭のRootがHKLMとなっている部分をHKCUに変更すると解消する HKEY_LOCAL_MACHINEにはAdministratorsグループのユーザしか書き込みできないため

再現手順

  1. Administratorsグループに属しないユーザーを作成
  2. 作成したユーザーでインストーラーを起動しインストールを続行する

再現頻度

管理者権限を保たないユーザがインストールを進めると必ず発生する

問題のカテゴリ

環境情報

berryzplus commented 1 year ago

誰かが対応できるように情報共有。

ソースコードで言うと、この辺。 https://github.com/sakura-editor/sakura/blob/9e8fa57da5823fc394a10dd666bc30b36a4b9167/installer/sakura-common.iss#L251-L253

こっちの書き方ならイケるよね?という話。 https://github.com/sakura-editor/sakura/blob/9e8fa57da5823fc394a10dd666bc30b36a4b9167/installer/sakura-common.iss#L287-L288

HKCU(HKEY_CURRENT_USER)が4か所。 HKLM(HKEY_LOCAL_MACHINE)が44か所。

HKLMをHKCUに全置換してやれば このissueで報告された不具合は解決します。