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

マルチユーザ設定を有効にする #689

Merged
merged 1 commit into from
Dec 11, 2018

Conversation

berryzplus
Copy link
Contributor

exe.iniのデフォルト値を変更します。

このファイルはインストーラのテンプレートとして使われるファイルなので、変更によるインストーラへの影響はないと考えられます。

変更を適用すると、このファイルを Debug にコピーするだけで、
インストール済みの SAKURA editor の設定を流用することができるようになります。

設定の意味については、変更対象のiniに書かれているコメントを参照してください。

@ds14050
Copy link
Contributor

ds14050 commented Dec 9, 2018

「インストール済みの SAKURA editor の設定」は熟成された秘伝のタレのようなものなので、ぽっとダウンロードしてきた sakura.exe や、テキトーにビルドした sakura.exe に破壊されてはダメージが大きすぎます。

なので、マルチユーザー設定を有効に変更された resource/sakura.exe.ini がどのようにユーザーに露出されるのか、または露出することがないのかだけを知っておきたいです。

なんとなく「露出することはない」し、インストーラがユーザーの選択に応じて書き換えるので「値の違いにも意味がない」気はしています。

@berryzplus
Copy link
Contributor Author

なんとなく「露出することはない」し、インストーラがユーザーの選択に応じて書き換えるので「値の違いにも意味がない」気はしています。

そうです。

いまは sakura.exe.ini がなかった場合に選択される設定が入ってるのでそれを変えたいです。
現状だと、ファイルをコピーしたうえで設定を編集しないといけなくて二度手間なので。

デバッグ中のini破壊事故が起こるのが怖いので、
この作業をビルドプロセスに組み込むことは考えていません。

@ds14050 ds14050 added this to the next release milestone Dec 10, 2018
@ds14050
Copy link
Contributor

ds14050 commented Dec 10, 2018

要は、コピーするだけで使える sakura.exe.ini が転がっていると便利、という目的の変更だと理解しています。

approve しようと思いましたが「このファイルはインストーラのテンプレートとして使われるファイルなので、変更によるインストーラへの影響はないと考えられます。」部分の検証が自分にはできません。

たとえば installer/sakura-common.iss に

Source: "sakura\sakura.exe.ini";       DestDir: "{app}";                  Components: main; Check: isMultiUserEnabled; Flags: onlyifdoesntexist;

という行がありますが、その意味がわからないのですが、条件と結果が不整合を起こしたりしないのでしょうか。

@berryzplus
Copy link
Contributor Author

要は、コピーするだけで使える sakura.exe.ini が転がっていると便利、という目的の変更だと理解しています。

その通りです。

approve しようと思いましたが「このファイルはインストーラのテンプレートとして使われるファイルなので、変更によるインストーラへの影響はないと考えられます。」部分の検証が自分にはできません。

これは「たぶん大丈夫」と考えていますが、正直いうと少し怪しいです。
で、ちょっと pascal のコード読んでみました・・・。

以下は指摘部分の引用をテキトーに改行したものです。

Source: "sakura\sakura.exe.ini"; // コピー元はこのファイルだよ
  DestDir: "{app}";              // 出力先はappだよ
  Components: main;              // このファイルはmainの一部だよ
  Check: isMultiUserEnabled;     // 指定された条件がみたされたらコピーするよ
  Flags: onlyifdoesntexist;      // 出力先にファイルがないときだけコピーするよ

iss は inoo setup のコードなので、記述言語は pascal script です。

言語の構文をよく分ってなくても、これがプログラム言語であるなら、
処理結果を予想することは容易です・・・。
ソースファイルに変更を加えたら、処理結果に影響しないはずがない。

しかし、このPRは処理結果には一切の影響を与えません。
何故なら・・・

MultiUser=1
UserRootFolder=0
UserSubFolder=sakura

インストーラがコピーするファイルは別のファイルだからです。

変更対象のファイルは sakura-editor/resources/sakura.exe.ini なので、使われていないファイルです。
未使用だから削除、でもいい気はしますが、せっかくこの場所にあるので有効に活用したいです。

Copy link
Contributor

@ds14050 ds14050 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

インストーラがコピーするファイルは別のファイルだからです。

そうだったんですね。

実は挙げた部分「Check: isMultiUserEnabled」がすでに resource/sakura.exe.ini の内容と整合していないではないかと不思議に思っていました。sakura/installer/sinst_src/sakura.exe.ini の内容とは整合していますね。

resource/sakura.exe.ini が sakura_rc.rc でインクルードされているということもないようなので approve してしまいます。

しかし resource/sakura.exe.ini は削除してしまって installer/sinst_src/sakura.exe.ini をコピーして利用すればいいのではありませんか。

@berryzplus
Copy link
Contributor Author

レビューありがとうございます。

しかし resource/sakura.exe.ini は削除してしまって installer/sinst_src/sakura.exe.ini をコピーして利用すればいいのではありませんか。

だって、インストーラの資材は階層が深いんですもの、めんどくさくてw

@ds14050
Copy link
Contributor

ds14050 commented Dec 10, 2018

そんな気はしました(笑)。この PR を見られたことで resource/sakura.exe.ini が消されかけても私は関知しませんよ。

@KENCHjp
Copy link
Member

KENCHjp commented Dec 10, 2018

めんどくさくてw

自分の守備範囲でないのを見るのは同じコード量でも心労度合い全然ちがいますよね(笑)
インストーラーをmakeするバッチ(build-installer.bat)を見ていただくと、どこにあるファイルをどうおぜん立てするかわかります。

@ds14050
Copy link
Contributor

ds14050 commented Dec 11, 2018

KENCHjp さん、共感してはだめですw berryzplus さんはコピペの手間を厭っています。

@berryzplus
Copy link
Contributor Author

これが適用されてもコピペまではするんですけどね。
適用前はコピペしたあとさらに編集しないといけないのが面倒だったんです。

@berryzplus
Copy link
Contributor Author

レビューありがとうございます。マージしてしまいます。
少なくとも設定保存機構の改善が終わるまで、消されないと嬉しいです。

@berryzplus berryzplus merged commit 8d84147 into sakura-editor:master Dec 11, 2018
@berryzplus berryzplus deleted the feature/update_exe_ini branch December 11, 2018 15:39
@ds14050
Copy link
Contributor

ds14050 commented Dec 11, 2018

適用前はコピペしたあとさらに編集しないといけないのが面倒だったんです。

installer/sinst_src/sakura.exe.ini の中身は最初からマルチユーザー設定が有効ですからコピペだけで済むはずです。フォルダを1階層余分に潜るのが面倒なのだとばかり。

HoppingTappy pushed a commit to HoppingTappy/sakura that referenced this pull request Jun 11, 2019
…xe_ini

マルチユーザ設定を有効にする
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

Successfully merging this pull request may close these issues.

3 participants