メモ帳の置き換えで既に起動しているMery.exeがあると新しく起動しない

  1. Windows11(x64) Version 24H2 / Mery(x64) Version 3.7.6

    いつもお世話になっております。
    Windows11のアプリ版メモ帳の操作性に慣れず、システム版メモ帳に戻しても新しいメモ帳を勧めてくるので、以下を参考にMery.exeのメモ帳の置き換えを行いました。

    https://www.haijin-boys.com/software/mery/mery-2-6-13

    しかし、既に起動しているMery.exeがあるとnotepad.exeを指定した場合に新しく起動することが出来ません。エラーも出ず何も起きません。
    スタートメニューなどのショートカット、ファイル名を指定して実行、コマンドプロンプト、いずれも同様です。

    現状の暫定回避策として、アプリ版とシステム版の両方のメモ帳をアンインストール、Mery.exeのあるディレクトリをPATHに追加、Mery.exeに対してnotepad.exeのシンボリックリンクを作成、Mery.exeをスタートアップに登録しタスクトレイに常駐すると、notepad.exeを指定した場合も複数起動できます。
    PATHを追加せず常駐していない場合、Mery.exeのDLL読み出しでエラーになります。

     |  enaka  |  返信
  2. ご愛用いただきありがとうございます。

    調査しましたところ、どうやら 2 つの問題が関係しているようです。

    (1) Mery の問題

    Ver 3.3.9 の仕様変更「- メモ帳の置き換え (/z) で複数のファイルパスに対応」を行いましたが、この変更によって、引数が指定されていない場合に新しいタブが作成されないようです。(Ver 3.3.8 までは正常に動作していました)

    (2) Windows 11 の問題

    Windows 11 以降、従来の方法ではメモ帳の置き換えができなくなったようです。(Notepad++ でも同様の話題があがっていました)

    > 現状の暫定回避策として、アプリ版とシステム版の両方のメモ帳をアンインストール、Mery.exeのあるディレクトリをPATHに追加、Mery.exeに対してnotepad.exeのシンボリックリンクを作成、Mery.exeをスタートアップに登録しタスクトレイに常駐すると、notepad.exeを指定した場合も複数起動できます。
    > PATHを追加せず常駐していない場合、Mery.exeのDLL読み出しでエラーになります。

    シンボリックリンクの仕様上、DLL へのパスは対応していないため、このような動作になっているのかもしれません。

    これは Windows の仕様による問題なので、根本的な解決にはマイクロソフトによる仕様変更が必要かもしれません。

    一応、レジストリの設定で多少の回避ができるかもしれない情報を以下に共有します。(試される際は、レジストリの変更にご注意ください)

    こちらの設定により、Windows 11 でも、ある程度メモ帳の置き換えができるようです (1 行目は従来と同じですが、2 行目のレジストリですね):

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%ProgramFiles%\Mery\Mery.exe\" /z" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /t REG_DWORD /v "UseFilter" /d 0 /f

    解除したい場合はこちら:

    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /t REG_DWORD /v "UseFilter" /d 1 /f

    ただし、これでもメモ帳を通常起動したときには完全には反映されないことがあるようです。

    さらに、Windows 11 の設定から「アプリ > アプリの詳細設定 > アプリ実行エイリアス」に進み、「メモ帳」のエイリアスをオフにします。

    …でも、完全ではなく、これでもしつこくメモ帳が起動することがあります。

    「Windows 11 の新しいメモ帳をアンインストールすると良い」という情報も見かけますが、まだ試せていないため、現時点では一応のご参考までにお伝えします。

    以上の状況から、メモ帳置き換え機能が将来的に使えなくなる可能性があり、Mery でもこの機能自体を廃止する方向を検討する必要があるかもしれませんね。

     |  Kuro  |  返信
  3. 迅速な調査と回答ありがとうございます。

    > (1) Mery の問題

    Mery.exeをVersion 3.3.8に戻すと多重起動できることを確認しました。
    こちらは仕様変更なので修正はされないのでしょうか。

    > (2) Windows 11 の問題

    以下のレジストリ登録により、システム版とアプリ版の両方をインストールしアプリ実行エイリアスが有効の状態でも、Windows11 24H2でメモ帳をMery.exeに置き換えることができることを確認しました。

    ついでにファイル名を指定して実行からMeryをパス名無しで実行できるようにしました。今のregコマンドはダブルクォートをエスケープして囲んだりしなくてもいいみたいです。

    echo off

    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /f
    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\0" /v "Debugger" /f
    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\1" /v "Debugger" /f
    reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\2" /v "Debugger" /f

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /t REG_SZ /v "Debugger" /d "%ProgramFiles%\Mery\Mery.exe /z" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /t REG_DWORD /v "UseFilter" /d 0 /f

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\0" /t REG_SZ /v "Debugger" /d "%ProgramFiles%\Mery\Mery.exe /z" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\0" /t REG_DWORD /v "UseFilter" /d 0 /f

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\1" /t REG_SZ /v "Debugger" /d "%ProgramFiles%\Mery\Mery.exe /z" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\1" /t REG_DWORD /v "UseFilter" /d 0 /f

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\2" /t REG_SZ /v "Debugger" /d "%ProgramFiles%\Mery\Mery.exe /z" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe\2" /t REG_DWORD /v "UseFilter" /d 0 /f

    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Mery.exe" /t REG_SZ /d "%ProgramFiles%\Mery\Mery.exe" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Mery.exe" /t REG_SZ /v "Path" /d "%ProgramFiles%\Mery" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad.exe" /t REG_SZ /d "%ProgramFiles%\Mery\Mery.exe" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad.exe" /t REG_SZ /v "Path" /d "%ProgramFiles%\Mery" /f

    reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Mery.exe" /t REG_SZ /d "%ProgramFiles%\Mery\Mery.exe" /f
    reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Mery.exe" /t REG_SZ /v "Path" /d "%ProgramFiles%\Mery" /f
    reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad.exe" /t REG_SZ /d "%ProgramFiles%\Mery\Mery.exe" /f
    reg add "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\notepad.exe" /t REG_SZ /v "Path" /d "%ProgramFiles%\Mery" /f

    > 以上の状況から、メモ帳置き換え機能が将来的に使えなくなる可能性があり、Mery でもこの機能自体を廃止する方向を検討する必要があるかもしれませんね。

    Meryが古いOSで動く間は残してほしいです。
    Microsoftにはアプリ実行エイリアスをユーザーが自由に定義できるようにして欲しいものです。

     |  enaka  |  返信
  4. 情報ありがとうございます。

    さっそくいただいたバッチを試してみたのですが、残念ながら私の環境 (Windows 11 24H2) ではうまくいきませんでした。

    コマンドプロンプトからnotepad.exeや、C:\Windows\notepad.exeを直接実行すると Mery に置き換えられるのですが、テキストファイルをダブルクリックしたり、スタートメニューからメモ帳を起動したりすると、やはり新しいメモ帳がしぶとく現れますね…。

    私の環境でうまくいった手順としては、前回お伝えした以下のレジストリ設定でした:

    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%ProgramFiles%\Mery\Mery.exe\" /z" /f
    reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /t REG_DWORD /v "UseFilter" /d 0 /f
    

    これに加え、少々勇気が必要ですが、「新しいメモ帳をアンインストールする」という方法です。

    これでテキストファイルをダブルクリックしても Mery が起動するようになりました。

    ちなみに、notepad.exe\0notepad.exe\1notepad.exe\2 のレジストリ変更は必要ありませんでした。

    また、Windows 11 の設定からメモ帳のエイリアスをオフにする方法は効果がありませんでした。

    > Meryが古いOSで動く間は残してほしいです。

    なるほど… Windows 11 以降でメモ帳置き換えができなくなるなら、Mery での置き換え機能も廃止しようかと考えていましたが、まだ対応可能かもしれませんね。

    ただ、これらの手順が正しいかどうかは分からないため、何か不具合が出る可能性もあります。

    Windows 11 に関する具体的な案内は控えますが、サポート外の機能として、自己責任でご利用いただくかたちでひとまず機能は残す方向にしましょうか。

    > Mery.exeをVersion 3.3.8に戻すと多重起動できることを確認しました。
    > こちらは仕様変更なので修正はされないのでしょうか。

    機能を残す方向であれば、この件も修正を検討したいと思います。

    > Microsoftにはアプリ実行エイリアスをユーザーが自由に定義できるようにして欲しいものです。

    本当にそうですね。メモ帳もそうですが、個人的には最近、Windows のメールアプリが自動的に Outlook に置き換わってしまう点にも悩まされています。

    何度戻してもいつの間にか Outlook に変わってしまって厄介です。

    少し脱線しましたが、Ver 3.3.9 以降の問題については、次のバージョンで対応できるよう調査を進めますので、少々お待ちくださいね。

     |  Kuro  |  返信
  5. > 機能を残す方向であれば、この件も修正を検討したいと思います。

    よろしくお願いいたします。本件はクローズさせていただきます。

    > 何度戻してもいつの間にか Outlook に変わってしまって厄介です。

    OneNoteの扱いとかMicrosofの迷走を感じます。画像を貼れるToDoリストに使っていたWordPadがなくなるので移行しようとしたのですが、記述内容削除してもデータ保持しているのかファイルサイズは減らないとかありえない挙動。

    > 少し脱線しましたが、Ver 3.3.9 以降の問題については、次のバージョンで対応できるよう調査を進めますので、少々お待ちくださいね。

    Ver3のリリース版を待ち続けている身からすれば全然平気です。
    会社では申請すればフリーのオンラインソフトも使用可なんですが、ベータ版は不可の規則なんですよ(不可の理由はまあ理解できる)。

     |  enaka  |  返信
スポンサーリンク