[FAQ]有効な Win32 アプリケーションではありませんを回避

よく、有効な Win32 アプリケーションではありません が発生するアプリの動かし方を質問される方がいるのですが、面倒なので、まとめ記事を書きます。

『~.exe は有効な Win32 アプリケーションではありません』がでる仕組み
まず、仕組みから。

最近は VS2010 でコンパイルするとすべてのアプリケーションで発生します。


回避方法

1.KDWの強制リンク機能を使う

アプリケーションを直接書き換え可能で SafeDllSearchMode を有効なままセキュリティを高めておきたい場合。(EzKDRegにチェックを入れると再起動後無効になります)

sef8
system32 へ kernel32 の動的設定を行います。
KDWのバージョンが上がったら、同じ手順を実行して再起動すればアップグレードできます。

sef6
ターゲットのプログラムの強制リンクのkernelXP と実行可能にチェックを入れて書き換えます。

これで実行できます。

2.改造カーネルをインストール

アプリケーションを直接書き換えられなくて SafeDllSearchMode を有効にしておきたい場合有効です。

Windows 2000 Kernel32 改造計画【BM】

インストールする言語だけ間違えないようにしてください。
一度入れてしまえば、他に同様のアプリがあっても設定が不要です。
システムを書き換えるのに抵抗がなければ一番有効な方法です。

動かしてみたソフト
sef4
K-Shogi v2.800
STUDIO-K K-Shogi (フリーの将棋ソフト)

sef
SoundEngine Free Installer

sef3
SoundEngine Free 本体

sef5
RadioLine Free Installer

sef7
RadioLine Free

SoundEngine Software

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です