Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
norvallen opened this issue Apr 1, 2023 · 1 comment

Comments

@norvallen
Copy link

問題内容

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

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

再現手順

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

再現頻度

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

問題のカテゴリ

  • インストーラースクリプト(Inno Setup)の問題

環境情報

  • OS バージョン
    Windows 10 Home 64bit
  • サクラエディタバージョン
    2.4.2.6048
@berryzplus
Copy link
Contributor

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

ソースコードで言うと、この辺。

[Registry]
; registry for all user (Admin only)
Root: HKLM; Subkey: "SOFTWARE\Classes\*\shell\sakuraeditor"; ValueType: string; ValueName: ""; ValueData: "{cm:fileassocMenu}"; Tasks: fileassoc; Flags: uninsdeletekey; Check: CheckPrivilege(true)

こっちの書き方ならイケるよね?という話。

; registry for each user (non-Admin only)
Root: HKCU; Subkey: "SOFTWARE\Classes\*\shell\sakuraeditor"; ValueType: string; ValueName: ""; ValueData: "{cm:fileassocMenu}"; Tasks: fileassoc; Flags: uninsdeletekey; Check: CheckPrivilege(false)

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants