DOBON.NETプログラミング道掲示板

No35476 の記事


■35476 / )  ファイルとして配置したマニフェストを優先したい
□投稿者/ ぺんたごん 一般人(6回)-(2023/07/20(Thu) 16:15:00)
  • アイコン環境/言語:[Windows 10 .NET 4.6.2] 
    分類:[.NET] 

    ごぶさたしてます。

    タイトル通りなんですが、経緯としては
    他社製ゆえにバイナリをいじれないWinForms使ったexeがあり、
    こちらはプラグインとしてアセンブリdllを作ってる状況です。

    このdllでもWinFormsで画面を出すようになってますが、
    そこにはWPF製のコントロールを配置してます。
    高DPI環境で動かすと、この画面が表示されるタイミングで
    親(exe)も子(dll)もフォームサイズが急に小さくなります。
    exeが高DPI対応してない(文字がぼやけてる)からだと思いますが、
    似た構成の実験exe+実験dllでも同じ現象となりました。

    (実験exeで)埋め込みマニフェストのdpiAwareをtrueにすると
    当然正しく動きますが、そうではない状態で
    diAwareをtrueにした〇〇.exe.manifestを
    exeと同じ場所に配置しても効いていない状態です。

    既にexeにマニフェストが埋め込まれている場合は外部マニフェストファイルは無視されるようですが、
    exeをいじらずにファイルの方を優先させる手段はあるのでしょうか。
    あるいは、exeのマニフェストを(リビルドせずバイナリ操作で)差し替えるツールなどはあるのでしょうか。

    ※exeのファイルプロパティの互換性タブで高DPI対応できるのは知ってますが、
     セットアップ端末全てで実施が必要なので最終手段です

    よろしくおねがいします。
違反を報告
返信 削除キー/


Mode/  Pass/


- Child Tree -