[FAQ]有効な Win32 アプリケーションではありませんを回避
よく、有効な Win32 アプリケーションではありません が発生するアプリの動かし方を質問される方がいるのですが、面倒なので、まとめ記事を書きます。
『~.exe は有効な Win32 アプリケーションではありません』がでる仕組み
まず、仕組みから。
最近は VS2010 でコンパイルするとすべてのアプリケーションで発生します。
回避方法
1.KDWの強制リンク機能を使う
アプリケーションを直接書き換え可能で SafeDllSearchMode を有効なままセキュリティを高めておきたい場合。(EzKDRegにチェックを入れると再起動後無効になります)
system32 へ kernel32 の動的設定を行います。
KDWのバージョンが上がったら、同じ手順を実行して再起動すればアップグレードできます。
ターゲットのプログラムの強制リンクのkernelXP と実行可能にチェックを入れて書き換えます。
これで実行できます。
2.改造カーネルをインストール
アプリケーションを直接書き換えられなくて SafeDllSearchMode を有効にしておきたい場合有効です。
Windows 2000 Kernel32 改造計画【BM】
インストールする言語だけ間違えないようにしてください。
一度入れてしまえば、他に同様のアプリがあっても設定が不要です。
システムを書き換えるのに抵抗がなければ一番有効な方法です。
動かしてみたソフト
K-Shogi v2.800
STUDIO-K K-Shogi (フリーの将棋ソフト)
SoundEngine Free Installer
SoundEngine Free 本体
RadioLine Free Installer
RadioLine Free
Comments